Difference between revisions of "Reheat A0"
(Add A0 errata) |
(Add JP1-6 pull-up note to thermistors section; add 1 mm pitch errata) |
||
| Line 149: | Line 149: | ||
| Type K thermocouple || ×101 gain amplifier, buffered | | Type K thermocouple || ×101 gain amplifier, buffered | ||
|} | |} | ||
| + | |||
| + | For NTC thermistor or PT1000 measurements, close jumpers JP1–JP6 to connect the 4.7 K pull-up resistors. With the jumpers closed, ADC0–ADC5 (GPIO40–GPIO45) can be used as standard thermistor inputs with a 4.7 K pull-up to 3.3 V, without the need for any additional signal conditioning. | ||
===Endstops=== | ===Endstops=== | ||
| Line 220: | Line 222: | ||
# RUN pin is hardwired to ground, preventing software reset. | # RUN pin is hardwired to ground, preventing software reset. | ||
# U11 and U15 (LMV321 op-amps in thermistor circuit) have V+ and V- supply pins reversed. | # U11 and U15 (LMV321 op-amps in thermistor circuit) have V+ and V- supply pins reversed. | ||
| + | # Pull-up resistor footprints (JP1–JP6) use a 1 mm pin pitch instead of the standard 2.54 mm. | ||
Revision as of 17:59, 16 May 2026
Reheat is a 6 output heater board with temperature sensors and fans for multi material printing.
Contents
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 |
For NTC thermistor or PT1000 measurements, close jumpers JP1–JP6 to connect the 4.7 K pull-up resistors. With the jumpers closed, ADC0–ADC5 (GPIO40–GPIO45) can be used as standard thermistor inputs with a 4.7 K pull-up to 3.3 V, without the need for any additional signal conditioning.
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
- Put the board in BOOTSEL mode: hold the BOOT button while plugging in USB (or hold BOOT, press RESET, then release BOOT).
- 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).
Errata
- DP/DM USB data lines are swapped.
- RUN pin is hardwired to ground, preventing software reset.
- U11 and U15 (LMV321 op-amps in thermistor circuit) have V+ and V- supply pins reversed.
- Pull-up resistor footprints (JP1–JP6) use a 1 mm pin pitch instead of the standard 2.54 mm.

