Skip to main content

CAN Bridge

CAN bus is a serial communication protocol bus used for real-time applications, which can transmit signals using twisted-pair wires and is one of the most widely used field buses in the world. The CAN protocol is used for communication between various different components in a car, replacing expensive and bulky wiring harnesses. The robustness of the protocol has extended its use to other automation and industrial applications. Features of the CAN protocol include serial data communication with integrity, real-time support, transmission rates up to 1Mb/s, 11-bit addressing, and error detection capabilities. On 3D printers, CAN bus is used to reduce the number of wires connecting the print head to the mainboard. Originally requiring over ten wires, with CAN only four wires are needed, significantly reducing the number of wires and lowering the difficulty of wiring. This chapter briefly outlines the use of bridging CAN.

Tool board uses CAN to connect to the mainboard

  • Please note that the power line of the tool board is not connected to the CAN port but to the 12V-24V power line.

Flashing the mainboard firmware

  • Ensure that the firmware being burned onto the SUPER8 mainboard is the USB bridge CAN firmware configuration.

Searching for ID

  • If you need to use CAN, make sure your host machine has performed CAN configuration.

Note

Please ensure the mainboard is connected to the host machine before performing the following operations.

warning

Ensure the host machine's CAN network, the CAN rate of the bridge mainboard, and the CAN tool board's rate are all completely consistent.

  • Before searching for the CAN ID, please first connect to SSH.
  • Please note that you must log in to SSH via the network rather than via a serial port.
  • Ensure that the UTOC is connected or the mainboard with CAN bridge firmware is flashed, and ensure that the data cable connecting to the host machine has data transmission capability.
  • Now that you have successfully logged into the host machine, you can enter lsusb to search for devices, which will result in one of the following scenarios:
    • If entering lsusb prompts that the ls command is not found, you can enter the following command to install it:
      sudo apt-get install usbutils
    • If entering lsusb results in no response at all, this indicates a system issue, and we cannot help here. You need to replace the system or use a confirmed normal system.
    • If the information shown in the image below appears, please note that this is just a reference. You only need to confirm that 1d50:606f appears.
  • 1d50:606f belongs to the device you will be using this time.
  • If there are multiple 1d50:606f, it is recommended to exclude one to avoid affecting subsequent firmware burning and connection, such as if it is a FLY MINI PAD, then it is recommended to use the onboard UTOC instead of other CAN bridge devices.
  • If none appear, please check whether the data cable is properly connected and whether the firmware is correctly flashed.
Note

You can only search for CAN IDs when there is 1d50:606f.

Search CAN ID

  • Enter the following command to search for the ID:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • If an ID appears and the final Application: shows Klipper, it means this ID can be used directly.
  • If an ID appears and the final Application: shows CANBOOT or Katapult, it means the firmware needs to be flashed before it can be used.

CAN Problem Collection

Note
  • If the CAN ID cannot be found, refer to the documentation below.
  • CAN Problem Collection

Fill the CAN ID into the Configuration

  • For fluidd: {…}, click to find printer.cfg
  • For mainsail: Machine, click to find printer.cfg
  • Copy the queried UUID and fill it into the [mcu] node in the printer.cfg configuration under canbus_uuid:. After saving and restarting, the mainboard will connect. If Klipper prompts that the firmware needs to be updated or ADC errors occur, it means Klipper has connected to the mainboard.

  • If Application: shows Canboot, it cannot be configured in the configuration file. You need to flash the Klipper firmware before proceeding.

    dangerous

    Note: All IDs mentioned in the document are examples; each mainboard's ID is different. Please modify and fill in according to the actual obtained ID.

  • Below is a reference configuration:

    dangerous
    [mcu]
    canbus_uuid: <replace with the ID you just queried>
    • The following is a reference method for MCU ID configuration when there is one mainboard and one tool board.
    • If it is the mainboard ID, it must be [mcu] plus canbus_uuid: followed by the ID you searched for.
    • If it is a tool board, it must be [mcu tool board name] plus canbus_uuid: followed by the ID you searched for.
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -