BIGTREETECH KINGPRINTER-1030000104 U2C V1.0 Adapter Board User Manual
- June 3, 2024
- BIGTREETECH
Table of Contents
BIGTREETECH KINGPRINTER-1030000104 U2C V1.0 Adapter Board
Revision History
Version | Revision Description | Date |
---|---|---|
01.00 | First Draft | 2022/04/23 |
01.01 | Add the hardware setting of 2*USB-A port to communicate with the | |
motherboard using CAN bus (e.g. USB port of Octopus) | 2022/05/27 |
Product Introduction
BIGTREETECH U2C is a USB to CAN bus module, which can convert the USB port of
Raspberry Pi to the CAN bus, and connect 3D printing motherboard, BIGTREETECH
EBB35/36/42 CAN and other products through CAN bus. There are many different
forms of CAN interfaces on the board, which are helpful to connect to
different boards.
CAN bus has many advantages in the field of industrial control, so our company
has launched this USB to CAN module. The CAN bus has a long transmission
distance, and a large number of nodes can be mounted on it, so the
motherboard, EBB, and other expansion boards can be mounted on the same CAN
bus at the same time.
Product Features
- Support CAN bus connection, long data transmission, strong anti-noise ability, strong real-time performance and high reliability.
- The surface of the PCB adopts the ENIG process.
- The TYPE-C port is equipped with ESD protection to prevent static electricity from damaging the hardware.
- Support firmware update for the motherboard through SWD or hardware DFU.
- More than on CAN interface.
Product Dimensions
Peripheral Interface
Interface Description
CAN_IN: USB to CAN interface for connecting to Raspberry Pi.
CAN_OUT*: It is used to connect an interface without CAN transceiver but with
CAN function, such as connecting to the USB port of the motherboard, where the
pin connecting the USB port of the motherboard to the main controller must
have CAN function. E. g.:
CAN_OUT: Used to connect BIGTREETECH EBB CAN or other boards with CAN
transceivers.
Power: Power Supply.
USB-A Port
U2C v1.1 has 2 more “CAN transceiver + USB-A” than v1.0, which makes it convenient to connect the motherboard directly with USB data cable.
NOTE
-
USB GPIO of the motherboard needs to support CAN
feature(e.g.”PA11/PA12″ of Octopus) -
The signal protocol on the USB data cable of this connection mode is still the TTL level signal of MCU rather than the differential signal of CAN, so the anti-interference ability is not strong. Please avoid using too long data cable and avoid being close to places with strong signal interference.
The jumper of the Vbus in the figure is the power supply jumper of the CAN transceiver. When the USB of the motherboard cannot provide 5V power supply to U2C in reverse (e.g. Octopus), it is necessary to insert the jumper of the Vbus to use the 5V of U2C to supply power to the can transceiver. Vbus-1 corresponds to the lower USB-A port, and Vbus-2 corresponds to the upper USB-A port. The jumping of 120R corresponds to the terminal resistance of two CAN transceivers respectively.
Optional Wiring Diagram
Product Display
Firmware Description
Firmware Source Code
We use the open source CandleLight firmware https://github.com/candle-
usb/candleLight_fw
MCU Model: STM32F072C8
Firmware Update
After the module is completely powered off, press and hold the Boot button,
plug the Type-C data cable to power the module, enter the DFU mode, and use
the STM32CubeProgrammer software to update the firmware.
Klipper Configuration
Firmware Configuration Reference: https://www.klipper3d.org/CANBUS.html
-
Enter command in ssh terminal sudo nano /etc/network/interfaces.d/can0 and execute auto can0 iface can0 can static bitrate 250000 up ifconfig $IFACE txqueuelen 1024
Set the CANBus speed to 250K (Customizable, but must be the same as the speed set in the firmware CAN bus speed), save after modification (Ctrl + S) and exit (Ctrl + X), enter sudo reboot to restart the Raspberry Pi. -
Every device on CANBus generates a canbus_uuid based on the MCU’s UID, to find each microcontroller device ID, make sure the hardware is powered on and wired correctly, then run:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
-
If an uninitialized CAN device is detected, the above command will report the device’s canbus_uuid:
Found canbus_uuid=0e0d81e4210c -
If Klipper is already running and connected to this device, the canbus_uuid will not be reported, which is normal.
Precautions
- 12/24V and GND should be connected correctly.
- When using CAN communication, you need to see which CAN node is used as a terminal. If using a terminal, you must plug the jumper cap at the 120R position.
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>