BTT U2C v2.1
Reflashed by us with latest v2 fw (works with canboot and klipper and can be found in our github repo).
BIGTREETECH U2C is a USB to CAN bus module, which can convert the USB port of Raspberry Pi to 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. Â
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 immersion gold process
- TYPE-C port ESD protection to prevent static electricity from damaging hardware
- Support firmware update for the master through SWD or hardware DFU
- Rich CAN interface
Precautions
- 12/24V and GND should not be reversed.
- When using CAN communication, you need to see which CAN node is used as a terminal. If it is a terminal, you must plug the jumper cap at the 120R position;
How to connect?
USB-C cable is included?
The original package from BTT don’t provide a USB cable but we will add and send a high speed 15cm USB-C cable to connect the U2C to your RPI along with this order.
What needs to be modified on the rpi?
ssh to the rpi
create and edit
sudo nano /etc/network/interfaces.d/can0
paste the following
auto can0 iface can0 can static bitrate 1000000 up ifconfig $IFACE txqueuelen 1024 pre-up ip link set can0 type can bitrate 1000000 pre-up ip link set can0 txqueuelen 1024
exit and save
CTRL+X Y Enter
Automatically activate CAN at power up
sudo wget https://upyun.pan.zxkxz.cn/shell/can-enable -O /usr/bin/can-enable > /dev/null 2>&1 && sudo chmod +x /usr/bin/can-enable || echo "The operation failed" sudo cat /etc/rc.local | grep "exit 0" > /dev/null || sudo sed -i '$a\exit 0' /etc/rc.local sudo sed -i '/^exit\ 0$/i \can-enable -d can0 -b 1000000 -t 1024' /etc/rc.local
now reboot rpi
sudo reboot
test the connection
ip -s link show can0
You should see a line like the below in the results
3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1024
Connection Diagram?
Place the red jumper on the 120r termination just like the picture above.
Connect 24 volts and ground to the green block terminals directy from the power supply, use ferrules.
If you have a EBB36 use the black 2×2 connector on the left and if you have a EBB42 use the white 2×2 connector.
Twist the CAN L and CAN H cables between the U2C and the can toolhead board.
Use at least 20AWG for 24v and GND.
Example:
Do I need to flash anything?
No. We sell all of our boards pre flashed.
I still want to flash the board how can I do it?
SSH to the RPI and run
sudo apt-get install cmake gcc-arm-none-eabi git dfu-util cd ~ git clone https://github.com/lab4450/u2c cd u2c
enter dfu mode: while pressing the BOOT button of the u2c connect the usb-c cable from the rpi.
Verify that the u2c is in dfu mode by running
dfu-util -l
You should see lines that contain Found DFU: [0483:df11]
Now, double check the u2c version you got by visually confirming the chip, if it’s Stm32f072 then you have a V1 and for stm32g0b1 is V2.
for u2c v1
sudo dfu-util -D candleLight_fw.bin -d 0483:df11 -a 0 -s 0x08000000:leave
for u2c v2 or v2.1
sudo dfu-util -D U2C_V2_STM32G0B1.bin -d 0483:df11 -a 0 -s 0x08000000:leave
disconnect the usb cable from the u2c and reconnect. it should now be working
What do you need to upgrade to a CAN setup?