Jump to content

Anyone install a BTT SB2209 USB?


DrGary

Recommended Posts

 

How did it go? I'm switching from a hartk board on a Voron 2.4 with stealthburner. It looks like it will remove a lot of wires, both in the 14 wire bundle between the toolhead and the breakout board in the electronics bay, but also between the breakout board and the Octopus controller. This means that a lot of functionality of the Octopus will no longer be used, specifically, all of the ports for the toolhead hotend, thermistors, fans, and LEDs. It's a great simplification.

Did you have any issues converting your system to use the SB2209 USB? 

How did you test? It would be nice to test each feature in isolation as each is built. Ie wire a fan, then test it; wire the LEDS, confirm they light, and so on... Can the SB2209 USB be driven over serial with the factory image? [Also posted to the BTT github: issues/143]

 

 

Link to comment
Share on other sites

I've used many different toolhead boards and the only big difference with the sb2209 is that the jst connectors are really tiny. It's not realistic to crimp them yourself so they give you pre crimped wire to join to the required inputs. I used mine in canbus so can't be sure about usb, but I think it was in the user manual. To test each function as you go you'll need to start with the hotend thermistor to avoid out of range errors. 

Edited by Glengus
Link to comment
Share on other sites

you can test each individual function but two things to consider. first the connections are tiny and therefore finicky, i.e. not very robust. I did successfully crimp connectors onto the thermistor and heater and then put UV cured glue on the back of the connector to keep wires from coming out. taking the print head on and off to test and hook up each individual thing will be tedious and contribute to issues. best to connect everything and then test, only have to take it apart carefully if something doesn't work. Like Glengus, I only have experience with CAN bus not the USB boards.

Link to comment
Share on other sites

I have been using the 2209USB for just over 3 months now. It has been everything I wanted in a toolhead board.

I was previously using Mellow canbus boards and they work great, no issues, but I had to have twin cables bundled together as an umbilical because I needed USB for Beacon probe and canbus for the mellow. I really wanted a single cable.

Now the Beacon plugs into the 2209 and just works. 

The only things to watch out for are:

  • You have to use the cable that comes with the board. I initially tried to use my old cable because it had the same connecter on the toolhead end and it was shorter, and so I thought,  more reliable. Nope, that didn't work at all. BTT claims the new cable is properly shielded and even though it looks the same as the old cable I guess it must be different on the inside.
  • The 2209USB needs both toolhead fans to be the same voltage. On the Mellow I could use 5V for hotend fan and 24V for part cooling. On the 2209USB they both have to be 5V or both 24V. That was the only anoying thing about switching.

I always just install boards and then just troubleshoot them if needed. I guess you could wire up one component at a time and uncomment that section of the config to test everything but I don't see it helping anything. In the end there are only two comms wires to connect properly data+ and data-. If you have any problems after installing it I would think it would much easier and quicker to do the same thing in reverse and just unplug one thing at a time. Klipper is pretty good at telling you what is wrong now too.

I dunno if I have been just lucky, but they have all just worked for me when following the instructions. If ever in doubt just start from the beginning with replashing the bootloader.

Anyways I can whole heartedly recommend the board based on my experience with it.

It works great. It is easy to update klipper on the board over SSH with simple commands and with no buttons to press. I wish it natively supported a 5V toolhead board cooling fan but it was easy to use 5V from a pin nearby. 

Edited by Crashdown
  • Like 3
Link to comment
Share on other sites

  • 1 month later...

I have a new SB2209 USB and it just keeps dropping out of the USB device tree. In several minutes the first time, long enough to flash it and test that it works, but in increasingly shorter cycles and it's just refusing to show up now. Do I have a lemon or a bad cable? How do I debug this? I don't have a spare XT30 2+2 cable to test (spare plugs ordered and coming in a week) and I'm not sure if I should be sticking leads into the port. I checked with a multimeter and it said there was no connection between the D+ and D- leads to the boards on either end. Then I checked with another multimeter and it said there was a connection, so maybe it was too weak for the first one. Now I don't know if I can trust my multimeters. Here are the first few appearances of the device in the kernel log (multiple boots). I thought maybe bad firmware causing shutdowns, but even the time to disconnect is variable. The board's getting power: the LED is lit and my Voron Tap PCB is also getting power, but the status LED is off and it's not responding to the boot+reset buttons, which I guess means it either has no USB connection or is dead, I don't know which.

There's a GitHub issue on BTT's repo, but I'm not sure if I have the same problem.

I'm sorry that my very first post to this forum is a request for help. I've learnt much from here while building my Voron (six months now). All advice appreciated.

 

kern.log.1:Jan 27 21:29:10 vortex kernel: [  195.513698] usb 1-1.4.4: new full-speed USB device number 13 using xhci_hcd
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.742647] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.742665] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.742671] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.742676] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.742681] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 21:29:11 vortex kernel: [  195.750043] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 21:29:26 vortex kernel: [  211.416101] usb 1-1.4.4: USB disconnect, device number 13
kern.log.1:Jan 27 21:31:09 vortex kernel: [  313.923242] usb 1-1.4.4: new full-speed USB device number 16 using xhci_hcd
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.152177] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.152197] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.152204] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.152209] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.152213] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 21:31:09 vortex kernel: [  314.159524] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 21:36:58 vortex kernel: [  663.216161] usb 1-1.4.4: USB disconnect, device number 16
kern.log.1:Jan 27 21:36:58 vortex kernel: [  663.544154] usb 1-1.4.4: new full-speed USB device number 17 using xhci_hcd
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.769290] usb 1-1.4.4: New USB device found, idVendor=2e8a, idProduct=0003, bcdDevice= 1.00
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.769310] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.769316] usb 1-1.4.4: Product: RP2 Boot
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.769321] usb 1-1.4.4: Manufacturer: Raspberry Pi
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.769325] usb 1-1.4.4: SerialNumber: E0C9125B0D9B
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.774183] usb-storage 1-1.4.4:1.0: USB Mass Storage device detected
kern.log.1:Jan 27 21:36:59 vortex kernel: [  663.774601] scsi host1: usb-storage 1-1.4.4:1.0
kern.log.1:Jan 27 21:37:21 vortex kernel: [  685.747519] usb 1-1.4.4: USB disconnect, device number 17
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.160483] usb 1-1.4.4: new full-speed USB device number 18 using xhci_hcd
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.389415] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.389435] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.389441] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.389446] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.389450] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 21:37:21 vortex kernel: [  686.394844] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 21:38:23 vortex kernel: [  748.477037] usb 1-1.4.4: USB disconnect, device number 18
kern.log.1:Jan 27 21:38:24 vortex kernel: [  748.825313] usb 1-1.4.4: new full-speed USB device number 19 using xhci_hcd
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.038150] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.038170] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.038176] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.038181] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.038186] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 21:38:24 vortex kernel: [  749.047523] cdc_acm 1-1.4.4:1.0: ttyACM0: USB ACM device
kern.log.1:Jan 27 22:05:54 vortex kernel: [ 2399.411907] usb 1-1.4.4: USB disconnect, device number 19
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.765353] usb 1-1.4.4: new full-speed USB device number 21 using xhci_hcd
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.994283] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.994302] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.994308] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.994313] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2399.994318] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:05:55 vortex kernel: [ 2400.000593] cdc_acm 1-1.4.4:1.0: ttyACM0: USB ACM device
kern.log.1:Jan 27 22:06:24 vortex kernel: [ 2429.624153] usb 1-1.4.4: USB disconnect, device number 21
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2429.965863] usb 1-1.4.4: new full-speed USB device number 23 using xhci_hcd
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.194794] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.194814] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.194820] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.194825] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.194830] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:06:25 vortex kernel: [ 2430.206169] cdc_acm 1-1.4.4:1.0: ttyACM0: USB ACM device
kern.log.1:Jan 27 22:12:08 vortex kernel: [ 2772.823303] usb 1-1.4.4: USB disconnect, device number 23
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.616801] usb 1-1.4.4: new full-speed USB device number 7 using xhci_hcd
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.847699] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.848568] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.849471] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.850289] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:00:11 vortex kernel: [    3.851086] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:00:11 vortex kernel: [    6.938046] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 22:23:34 vortex kernel: [  165.489903] usb 1-1.4.4: USB disconnect, device number 7
kern.log.1:Jan 27 22:23:34 vortex kernel: [  165.838132] usb 1-1.4.4: new full-speed USB device number 8 using xhci_hcd
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.071079] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.071098] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.071104] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.071109] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.071113] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:23:34 vortex kernel: [  166.078563] cdc_acm 1-1.4.4:1.0: ttyACM0: USB ACM device
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.608952] usb 1-1.4.4: new full-speed USB device number 7 using xhci_hcd
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.837903] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.838846] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.839728] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.840575] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:25:54 vortex kernel: [    3.841426] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:25:54 vortex kernel: [    6.099863] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.632695] usb 1-1.4.4: new full-speed USB device number 7 using xhci_hcd
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.865768] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.866714] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.867598] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.868454] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:27:50 vortex kernel: [    3.869318] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:27:50 vortex kernel: [    6.092448] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 22:34:09 vortex kernel: [   69.492136] usb 1-1.4.4: USB disconnect, device number 7
kern.log.1:Jan 27 22:34:09 vortex kernel: [   69.836635] usb 1-1.4.4: new full-speed USB device number 8 using xhci_hcd
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.070697] usb 1-1.4.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.070717] usb 1-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.070723] usb 1-1.4.4: Product: rp2040
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.070734] usb 1-1.4.4: Manufacturer: Klipper
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.070739] usb 1-1.4.4: SerialNumber: 5044506130B1281C
kern.log.1:Jan 27 22:34:09 vortex kernel: [   70.080100] cdc_acm 1-1.4.4:1.0: ttyACM1: USB ACM device
kern.log.1:Jan 27 22:36:47 vortex kernel: [  228.092457] usb 1-1.4.4: USB disconnect, device number 8

 

Link to comment
Share on other sites

Just noticed the USB pins have a 2mm pitch, so I stuck a JST PH socket into both ends to be sure of good contact and tested with both multimeters. There's no continuity on both lines. Looks like I have a bad cable. BIQU doesn't have the cable alone in the store (they have the CAN cable alone), and with the holidays and backlog it'll be many weeks to a replacement. 🙁

I'm hope the problem is just bad crimps inside the plugs, not somewhere in the middle, and the spares I ordered are the correct model number.

Link to comment
Share on other sites

Maybe related to static build up? Did you install the grounding cable per the docs? Note that it's not mentioned in online docs here: https://bttwiki.com/EBB SB2209 USB.html, but is mentioned in the pdf: https://github.com/bigtreetech/EBB/blob/master/EBB_SB2209_USB/Manual/BIGTREETECH EBB SB2209 USB V1.2 User Manual.pdf

Also, do you have the USB connected to your controller board, which might have a USB port, or your Klipper host (ie Rpi)? To debug, you might try switching to the other and seeing if it makes any difference. Also, since you're describing just USB connectivity, you might try just connecting it to any other PC/laptop to watch its stability. 

Link to comment
Share on other sites

I tried wiggling the cable while holding down the multimeter probes and found the loose contact right away in the plug that was on the toolhead side. Two days of despondency questioning my life choices and priorities when this should have been the first diagnostic test. I guess one learns.

(I did fry an SB2209 RP2040 CAN board over the weekend while trying to diagnose if that had a ground leak problem -- known issue on the gpio21 pin but I was experiencing it as a new phenomenon on the adjacent gpio22 pin used for Voron Tap, so yeah, self confidence had just taken a beating.)

I'll try splicing open this plug and see if I can temp-fix it before replacement parts arrive.

Link to comment
Share on other sites

Not sure if "ground leak" is the correct term. gpio21 needs a pull-up resistor. Without one, it'll appear to work until it's discharged and then it's gone, as reported here (includes my comments): https://github.com/bigtreetech/EBB/issues/86

This is not documented for both SB2209 RP2040 CAN and SB2209 USB, but if that's the case here too, I'll need to build a breakout cable for connecting both Voron Tap (3-pin) and toolhead filament sensor (2-pin) to the 5-pin probe port because there's one less GPIO pin on this board. No MAX31865 port to offload the hotend thermistor to.

I don't know how to make this breakout cable in a way that won't be a shorting hazard. Should I make a single 5-pin JST plug going to both sensors with a 4.7k ohm resistor stuffed in? Or should I make a Y-breakout of 5-pin to 2-pin + 3-pin? I thought of using a small section of solderboard so it's less dangly, but my local stores don't have 2mm pitch solderboard.

Link to comment
Share on other sites

I just finished "updating" my Voron 2.4r2 to SB with CNC Tap 2.0, SB2209 CAN, and LGX Lite.

My takes from this are:

  • When flashing the SB2209 CAN for the first time via USB with katapult do NOT have anything else connected, including VIN. As long as katapult is installed, you can flash klipper via CAN bus later on.
    • After katapult is installed flashing klipper to the SB2209 CAN board is no problem via the rpi and with all the connections to VIN (24V) motor, fans, hot end, thermistor LEDs etc.
  • The SB2209 CAN board, to accommodate all these options uses tiny JST-PH2.0 connectors. To properly crimp them and not use the cheap BTT included cable you will need something like Crimp Tool Connector Kit, JST-SH 1.0mm/PH 2.0mm.
  • Use a bash script like the one below to compile klipper quickly and correct every time there is an upgrade.
  • Needed to create an umbilical cord between the SB0000 and SB2209 CAN board to accommodate the wider LGX Lite. I may use a SB34 when I update my other r2.4.
  • CAN bus is awesome!
  • Stealthburner is better than Afterburner!
  • Excellent initial tests with the BTT TAP 2.0.

Still tuning it, so not much info. from actual printing.

#!/bin/bash
#
## Need to compile manually the very first time for each MCU and rename each .config to
## the appropriate re-usable makeconfig configuration. eg. BTT klipper .config is renamed
## to config_CAN.
#
## Compile the Rpi Firmware as a secondery MCU.
## No further work for the RPi MCU required after klipper is restarted by the script..
#
cd ~/klipper
cp -pv config_rpi .config
make clean
sudo service klipper stop
make flash
sudo service klipper start
#
## Compile the BTT Octopus Firmware
## Need to copy the "firmware.bin" to an SD-Card and then to the BTT Octopus.
## Power-cycle of the BTT MCU is required.
#
## Using rpi GPIO connection to Octapus use:
#cp -pv config_usart2 .config
## Using USB connection from rpi to Octapus use:
cp -pv config_usb .config
make clean
make
ls -latr ~/klipper/out/*.bin
mv -v ~/klipper/out/klipper.bin ~/klipper/out/firmware.bin
#
## Compile the BTT SB2209 CAN Firmware
#
cp -pv config_CAN .config
make clean
make
cd ~/katapult/scripts
#python3 flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u ae66f47156be
python3 flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u eea40d29ff2c
python3 flash_can.py -i can0 -q

 

20250129_141420.jpg

20250129_112744.jpg

20250129_112902.jpg

Edited by NikosSprocket
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...