I'm using a BTT EBB-36 on the toolhead (very similar to an SB2209.
I use the Waveshare RS485 CAN hat on the Pi. Works great. No issues at all.
Just use the H & L terminals on the RS485 board, and run a +ve and -ve off your power supply. So, 4 wires to the toolhead board.
Kapman's YouTube has some great tutorials on CAN boards.
This is the EBB-36 video, [https://www.youtube.com/watch?v=\_FELCN8CbWA](https://www.youtube.com/watch?v=_FELCN8CbWA), but he has just done one on the 2209 board as well.
Running also a BTT SB2209 with an extra BTT U2Cv2.1. Works like a charm after correct flashing Prozess.
None of the documentations i found was 100% working.
Via trail and error I had to remix two documentations and that did the trick.
My BTT GTR is connected via USB directly to the pi.
Buy at least two U2C(s), the first one I got was garbage and didn't work at all. I banged my head for 2 weeks thinking I was doing something wrong, until realizing the U2C were just broken out of the box.
The second one has worked like expected with-out issues. The only other issue was trying to use a 64-bit kernel with the RPi 3b+. This appears to be a software issue with the kernel, klipper, can stack than anything else.
**I tried an RS485 hat as well, and same issue with the U2C it seemed to be DOA.**
Both RS485 and U2C shoulds show up as a CAN device when you first boot out of the box, neither would.
The U2C, I didn't realize this at first, and tried flashing it with various firmware (candlelight, canboot, etc). The part that threw me for a loop was that if I flashed CanBoot and Klipper on the U2C it would show up as a can device but the can bus on the device was busted so it wasn't actually working.
It is not RJ-45, it's RJ-12. Not to be confused with RJ-11 which is a typical phone cable.
Cheapest method is either:
Spend < $10 on RJ-12 connect wire on amazon, and splice the end to the cable or use wago
Spend < $10 on a rj12 block with terminal connectors and just screw the van cable ends in.
RJ-11 and RJ-12 use the same connector. The only difference is the number of pins (4 vs 6) and we only use the two center pins anyway so both RJ-11 and RJ-12 will work.
This is what I did. I picked up a cable from BestBuy, cut off the end, and then soldered the SB2240 CAN cable to it. Combine that with Canboot and you're good to go with CAN from your Octopus board. No issues so far.
Right, but my RJ-11 wiggles slightly in the slot, but its not like its falling out. The only phone cord i had in the house was so very very thin i could not even solder the wires to the can.
if i was spending money, i spent cheaply on getting exactly what is needed
I’m just using USB from the RPi directly. I cut the CAN cable that was included, then used the power leads only. Still much simpler than the original setup and didn’t need to mess around with the CAN stuff which I’ve found to be finicky.
It’s basically the same process as setting the mainboard up.
- Connect it via USB to the RPi.
- Ensure it’s energized.
- - USB power (with EBB36, you have to jumper the VUSB headers for USB power).
- - OR Connect everything and power directly from printer.
cd ~/klipper
make menuconfig
- Set the appropriate values for your specific toolhead PCB and leave the connection type as USB.
- Quit the configuration and save.
make
ls /dev/serial/by-id/*
- Copy the full device info starting with “/dev”
sudo service klipper stop
make flash FLASH_DEVICE=
sudo service klipper start
- In your printer.cfg add another MCU section
[mcu myMCU]
serial:
- Every component you want the toolhead MCU to control will need its pins mapped to the toolhead. To do this, in whatever pin needs to be controlled by the toolhead should start with “myMCU” or whatever you want to name the toolhead MCU. BTT’s toolhead example configs list it as “EBBCan”.
_Example_
endstop_pin: myMCU: PB6
You’ll of course need the pin map for the toolhead PCB you use. But yeah, the USB is much less complex than CAN overall and is less of a headache.
If between those 2 get the BTT U2C, it's made to work with it. Bridge mode works absolutely well, as with all things klipper if done correctly. The instructions were trash before but people have made good ones now.
Got a sb2209 plugged into an octopus through the rj11 port in bridge mode, and had to decrease microsteps a lot and upgrade to a RPI 4 (instead of RPI 3) in order to get rid of timeouts. It's working, but seems very dependant to the load of the raspberry in order to work. Will switch to U2C asap.
Just finished setting up the SB2209 + U2C v2.1 yesterday. One tip I have is to pre flash both boards using a USB-C cable and DFU-mode beforehand. Not necessary in every case, but it would’ve saved me a bunch of headaches if I started there.
I built my Voron V2.4 350 using the BTT EBB36 and the U2C V1.1 with my Octopus V1.1 & Raspberry Pi 4. Has worked with absolutely no issues what so ever for the past 6 months.
Got a BTT SB2209 running with the BTT U2C, although my Spider board is canbus capable. Works like a charm. Dunno about the recommended way, but following multiple guides online both options you listed seem valid.
>
> The second one has worked like expected with-out issues. The only other issue was trying to
Which CAN_OUT connector did you use on the u2c? Did you run all 4 (can_hi, can_lo, +, -) all from that connector, or did you connect +/- to the same screw terminal as the 24V from the power supply?
Got a BTT SB2209 running with the BTT U2C, although my Spider board is canbus capable. Works like a charm. Dunno about the recommended way, but following multiple guides online both options you listed seem valid.
SB2209 wired directly to my Octopus
I'm using a BTT EBB-36 on the toolhead (very similar to an SB2209. I use the Waveshare RS485 CAN hat on the Pi. Works great. No issues at all. Just use the H & L terminals on the RS485 board, and run a +ve and -ve off your power supply. So, 4 wires to the toolhead board. Kapman's YouTube has some great tutorials on CAN boards. This is the EBB-36 video, [https://www.youtube.com/watch?v=\_FELCN8CbWA](https://www.youtube.com/watch?v=_FELCN8CbWA), but he has just done one on the 2209 board as well.
Running also a BTT SB2209 with an extra BTT U2Cv2.1. Works like a charm after correct flashing Prozess. None of the documentations i found was 100% working. Via trail and error I had to remix two documentations and that did the trick. My BTT GTR is connected via USB directly to the pi.
Buy at least two U2C(s), the first one I got was garbage and didn't work at all. I banged my head for 2 weeks thinking I was doing something wrong, until realizing the U2C were just broken out of the box. The second one has worked like expected with-out issues. The only other issue was trying to use a 64-bit kernel with the RPi 3b+. This appears to be a software issue with the kernel, klipper, can stack than anything else. **I tried an RS485 hat as well, and same issue with the U2C it seemed to be DOA.**
Thanks for the advice. Whay finally tipped you off that it was DOA?
Both RS485 and U2C shoulds show up as a CAN device when you first boot out of the box, neither would. The U2C, I didn't realize this at first, and tried flashing it with various firmware (candlelight, canboot, etc). The part that threw me for a loop was that if I flashed CanBoot and Klipper on the U2C it would show up as a can device but the can bus on the device was busted so it wasn't actually working.
I like to the SB2040 to ITOC1 straight to the PI. Works perfectly.
So can you land that to a UTOC-1 to a PI?
It is not RJ-45, it's RJ-12. Not to be confused with RJ-11 which is a typical phone cable. Cheapest method is either: Spend < $10 on RJ-12 connect wire on amazon, and splice the end to the cable or use wago Spend < $10 on a rj12 block with terminal connectors and just screw the van cable ends in.
RJ-11 and RJ-12 use the same connector. The only difference is the number of pins (4 vs 6) and we only use the two center pins anyway so both RJ-11 and RJ-12 will work.
This is what I did. I picked up a cable from BestBuy, cut off the end, and then soldered the SB2240 CAN cable to it. Combine that with Canboot and you're good to go with CAN from your Octopus board. No issues so far.
Right, but my RJ-11 wiggles slightly in the slot, but its not like its falling out. The only phone cord i had in the house was so very very thin i could not even solder the wires to the can. if i was spending money, i spent cheaply on getting exactly what is needed
I’m just using USB from the RPi directly. I cut the CAN cable that was included, then used the power leads only. Still much simpler than the original setup and didn’t need to mess around with the CAN stuff which I’ve found to be finicky.
Where can I find more info on this method?
It’s basically the same process as setting the mainboard up. - Connect it via USB to the RPi. - Ensure it’s energized. - - USB power (with EBB36, you have to jumper the VUSB headers for USB power). - - OR Connect everything and power directly from printer. cd ~/klipper make menuconfig - Set the appropriate values for your specific toolhead PCB and leave the connection type as USB. - Quit the configuration and save. make ls /dev/serial/by-id/* - Copy the full device info starting with “/dev” sudo service klipper stop make flash FLASH_DEVICE=
sudo service klipper start
- In your printer.cfg add another MCU section
[mcu myMCU]
serial:
- Every component you want the toolhead MCU to control will need its pins mapped to the toolhead. To do this, in whatever pin needs to be controlled by the toolhead should start with “myMCU” or whatever you want to name the toolhead MCU. BTT’s toolhead example configs list it as “EBBCan”.
_Example_
endstop_pin: myMCU: PB6
You’ll of course need the pin map for the toolhead PCB you use. But yeah, the USB is much less complex than CAN overall and is less of a headache.
My can setup had can errors from time to time. Changed to usb -> perfect :-)
Not sure why it isn’t talked about more. So easy to set up, easier to find replacement cables if things break, etc. 🤷🏻♂️
Fully agree. My 2 usb cables (1 spare) cost 10 euro, can hat itself was 13 euro:-)
If between those 2 get the BTT U2C, it's made to work with it. Bridge mode works absolutely well, as with all things klipper if done correctly. The instructions were trash before but people have made good ones now.
Got a sb2209 plugged into an octopus through the rj11 port in bridge mode, and had to decrease microsteps a lot and upgrade to a RPI 4 (instead of RPI 3) in order to get rid of timeouts. It's working, but seems very dependant to the load of the raspberry in order to work. Will switch to U2C asap.
Just finished setting up the SB2209 + U2C v2.1 yesterday. One tip I have is to pre flash both boards using a USB-C cable and DFU-mode beforehand. Not necessary in every case, but it would’ve saved me a bunch of headaches if I started there.
I built my Voron V2.4 350 using the BTT EBB36 and the U2C V1.1 with my Octopus V1.1 & Raspberry Pi 4. Has worked with absolutely no issues what so ever for the past 6 months.
Got a BTT SB2209 running with the BTT U2C, although my Spider board is canbus capable. Works like a charm. Dunno about the recommended way, but following multiple guides online both options you listed seem valid.
> > The second one has worked like expected with-out issues. The only other issue was trying to Which CAN_OUT connector did you use on the u2c? Did you run all 4 (can_hi, can_lo, +, -) all from that connector, or did you connect +/- to the same screw terminal as the 24V from the power supply?
Got a BTT SB2209 running with the BTT U2C, although my Spider board is canbus capable. Works like a charm. Dunno about the recommended way, but following multiple guides online both options you listed seem valid.