Skip to main content

Toolboard MCU Addition and Cross-Board Configuration

This page covers adding toolboards, multi-MCU validation, and cross-board pin configuration after the main MCU has been successfully connected.

Adding a Toolboard MCU

Once the main MCU has been verified successfully, you can add toolboards:

  1. Reconnect the Toolboard: Reconnect the toolboard's data cable to the host machine or motherboard.
  2. Edit Configuration File: Add the toolboard configuration at the end of your printer.cfg file.
  3. Configure Toolboard ID: Add the corresponding ID in the new configuration section based on the toolboard's firmware type.
MCU Naming Instructions

Names like mcu1, mcu2 in the configuration are only used to temporarily distinguish different devices. You can fully customize these names, just ensure they are unique within the configuration file.

Configuration Format:

[mcu mcu1]
# Add the toolboard's ID configuration here

Configuration Examples:

[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

Important Notes:

  • Each MCU must use a unique ID; ensure the toolboard ID differs from the main MCU and any other devices.
  • MCU names can be fully customized, e.g., toolboard, extruder_mcu, etc., just ensure uniqueness within the configuration.
  • Always use a toolboard ID that has been verified as valid through the previous steps.
  • RS232 devices must be configured with baud: 250000 and restart_method: command parameters.
  • When configuring multiple toolboards, set different names for each device for easy identification.

Multi-Toolboard Cross-Board Pin Configuration

When using multiple toolboards, you may need to assign pins across boards. For example, using the heating port on the first toolboard while the temperature sensor is connected to the motherboard or a second toolboard.

Core Principle

In Klipper multi-MCU configuration, any pin in any configuration section can directly reference a pin on any defined MCU using the format <mcu_name>:<pin_number>, without requiring additional configuration. Klipper will automatically send commands to the corresponding MCU via the communication bus (CAN/USB/Serial).

Typical Scenario: Heater on Toolboard, Temperature Sensor on Motherboard

Assume the system configuration:

  • Main MCU: Runs the host Klipper firmware, with the temperature sensor connected to the motherboard.
  • toolboard1: Toolboard with the heater cartridge and extruder stepper connected.

Step 1: Define All MCUs

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

[mcu toolboard1]
canbus_uuid: e51d5c71a901

Step 2: Reference Pins Across Boards Directly in Configuration

[extruder]
# Stepper and heater use toolboard pins
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin>

# Temperature sensor uses motherboard pin
sensor_type: ATC Semitec 104GT-2
sensor_pin: <sensor_pin>

rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark
Pin Naming Rules
  • Toolboard pins follow the format <mcu_name>:<pin_number>, e.g., toolboard1:<heater_pin>.
  • Main MCU pins can be written using actual pin names directly.
  • Pins within the same configuration section can originate from different MCUs; Klipper handles cross-board communication automatically.

More Cross-Board Configuration Examples

Heater on the first toolboard, temperature sensor on the second toolboard:

[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:<sensor_pin>
Important Notes
  • When referencing pins across boards, ensure the corresponding MCU is correctly defined in the configuration file via [mcu <name>].
  • For optimal response speed and reliability, it is recommended to connect functionally related devices (e.g., heater cartridge and temperature sensor) on the same toolboard whenever possible.

Verify All MCU Connections

After adding a toolboard and restarting Klipper, re-verify the connection status of all MCUs:

  1. Open the Fluidd interface and click System in the left menu.
  2. Under Mcu Information, confirm that all MCUs are correctly recognized.
  3. Verify that both the main MCU and toolboard are shown as connected.
Loading...

Check Firmware Versions

After all MCUs are connected, verify firmware version compatibility:

  1. Open the Fluidd interface and click System in the left menu.
  2. Under Mcu Information, find the Version field.
  3. Confirm that the firmware version of all MCUs matches the Klipper version on the host.
Version Compatibility Notes
  • Except for pre-configured custom devices, all self-compiled firmware must match the Klipper version on the host.
  • The firmware version for FAST systems corresponds to the system version; the compiled Klipper firmware matches the system version.
  • Mismatched firmware versions can lead to functional anomalies, communication failures, or system instability.

Restore and Update Configuration File

After confirming all MCUs are connected, restore the original configuration file and update the MCU configuration:

  1. Delete the current temporary printer.cfg in the configuration file management interface.
  2. Rename the previously backed-up printer_Backup.cfg file to printer.cfg.
  3. Open the restored printer.cfg, find the original [mcu] section, and update it with the ID obtained in the previous steps.
  4. If configuring multiple toolboards, update the ID for each [mcu <name>] section one by one.
  5. After completing all MCU configuration updates, click SAVE & RESTART to save and restart Klipper.

USB Main MCU Example:

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

CAN Main MCU Example:

[mcu]
canbus_uuid: 688e89f0e401

RS232 Toolboard Example:

[mcu toolboard]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
Important Reminder
  • Ensure you use the correct ID actually found during this connection test.
  • RS232 toolboards must include the baud: 250000 and restart_method: command parameters.
  • After restoring the configuration, the original printer parameters (such as stepper motor, endstop settings, etc.) will remain unchanged.
Loading...