Can bus on SKR SE BX V2

Basic Information:

Printer Model: BIQU BX
MCU / Printerboard: STM32H743 / SKR SE-BX V2.0
Host / SBC RPI 3B+

Describe your issue:

Hi, so on printer the biqu bx use board on print head this one is no longer available and mind broke this week so i will replace it by the hermit crab v2 can bus, but i start to check how configure the motherboard and on list dont find the right port, on drawing the CAN came from PB6/PB7

on klipper configurator this is the list

(X) CAN bus (on PB8/PB9)
( ) CAN bus (on PB5/PB6)
( ) CAN bus (on PB12/PB13)
( ) CAN bus (on PD0/PD1)
( ) CAN bus (on PB0/PB1)
( ) CAN bus (on PD12/PD13)
( ) CAN bus (on PC2/PC3)
( ) CAN bus (on PH13/PH14)

so how is the right config to use CAN on this board

thanks

1 Like

I don’t think there is one.

Normally, when a board designer specifies a CAN Bus port, they are going to the MCU’s pin mux definitions and selecting pins that have the CAN function.

When I look at the datasheet for the STM32H743, for PB6/PB7 I see:

There is “FDCAN2_TX” on PB6 but no corresponding CAN pin on PD7.

I think you need to contact BTT ask what’s going on here.

When I search the GitHub page for the BIQU-BX, there’s nothing regarding CAN Bus on there.

Sorry.

1 Like


Hmmmm, strange, I do not see it in the datasheet definition:


https://www.st.com/resource/en/datasheet/stm32h743vi.pdf

Stange.

Unfortunately, I’m not sure, I know how to change the firmware to make it working this way.

I don’t think your mainboard has a CAN transceiver.

https://www.aliexpress.us/item/3256807156372698.html?spm=a2g0o.productlist.main.6.6690inKIinKI6w&algo_pvid=24929321-308e-48cb-bcc1-478f9061495f&algo_exp_id=24929321-308e-48cb-bcc1-478f9061495f-5&pdp_ext_f={“order”%3A"98"%2C"eval"%3A"1"}&pdp_npi=4%40dis!USD!4.38!1.37!!!31.27!9.82!%40210318ec17539119870618997e9c5d!12000040344141122!sea!US!3884106183!X&curPageLogUid=lk8qdoDdkGjW&utparam-url=scene%3Asearch|query_from%3A

So even if your MCU can “speak” CAN it cannot directly connect to a CAN bus.

Best bet is to put a Bigtree U2C on your Pi and connect directly to the Hermit Crab instead of VIA the mainboard.

(I think CAN HAT is better in general, because there would be no USB or MCU at all)
(Like RPI → SPI → CAN: https://www.waveshare.com/wiki/RS485_CAN_HAT)
(Instead of RPI → USB → MCU → CAN)

assuming the OP has room for a hat.

The U2C is much smaller and can be mounted to a short usb extension if needed.

Also, by staying with Bigtree, if there are issues the 2 vendors can’t each blame the other.

EDIT much smaller → slightly smaller

Hi,

Thanks you, for your reply, so it comfirm what i see, on board V3 they make change they use PB5/PB6, so for me the best way i use the U2C
about the klipper configurator i need to change what to use the U2C?

The U2C attaches to the Pi. I think it is “plug and play” on systems running a recent kernal. Check the documentation from Bigtree.

The toolhead (hermit crab) then connects to the U2C directly. The mainboard MCU is no longer involved in communicating with the toolhead. No need to CAN pins on the mainboard.

You’ll need to find the UUID for the toolhead and put that into printer.cfg.

You’ll have to edit all the pin id’s for everything that connects to the toolhead MCU

1 Like

You’re missing the most important part:

Follow the instructions on how to set up CAN Bus communications using the excellent Esoterical instructions:

2 Likes

Hello,

So beford to receved the U2C board, i buy CAN HAT of waveshare to try with it

For the install the begining of Esoterical’s CANBus Guide

change the config.txt

and add

dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25,spimaxfrequency=2000000

if flash the head of hermit with DFU mode folow the manuel of BTT,

i check the 120 ohm on board and add jumper on hermit

but cant find the UUID with the right cmd

with ifconfig i see the can0 on list so now im stuck to find why i can’t find the uuid :confused:

1 Like

Did you do this step to verify baud rate?

yes i have that,

-BX:~ $ ip -s -d link show can0
4: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 128
link/can promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
can state ERROR-ACTIVE restart-ms 100
bitrate 1000000 sample-point 0.666
tq 166 prop-seg 1 phase-seg1 2 phase-seg2 2 sjw 1 brp 1
mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp_inc 1
clock 6000000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 0 0 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 parentbus spi parentdev spi0.0
RX: bytes packets errors dropped missed mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0

And you went through https://canbus.esoterical.online/troubleshooting/no_uuid.html?

Your CAN data wires go from the hat to the hermit crab? I don’t think with your configuration the mainboard is on the CAN network.

  • Make sure the board is indeed flashed with the correct firmware and settings, especially CAN pins and speed. Flash in bootloader (BOOT button on the board) mode using make flash FLASH_DEVICE=2e8a:0003. After setting the board into bootloader mode, verify with lsusb befor flashing.
  • Shutdown Klipper service
  • Reset or re-power the Hermit Crab board
  • Try again to obtain the ID
1 Like

Yes the CAN is connect to the CANHAT on RPI, and my motherborad also connect to the RPI in UART trough GPIO14/15, on BX the RPI is on screen

in my configuration with the CAN HAT in didn’t change something on mainboard the CAN is only use for the hermit

i will check the Troubleshooting

Hello,

So update find the problem the connection on hermit the cable is bad if i move it i loss the connection so now try to fix it to get printer ready and not loss the connection

also send it to BTT hope i get new cable