Availability: In stock and ready to ship!

BTT U2C v2.1

Reflashed by us with latest v2 fw released mid january (works with canboot and klipper).

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.  


  1. Support CAN bus connection, long data transmission, strong anti-noise ability, strong real-time performance and high reliability
  2. The surface of the PCB adopts the immersion gold process
  3. TYPE-C port ESD protection to prevent static electricity from damaging hardware
  4. Support firmware update for the master through SWD or hardware DFU
  5. Rich CAN interface


  1. 12/24V and GND should not be reversed.
  2. 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 500000
 up ifconfig $IFACE txqueuelen 1024
 pre-up ip link set can0 type can bitrate 500000
 pre-up ip link set can0 txqueuelen 1024

exit and save


Automatically activate CAN at power up

sudo wget -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 500000 -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.




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
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

Customers also bought

Shopping Cart

Availability: In stock and ready to ship!



Check the CNC and CF products in here!