Important Notes
- This tutorial is specifically designed to introduceTool BoardWiring and search ID, the related steps do not apply to the motherboard, please note the difference.
- If you are not using the tool panel, please ignore this tutorial.
Tool Board ID Read View
- USB ID retrieval
- Obtain CANBus UUID
- Please prepare a data cable with data transmission function; if it is particularly long, it is recommended to use a data cable with a ferrite core.
- Connect the tool board to the host computer via a USB data cable
Obtaining the Mainboard USB ID
Important Notes
When connecting or re-plugging the mainboard USB cable, please completely shut down the printer and disconnect the power supply first. Do not plug or unplug the cable while the printer is powered on.
- You must log in to the host machine via SSH to execute the search commands.
- Before proceeding, please confirm that the mainboard has been flashed with USB firmware and is connected to the host machine's USB port via a Type-C data cable.
- This tutorial is only for searching the mainboard USB ID and is not applicable for searching toolhead board IDs.
- For toolhead board devices, please refer to the USB or CAN ID acquisition tutorial in the corresponding product documentation.
Procedure
Searching for the USB Device ID
Log in to the host machine via SSH and run the following command to list all USB serial device IDs:
ls /dev/serial/by-id/*
Unusable IDs
After executing the command, please avoid using the following two types of IDs:
| ID Characteristic | Reason | Example |
|---|---|---|
usb-1a86_USB_Serial-if00-port0 | Default name for generic serial chips like CH340; cannot be used as the Klipper mainboard connection address | /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 |
Contains katapult | The device is in Katapult flashing mode; Klipper firmware needs to be flashed first | /dev/serial/by-id/usb-katapult_xxxxxxxxxxxx |
Search Results
Under normal circumstances, the terminal will display a device path similar to the image below. The ID in the image serves only as a format example.
No Available ID Found: Refer to the Firmware and Connection Troubleshooting Guide
If the command returns multiple available IDs, please identify the complete device path corresponding to your mainboard by checking the MCU model and comparing the device list before and after plugging/unplugging.
Filling the USB ID into the Configuration
Open printer.cfg in Fluidd or Mainsail:
Fluidd: Click the Loading... | Mainsail: Click "Machine" on the left, then open Loading... |
All device paths in this document are examples. The USB ID of each mainboard may differ. Please copy the exact path returned by the SSH command.
Locate the [mcu] configuration section and change the serial parameter to the complete device path you obtained:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
When using USB firmware, you should configure serial. Do not fill in canbus_uuid in the same [mcu] section simultaneously.
Refer to the image below for the configuration location:
| Fluidd Configuration Example Loading... | Mainsail Configuration Example Loading... |
After modification, click SAVE & RESTART in the top right corner to save the configuration and restart Klipper.
-
Before searching for the ID, use an XT30 data cable to connect the tool board to the UTOC or a motherboard flashed with the bridge firmware; below is the reference wiring diagram
-
Please note whether the DIP switches are set to the corresponding positions.
Loading...
Before starting, completely turn off the printer and disconnect the power supply, and also disconnect any USB connections that may power the CAN nodes. Do not plug or unplug wiring harnesses, adjust the terminal resistors, or touch terminals while the power is on.
The “power-off measurement” here does not mean disconnecting the CAN wires. During measurement, the CAN wires and all nodes on the bus should remain connected in their normal operating configuration; otherwise, what is measured may only represent a single node or a single terminating resistor, which cannot represent the entire CAN bus.
Set the multimeter to the resistance range, and measure the resistance between CAN-H and CAN-L:
| Reference Reading | Judgment and Handling |
|---|---|
approximately 60Ω Normal, usually indicating that there is one at each physical end of the bus. 120Ω Terminal resistor | |
Approximately 120Ω Usually only one termination resistor is active; please enable the termination resistor at the other physical end according to the product wiring diagram. | |
Approximately 40Ω Usually three terminal resistors are active; please disable the redundant terminal resistors according to the product wiring diagram. |
The above values are for reference only; multimeter accuracy, probe contact, and wiring harness condition can all cause measurement errors. The key to judgment is which range the reading is close to, as well as the trend of reading changes after adjusting the terminal resistor; it is not required to match the values in the table exactly.
CANBus UUID Acquisition
Preparation
- Toolboard Status: Ensure the toolboard has been flashed with
Klipper-canfirmware or is inKatapult-canmode - Important Note: This tutorial is only for searching toolboard IDs, not for mainboard IDs
- Connection Requirement: The toolboard must be connected to one of the following devices:
UTOCmodule- A mainboard flashed with
USB Bridge CANfirmware
- Power Requirement: Some mainboards cannot detect the toolboard when powered only through USB. Completely power off the machine first, then connect a supported
12V-24Vlow-voltage supply according to the mainboard documentation. Power it on again before searching for the toolboard ID - Final Connection: The above devices need to be connected to the host machine
CAN Network Configuration Requirements
- Default Configuration: This tutorial assumes the host machine has already configured the CAN network
- Fly Users: If using a Fly host running the Fly-FAST system, CAN is configured by default (1Mbps rate)
- First-time Use: Please be sure to read the tutorial below first: CAN Configuration Tutorial
Connecting via SSH
- Log in to SSH over the network (do not use serial login)
- Ensure the host machine is properly connected to the CAN network devices
Searching for CAN ID
- Search command for standard host machines
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- Search command for FLY host machines
python3 ~/klipper/scripts/canbus_query.py can0
Explanation of Search Results
- Note: The mainboard ID has already been configured into Klipper in previous documentation, so the mainboard's
CANIDcannot normally be found during a search - Quick Verification Method: If confirmation is needed, first disconnect the CAN connection cable between the mainboard and the toolboard, then re-run the search
- After executing the search command, the following situations may occur:
| Result Displayed | Status Description | Next Steps |
|---|---|---|
Application: Klipper | Device has Klipper firmware flashed | The ID can be used directly |
Application: CANBOOT or Katapult | Device is in Bootloader mode | Klipper firmware must be flashed before use |
Total 0 uuids found | No devices found | Please check the following issues: 1. Whether the CAN network configuration is correct 2. Whether the CAN baud rate is consistent (default 1Mbps) 3. Whether this ID is already in use in the configuration (if so, comment it out, save, power off, and restart) |
If a device ID is already configured in printer.cfg, it will not appear in the search results. To search again, please:
- Comment out that device ID in the configuration file
- Save the configuration and restart Klipper
- Power off and restart all devices
Configuring the CAN Device ID
1. Locate the Configuration File
Based on the web interface being used, find the printer.cfg configuration file:
Fluidd Loading... | Mainsail Loading... |
2. Add Device Configuration
Add the toolboard configuration to printer.cfg:
[mcu toolboard]
canbus_uuid: <fill in the queried ID here>
toolboardis the name of the toolboard; modify it according to the actual situation- For a mainboard ID, the configuration section should be
[mcu] - In normal configurations, the mainboard uses
[mcu], and the toolboard uses[mcu toolboard]
3. Save and Restart
- Click the SAVE & RESTART button in the top right corner
- The system will automatically save the configuration and restart Klipper
All IDs appearing in this documentation are examples only; the actual IDs differ from board to board. Please modify and fill in the ID based on what you actually obtain.