CAN Bridge
The CAN bus is a serial communication protocol bus used for real-time applications. It can use twisted-pair cables to transmit signals and is one of the most widely applied field buses 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 serial data communication, real-time support, a transmission rate of up to 1Mb/s, 11-bit addressing, and error detection capability. 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, significantly decreasing the number of wires and making wiring easier. This chapter only provides a brief overview of using 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 Gemini motherboard is
USB Bridge CAN Firmware Configuration
Search ID
CAN Configuration and ID Search
- If you need to use CAN, make sure your host computer has performed CAN configuration
Make sure the mainboard is connected to the host computer before proceeding with the following operations
Make sure the CAN network of the host computer, the CAN speed of the bridge mainboard, and the CAN tool board speed are completely consistent
Precautions Before Searching for Devices
- Before searching for CAN ID, please connect to SSH
- Please note that you need to log in to SSH via the network, not via the serial port
- Make sure you have connected the UTOC or have flashed the CAN bridge firmware on the mainboard, and ensure that the data line connected to the host computer has data transmission functionality
Search for Devices
- Now that you have successfully logged in to the host computer, you can enter
lsusb
to search for devices, and one of the following situations will occur- Entering
lsusb
prompts that thels
command is not found, then you can enter the following command to install the commandsudo apt-get install usbutils
- Entering
lsusb
has no response, this is a system issue, we cannot do anything about it, you need to change the system or use a confirmed normal system - The information in the image below appears, please note that this is just a reference. You only need to confirm that
1d50:606f
appears
- Entering
1d50:606f
belongs to the device you need to use this time- If there are multiple
1d50:606f
, it is recommended to exclude one, otherwise it will affect the subsequent burning and firmware connection. For example,FLY MINI PAD
is recommended to use the built-in UTOC instead of other CAN bridge devices - If not, please check by yourself whether the data cable is connected properly and whether the firmware is flashed correctly.
You can only search for CAN ID when there is 1d50:606f
Search for CAN ID
- Enter the following command to search for ID
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- FAST system uses the following command
python ~/klipper/scripts/canbus_query.py can0
- If an ID appears and the last
Application:
showsKlipper
, it means this ID can be used directly - If an ID appears and the last
Application:
showsCANBOOT
orKatapult
, it means that the firmware needs to be flashed before it can be used
CAN Problem Collection
- If you cannot find the CAN ID, please see the following document
- CAN Problem Collection
Fill in the CAN ID into the configuration
![]() |
![]() |
-
Copy the queried UUID and fill it into the
canbus_uuid:
in the[mcu]
node of theprinter.cfg
configuration. After saving and restarting, it can connect to the mainboard. If Klipper prompts that the firmware needs to be updated, ADC error, etc., it means that Klipper has already connected to the mainboard -
If
Application:
shows Canboot, it cannot be configured into the configuration, and you need to flash the Klipper firmware to proceeddangerousNote: All IDs mentioned in the document are examples. The actual ID of each mainboard is different. Please modify and fill in according to the actual ID obtained.
-
The following is a reference configuration
dangerous[mcu]
canbus_uuid: <Replace this with the ID you just queried>- The following is a reference configuration method for MCU ID in the case of one mainboard and one tool board
- If it is a mainboard ID, it must be
[mcu]
pluscanbus_uuid:
plus the ID you searched for - If it is a tool board, it must be
[mcu Tool Board Name]
pluscanbus_uuid:
plus the ID you searched for