
Catalyst.K ToolHead is a compact Klipper toolboard with a footprint of only 47 mm × 44 mm, designed to be mounted close to the printhead or extruder. It is powered by an STM32G431CBT6 32‑bit MCU and supports multiple communication modes, including USB and CAN / RS‑232, which can be switched via an on‑board physical button.
The board integrates a TMC2209 stepper motor driver, an ADXL345 3‑axis accelerometer, multiple fan and temperature inputs, as well as BL‑Touch and hotend heater control. This greatly simplifies toolhead wiring, reduces cable bundle weight on moving parts, and improves overall reliability and serviceability of the printer.
| Item | Specification |
|---|---|
| Product name | Catalyst.K ToolHead |
| Board size | 47 mm × 44 mm |
| MCU | STM32G431CBT6, 32‑bit ARM Cortex‑M4 |
| Communication modes | USB, CAN, RS‑232 (selectable via on‑board button) |
| Input voltage | 24 V DC (max. 28 V) |
| On‑board power rails | 5 V @ 3 A, 3.3 V @ 0.8 A |
| Stepper driver | On‑board TMC2209, 24 V supply |
| Accelerometer | On‑board ADXL345 3‑axis accelerometer |
| Level‑shifted IO | 4× IO with voltage translators (selectable by pads) |
| Fan outputs | 4 digital fan outputs: 2×2‑wire (5V/24V jumper‑selectable), 1×3‑wire, 1× 4‑wire |
| Temperature inputs | 3× temperature sensor inputs |
| Probe interface | 1× BL‑Touch connector |
| Heater output | 1× hotend heater output, up to 2.5 A |
| On‑board buttons | BOOT0 button, RESET button |

IO.0: PC14
IO.1: PB13
IO.2: PB14
IO.3: PB15
FAN0_PWCTL: PB3
FAN0_PWM: PB10
FAN0_TACH: PB11
FAN1: PA2
FAN1_TACH: PA8
FAN2: PA4
FAN3: PA3
Heat: PC15
Thermistor (4.7k pull up): PB2
Thermistor (4.7k pull up): PB1
Thermistor (4.7k pull up): PB0
Thermistor next to TMC2209 (4.7k pull up) : PB12
Driver_EN: PB9
Driver_DIR: PB6
Driver_STEP: PB7
Driver_UART: PA15
Driver_DIAG: PA13
ADXL345
spi_bus: spi1
adxl345_cs_pin: PA0
adxl345_spi_software_sclk_pin: PA5
adxl345_spi_software_miso_pin: PA6
adxl345_spi_software_mosi_pin: PA7
USB_DM/CAN_RX: PA11
USB_DP/CAN_TX: PA12
Signal_PWM: PC13

| Connector | Pin | Default function | Altermate |
|---|---|---|---|
| Power Input | RS-232 (PA9,PA10) CANBUS (PA11,PA12) |
Power and communication input, RS-232 and CANBUS are optional, which can be switched via an on‑board physical button. | I/O |
| Fan0 | FAN0_PWR: PB3 FAN0_PWM:PB10 FAN0_TACH: PB11 |
Mosfet Output, For 4 pins Fan, voltage = 24V | |
| Fan1 | FAN1: PA2 FAN1_TACH: PA8 |
Mosfet Output, For 3 pins Fan, Default voltage = 24V | |
| Fan2 | PA4 | Mosfet Output, For 2 pins Fan, Default voltage = Depending on voltage selector. (Header voltage selector) |
|
| Fan3 | PA3 | Mosfet Output, For 2 pins Fan, Default voltage = Depending on voltage selector. (Header voltage selector) |
|
| IO.0 | PC14 | Digital Input, For endstop, Micro switch or Hall (Pad voltage selector) |
Digital Output |
| IO.1 | PB13 | Digital Input, For endstop, Micro switch or Hall (Pad voltage selector) |
Digital Output |
| IO.2 | PB14 | Digital Input, For endstop, Micro switch or Hall (Pad voltage selector) |
Digital Output |
| IO.3 | PB15 | Digital Input, For endstop, Micro switch or Hall (Pad voltage selector) |
Digital Output |
| TOUCH | PWM:PC13 Z-MIN:PB15 |
5V Digital Output, Digital Input, For Z probe, Proximity switch or Klicky, etc. (Pad voltage selector) |
Digital Input |
| T0 | PB2 | ADC input, 4.7K pull-up, temperature measure | Analog signal Input |
| T1 | PB1 | ADC input, 4.7K pull-up, temperature measure | Analog signal Input |
| T2 | PB0 | ADC input, 4.7K pull-up, temperature measure | Analog signal Input |
| HEAT | PC15 | Mosfet Output, Heating rod control, 2.5A Max | |
| MOTOR | For two-phase stepper motor,24V | ||
| USB1, USB3 | Connected to the CH334P HUB chip, up to 4 USB2.0 devices (USB/USB1/MCU/USB3) |
CANBUS/RS-232 communication can be achieved via the XH2.54-2*2 connector, while USB communication requires connection to the PH2.0-4P connector. Please refer to the following method for implementation.
To enable RS-232 communication, connect J1 (XH2.54-2*2 connector) and set SW3-Pin2 to OFF.

To enable CANBUS communication, connect J1 (XH2.54-2*2 connector), set SW3-Pin2 to ON, and simultaneously set SW3-Pin1 to OFF.

To enable USB communication, connect to J4 (XH2.54-2*2 connector) and set SW3-Pin1 to ON.

warning
Note: refer to the connection section, RS-232, USB, and CANBUS can be connected simultaneously. different communication methods can be switched using a DIP switch.
Fan2 , Fan3 can select the power supply voltage through the jumper cap.
As shown in the figure, the two pins on the left are connected together for 24V, and the two pins on the right are connected together for 5V.

NOTE
Please note that if these interfaces are used as outputs, the high-level voltage of the output is consistent with the voltage selected by the jumper. Please make sure that your peripherals can withstand the range. Generally speaking, only SSR in the accessories of 3D printers can withstand 9-36V control voltage.
Simply connect our motherboard (CATALYST.K) to the Raspberry Pi's header power port and USB port using a power cable and data cable (USB to Type-C), respectively, as shown in the diagram below. No additional power supply is required for the Raspberry Pi, as our motherboard provides 5V@6A power output—more than sufficient to ensure the Raspberry Pi operates normally.

CATALYST.K_Kit is a complete kit comprising the main board (CATALYST.K) and the tool board (Catalyst.K ToolHead). Three communication methods are supported between them: USB, RS-232, and CANBUS. After connecting these three data cables, set the DIP switch. For details, please refer to the RS-232 / CAN / USB selection section on the Catalyst.K ToolHead page.
After logging into the Raspberry Pi using an SSH tool, execute the following command to open the firmware configuration tool.
cd ~/klipper
make menuconfig
Catalyst.K ToolHead uses the no bootloader mode by default, and the configuration is as follows:




Before executing the following commands, you need to enter DFU mode before you can compile and burn the firmware. As shown in the figure above,
Use the command 'lsusb' to check if a DFU device is detected. If it appears, proceed with uploading the firmware. If not, repeat the previous steps.

NOTE
The device can only enter DFU mode when using USB communication.
After the device is in DFU mode, execute the following commands to compile and flash the program.
make flash FLASH_DEVICE=0483:df11
When uploading using Katapult, please refer to:
https://github.com/Arksine/katapult?tab=readme-ov-file#uploading-klipper
2D,3D , SCH and config template file, please go to our github:
https://github.com/FYSETC/Catalyst.K_Kit