Skip to content

EBB SB2209 CAN RP2040

For information about EBB SB2209 CAN V1.0 (RP2040) structure, please click :

EBB SB2209 CAN V1.0 (RP2040).PDF

Product Profile

Highlighted in red are other accessories of the Voron StealthBurner, which are not included in this EBB SB2209 CAN V1.0(RP2040) and will need to be purchased by yourself.

Features Highlights

  • Highlighted in blue are included in this EBB SB2209 CAN V1.0 (RP2040).
  • Highlighted in red are other accessories of the Voron StealthBurner, which are not included in this EBB SB2209 CAN V1.0(RP2040) and will need to be purchased by yourself.

Software Configuration

FLASHING KATAPULT

"Katapult" is the New Name for "CanBoot"

Note: Please note that Katapult is designed for the purpose of directly updating the MCU firmware via the CAN bus interface. If you prefer the DFU update method, you may skip this step.

“Flashing Katapult on a CB1/Raspberry Pi”

Refer to the instructions here to download the Katapult project

https://github.com/Arksine/Katapult

1.Run:

cd ~

to enter the home directory, then run:

git clone https://github.com/Arksine/Katapult

to download Katapult project.

run:

cd Katapult

to enter the Katapult directory.

2.Run:

make menuconfig

and configure according to the following figure

3.Run

make

to compile firmware, “canboot.uf2” file will be generated in home/biqu/Katapult/out folder when make is finished, download it onto your computer using the SSH application.

4.1 Please use a Type-C cable to connect the EBB SB2209 CAN V1.0(RP2040)to the Raspberry Pi/CB1, and ensure that the USB_5V jumper is connected, in order to supply power to the EBB SB2209 CAN V1.0 (RP2040) via Type-C.

4.2. Press and hold the Boot button, and then click the Reset button to enter the DFU mode.

4.3. Enter in the SSH terminal command line

lsusb

Query DFU device ID

4.4. Please enter the following command to flash Katapult::

make flash FLASH_DEVICE=2e8a:0003

where “2e8a:0003” should be replaced with the actual device ID obtained in step 4.3.

4.5. After flashing is complete, remove the USB_5V jumper and the Type-C cable.

COMPILE FIRMWARE

1.)After SSH is successfully connected to Raspberry Pi, run

cd ~/klipper/

make menuconfig

Compile the firmware with the following configuration (if the options below are not available, please update your Klipper source code to the newest version).

[*] Enable extra low-level configuration optionsMicro-controller Architecture

(Raspberry Pi RP2040) --->

If you do not use Katapult

Bootloader offset (No bootloader) --->

Flash chip (W25Q080 with CLKDIV 2) --->

If Katapult is used

Bootloader offset (16KiB bootloader) --->

If USB communication on Type-C is used

Communication interface (USB) --->

If CAN-Bus communication is used

Communication interface (CAN bus) --->

(4) CAN RX gpio number

(5) CAN TX gpio number

(1000000) CAN bus speed

2.) Press "q" to exit, and Yes when asked to save the configuration.

3.) Run make to compile firmware,"klipper. bin" file will be generated in home/pi/klipper/out folder when make is finished, download it onto your computer using the SSH application.

FIRMWARE UPDATE(VIA KATAPULT)

1.To use the CAN bus, you need to connect the CAN bus cable and insert a jumper at the position of the 120R termination resistor.

2.Run:

cd ~/KATAPULT/scripts

then run:

python3 flash_can.py -i can0 -q

to query the canbus ID (connect the CAN cable and power it on in advance), as shown in the figure below, the UUID of the device has been found

3.Run:

python3 flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u be69315a613c

The be69315a613c is replaced with the actual UUID. Note: klipper.bin needs to be made in advance,and the application start offset of Katapult is 16KiB offset, so Klipper's menuconfig Bootloader offset should also be 16KiB bootloader, as shown in the following figure.

4.Run:

python3 flash_can.py -i can0 -q

to query. At this time, the Application changes from Katapult to Klipper, indicating that Klipper has been running normally

FIRMWARE UPDATE(VIA DFU)

Raspberry Pi or CB1 update via DFU.

1.Please use a Type-C cable to connect the EBB SB2209 CAN V1.0 (RP2040) to the Raspberry Pi/CB1, and ensure that the USB_5V jumper is connected, in order to supply power to the EBB SB2209 CAN V1.0 (RP2040) via Type-C.

2.Press and hold the Boot button, and then click the Reset button to enter the DFU mode.

3.Enter in the SSH terminal command line

lsusb

Query DFU device ID

4.Run:

cd klipper 

to enter to the klipper directory, then run the following command to write the firmware:

make flash FLASH_DEVICE=2e8a:0003

Note: Replace 2e8a:0003 with the actual device ID found in the previous step.

5.After the firmware is written, run

ls /dev/serial/by-id/

to query the serial ID of the device (this ID can only be found in the USB communication mode, and this step is ignored in CANBus mode).

6.If USB communication is used, after the first writing, it is not necessary to manually press the Boot and Reset buttons to enter the DFU mode when updating again. You can directly enter

make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_rp2040_4550357128922FC8-if00

to write the firmware (Note: replace/dev/serial/by id/xxx with the actual ID found in the previous step).

After flashing is complete, remove the USB_5V jumper and the Type-C cable.

CAN BUS CONFIGURE

Used with BIGTREETECH U2C module.

1.Enter the command

sudo nano /etc/network/interfaces.d/can0

in the SSH terminal and execute

allow-hotplug can0

iface can0 can static

 bitrate 1000000

up ifconfig $IFACE txqueuelen 1024

Set the CAN-BUS speed to 1M (it must be consistent with the speed set in the firmware (1000000) CAN bus speed), save (Ctrl+S) and exit (Ctrl+X) after modification, and enter

sudo reboot

to restart Raspberry Pi.

2.Each device on CAN bus will generate a canbus_uuid according to the UID of MCU, to find each microcontroller device ID, make sure the hardware is powered on and wired correctly, and then run:

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

3.If an uninitialized CAN device is detected, the above command will report the device's canbus_uuid.

Found canbus_uuid=0e0d81e4210c

4.If Klipper has been running normally and connected to this device, then canbus_uuid will not be reported, which is normal.

KLIPPER CONFIGURE

1.Enter Raspberry Pi IP address into your browser, and find the reference config for the motherboard in the directory shown below, if there is no such config available, update your Klipper source code to the newest version or download it from GitHub:

https://github.com/bigtreetech/EBB

2.Upload the configuration file of the motherboard to Configuration Files.

3.Add the configuration of this motherboard in the "printer. cfg" file:

[include sample-bigtreetech-ebb-sb-canbus-v1.0.cfg]

4.Enter the correct ID (USB serial or canbus).

5.Configure the module's specific functions according to

https://www.klipper3d.org/Overview.html

Back to top