Reheat A0

From iagent
Revision as of 17:49, 16 May 2026 by Elias (talk | contribs) (Add full Reheat A0 documentation from schematic: pinout, hardware connections, Klipper config, flashing instructions)
Jump to: navigation, search

Reheat is a 6 output heater board with temperature sensors and fans for multi material printing.

Reheat A0.png

Schematics

Features

  • RP2354B microcontroller (ARM Cortex-M33, 150 MHz)
  • 6x heater outputs (24 V, MOSFET-switched)
  • 6x fan outputs (24 V PWM) with tachometer inputs
  • 6x thermistor/temperature sensor inputs
    • Supports: NTC 10K, NTC 100K, PT100, PT1000, Type K thermocouple
    • Jumper-selectable per channel
  • 12x endstop inputs (5 V tolerant, TVS-protected)
    • ENDSTOP-12 supports a bidirectional signal (e.g. filament encoder)
  • USB-C interface (USB 2.0)
  • 24 V power input with onboard 5 V (3 A) and 3.3 V regulation
  • Overcurrent detection on fan bus

Pinout

GPIO Signal Connector
GPIO0 HEATER-1 J2
GPIO1 HEATER-2 J3
GPIO2 HEATER-3 J6
GPIO3 HEATER-4 J11
GPIO4 HEATER-5 J12
GPIO5 HEATER-6 J13
GPIO6 FAN-1 J34
GPIO7 FAN-2 J35
GPIO8 FAN-3 J36
GPIO9 FAN-4 J37
GPIO10 FAN-5 J38
GPIO11 FAN-6 J39
GPIO12 TACH-1 J34
GPIO13 TACH-2 J35
GPIO14 TACH-3 J36
GPIO15 TACH-4 J37
GPIO16 TACH-5 J38
GPIO17 TACH-6 J39
GPIO18 ENDSTOP-1 J14
GPIO19 ENDSTOP-2 J15
GPIO20 ENDSTOP-3 J16
GPIO21 ENDSTOP-4 J17
GPIO22 ENDSTOP-5 J18
GPIO23 ENDSTOP-6 J19
GPIO24 ENDSTOP-7 J20
GPIO25 ENDSTOP-8 J21
GPIO26 ENDSTOP-9 J22
GPIO27 ENDSTOP-10 J23
GPIO28 ENDSTOP-11 J24
GPIO29 ENDSTOP-12 J25
GPIO30 MUX-S0 Internal
GPIO31 MUX-S1 Internal
GPIO32 MUX-S2 Internal
GPIO33 PWM-GAIN Internal
GPIO34 PWM-OFFSET Internal
GPIO35 PWM-CURRENT Internal
GPIO36 EN-PULLUP Internal
GPIO37 ENDSTOP-12-DIR J25
GPIO38 FAN-OC (overcurrent) Internal
GPIO40 / ADC0 THERM-1 J27
GPIO41 / ADC1 THERM-2 J28
GPIO42 / ADC2 THERM-3 J29
GPIO43 / ADC3 THERM-4 J30
GPIO44 / ADC4 THERM-5 J31
GPIO45 / ADC5 THERM-6 J32
GPIO46 / ADC6 ADC (MUX output) Internal
GPIO47 / ADC7 CURRENT sense Internal

Hardware connections

Power

The board takes 24 V DC on a 4-pin connector (J33). A fuse (F1) and a 2 mΩ current-sense resistor (R98) protect the input. Onboard regulators provide +5 V (TPS54302 buck converter, 3 A) and +3.3 V (AMS1117-3.3, 1 A) for logic and sensor pull-ups.

Heaters

Six heater outputs use 2SK3019 N-channel MOSFETs driven from GPIO0–GPIO5. Each output has a 2-pin female connector and a flyback Schottky diode. The heater voltage is 24 V.

Fans

Six fan outputs (GPIO6–GPIO11) use N-channel MOSFETs with a 24 V supply. Each has a 3-pin connector (V+, GND, TACH). Tachometer signals are read on GPIO12–GPIO17. An LM393 comparator monitors the fan bus for overcurrent and signals FAN-OC on GPIO38.

Thermistors

Each thermistor channel has a 3-pin connector (J27–J32) with a jumper (JP1–JP6) to select the measurement mode. An analog MUX (CD4051) and op-amp signal conditioning chain feed the ADC inputs (GPIO40–GPIO45). The signal conditioning supports:

Sensor type Measurement method
NTC 10K Voltage divider with 4.7 K pull-up
NTC 100K Voltage divider with 4.7 K pull-up
PT100 1 mA constant current source (Kelvin connection)
PT1000 1 mA constant current source (Kelvin connection)
Type K thermocouple ×101 gain amplifier, buffered

Endstops

Twelve endstop inputs (J14–J25) each provide +5 V, signal, and GND on a 3-pin connector. Signals are level-shifted to 3.3 V and protected by SMF24A TVS diodes. ENDSTOP-12 (J25) additionally supports a bidirectional direction signal via a SN74LVC1T45 level translator, suitable for filament motion sensors or encoders.

Klipper configuration

The Reheat A0 connects to the host over USB and is configured as an MCU in Klipper. Find the serial path with ls /dev/serial/by-id/ and add to printer.cfg:

[mcu reheat]
serial: /dev/serial/by-id/usb-Klipper_rp2350_XXXXXXXXXXXX-if00

Heaters

[heater_generic heater1]
heater_pin: reheat:gpio0
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: reheat:gpio40
control: pid
pid_Kp: 22
pid_Ki: 1.08
pid_Kd: 114

[heater_generic heater2]
heater_pin: reheat:gpio1
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: reheat:gpio41
control: pid
pid_Kp: 22
pid_Ki: 1.08
pid_Kd: 114

Fans

[fan_generic fan1]
pin: reheat:gpio6

[fan_generic fan2]
pin: reheat:gpio7

Endstops

Endstop pins can be referenced in the relevant stepper sections:

[stepper_x]
endstop_pin: reheat:gpio18

Flashing Klipper

  1. Put the board in BOOTSEL mode: hold the BOOT button while plugging in USB (or hold BOOT, press RESET, then release BOOT).
  2. Build and flash from the Klipper source directory:
make menuconfig
# Processor model: rp2350
# Bootloader offset: No bootloader
# Communication interface: USBSERIAL
make
picotool load out/klipper.uf2 --force
picotool reboot

The board will reboot and appear as /dev/ttyACM0 (or similar).