CAN Bridge
The CAN bus is a serial communication protocol bus used for real-time applications. It can use twisted pair to transmit signals and is one of the most widely used fieldbuses in the world. The CAN protocol is used for communication between various components in automobiles, replacing expensive and cumbersome wiring harnesses. The robustness of the protocol has extended its use to other automation and industrial applications. The characteristics of the CAN protocol include integrity of serial data communication, real-time support, a transmission rate of up to 1Mb/s, 11-bit addressing, and error detection capabilities. 3D printers use the CAN bus to reduce the number of wires connecting the print head to the motherboard. Originally requiring more than a dozen wires, using CAN reduces it to only four wires, greatly reducing the number of wires and wiring difficulty. This chapter only provides a brief overview of the use of CAN bridging.
Tool Board Connecting to Motherboard with CAN
-
Please note that the tool board power cord is not connected to the CAN port, but to the 12V-24v power line
-
Please note that the 120Ω jumper must be connected

Flash Motherboard Firmware
- Please ensure that the firmware burned on the D8 motherboard is
USB Bridge CAN Firmware Configuration
Search ID
CAN Configuration and ID Search
- If you need to use CAN, please ensure that your host computer has performed CAN configuration.
Please ensure that the mainboard is properly connected to the host computer before proceeding with the following operations.
Please ensure that the host computer's CAN network, the CAN rate of the bridge mainboard, and the CAN tool board rate are completely consistent.
Precautions Before Device Search
- Before searching for CAN IDs, please connect to SSH.
- Please note that you must ensure you are logging into SSH via the network rather than via serial port.
- Ensure that the UTOC is properly connected or the mainboard has been flashed with the CAN bridge firmware, and ensure that the data cable connecting to the host computer has data transmission capability.
Device Search
- Now that you have successfully logged into the host computer, you can enter
lsusb
to search for devices. This will result in one of the following scenarios:- If entering
lsusb
prompts that thels
command is not found, you can enter the following command to install the command:sudo apt-get install usbutils
- If entering
lsusb
results in no response, this indicates a system issue, and we are unable to assist. You need to change the system or use a confirmed normal system. - If the information shown below appears, please note that this is just a reference. You only need to confirm that
1d50:606f
appears.
- If entering
1d50:606f
belongs to the device you will be using. Ignore any subsequent prompts as system issues may cause it to display incompletely or not at all.- If there are multiple
1d50:606f
, it is recommended to exclude one to avoid affecting subsequent firmware burning and connection to the firmware. For example, if it isFLY MINI PAD
, it is recommended to use the onboard UTOC and not other CAN bridge devices. - If not, please check whether the data cable is properly connected and whether the firmware has been correctly flashed.
You can only proceed with searching for CAN IDs when 1d50:606f
is present.
CAN ID Search
- Enter the following command to perform an ID search:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- If the ID appears and the
Application:
at the end showsKlipper
, then this ID can be used directly. - If the ID appears and the
Application:
at the end showsCANBOOT
orKatapult
, then you need to flash the firmware to use it.
CAN Issue Collection
- If you cannot find the CAN ID, please refer to the documentation below.
- CAN Issue Collection
Fill in the CAN ID into the Configuration
-
Open the printer web interface, find
printer.cfg
under the configuration options on the left sidebar: for fluidd{...}
; for mainsailmachine
, click to enter, and you can findprinter.cfg
. -
Copy the queried UUID and fill it into the
[mcu]
section of thecanbus_uuid:
in theprinter.cfg
configuration. After saving and restarting, you can connect to the mainboard. If Klipper prompts that firmware needs to be updated, ADC errors, etc., it indicates that Klipper has already connected to the mainboard.dangerousNote: All IDs appearing in the document are examples. The actual ID for each mainboard is different. Please modify and fill in according to the actual obtained ID.