
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

Note
Radar function is not currently supported.
| 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) |
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.


WARNING


WARNING


WARNING
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.
Warning
Login to the host computer using tool such as MobaXterm or PuTTY via SSH, and execute the following command to open the firmware configuration tool.
cd ~/klipper
make menuconfig
The recommended mode is USB mode and the configuration is as follows.



Note
Serial communication is a reserved feature, support for it will be provided in future versions.
Complete the configuration shown in the reference image , then save the configuration and exit the configuration tool.
Note
If using Katapult, please refer to:
https://github.com/Arksine/katapult?tab=readme-ov-file#uploading-klipper
Waining

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.

After the device is in DFU mode, execute the following commands to compile and flash the program.
make flash FLASH_DEVICE=0483:df11
After the burning process is complete, it will display "File downloaded successfully".
Warning
Open your browser, enter the IP address of the host computer in the address bar, for example, my host computer's IP is 192.168.0.179, just enter it and press Enter.

Open the web interface of the host computer, and find "Machine" in the configuration options on the left sidebar. Click to open the printer.cfg file.

Click the DEVICES button in the upper right corner.

Note
If DEVICES cannot be found, you need to reinstall Mainsail.
After selecting the communication method, click refresh. Copy the ID by clicking the arrow, then paste it into the [mcu ToolHead] section of printer.cfg.

Click the save and restart button in the upper right corner.

2D,3D , SCH and config template file, please go to our github:
https://github.com/FYSETC/Catalyst.K_Kit