Hi,
I am struggling for a week now to get CAN Bus running on my Voron.
I am using an Octopus board and a Rpi 4 with mainsail installed and a BTT U2C V2.1 as a CAN Bridge. Also I want to use the SB2209 V1.0 as toolhead board
First I was installing klipper on my Octopus. With only the Octopus connected to the pi the connection could be established to the mcu and I was able to obtain the serial by the command ls /dev/serial/by-id.
I configured Klipper following the original configuration on the voron doc.
After that I connected the U2C board to the pi and the Octopus to the U2C’s USB.
For configuring the U2C I found several instructions pointing out to use either Candlelight firmware from a BTT fork or Klipper USB-to-CAN bus bridge.
Am I right that you have to use only one of the options?
So I was trying both ways but none of them worked for me.
Candlelight:
I was following these instructions on
Flashed Candlelight and changed the can interface to
auto can0
iface can0 can static
bitrate 500000
up ifconfig $IFACE txqueuelen 128
After rebooting everything I get the error that klipper is unable to connect to the mcu.
If I check the usb devices with sudo dmesg -w I can see the U2C when unplugging and replugging.
Klipper:
I configured klipper like the following:
Enable extra low-level configuration options: check
Communication interface: USB to CAN bus bridge (USB on PA11/PA12)
CAN bus interface: CAN bus (on PB8/PB9)
CAN bus speed: 500000
For the Can bus interface I tried also * CAN bus interface: CAN bus (on PB5/PB6). But that didn’t make any difference.
After rebooting I still get the error unable to connect to mcu.
With klipper installed dmesg doesn’t show anything.
In both cases if I try to obtain the serial I only get the message “No such file or directory”.
I was also trying different can bus bitrates: 1000k, 500k
I even tried using a Pi3 and redoing the whole installation.
Nothing changes.
I hope somebody has a hint what I’m doing wrong.
Thanks in advance!
@thrymir You are using the wrong can port on the EBB. edit: U2C → PB5/6
Please refer to the newer (I still need to update it to katapult and 1M can speed) guide: https://docs.meteyou.wtf/
Both candlelight or klipper usb-can bridge work on the U2C.
You could also ditch the U2C competely and use the CAN header of your octopus but this guide is not published yet.
@Arakon I was assuming that too, as it’s still connected via USB.
@docgalaxyblock I’m not sure what you mean by the wrong can port on the EBB?
In the printer.cfg or in menuconfig?
Before the EBB SB2209 wasn’t connected/configured.
I was using your newer guide to reinstall Candlelight on the U2C and configure the EBB SB. I can see then the Can UUID of the EBB.
With klipper usb-can bridge on the U2C I can even see both UUIDs.
Anyhow the MCU is still unable to connect with both options.
If I’m connecting the Octopus via USB directly to the pi the MCU is connected but I don’t think this is correct. At least every documentation states the wiring like I did it in the first place. In addition klipper is shutting down due to the EBB ADC out of range.
Am I correct that klipper configuration of the Octopus stays untouched unless I want to ditch the U2C and use it in bridge mode?
I got the setup running now with Canboot & U2C in bridge mode with 1M bitrate according to your guide.
The problem which was quite confusing for me is that the wiring in the BTT U2C user manual didn’t work. See the screenshot from the manual attached.
Instead of wiring the Octopus to the U2C I connected it directly to the pi and then it works.
I’m not sure if this is just a problem with my board or if the manual is incorrect/for another setup.
Thanks a lot for your help!
PS: If someone is struggling with the ADC out of range problem: The dip switches on the EBB were set to the wrong sensor type. See the documentation.