EBB SB2209 RP2040 – USB Flashing
First-time flash / recovery

Use this when the EBB has no Katapult yet, or doesn't show up on CAN at all. Connect the EBB's USB-C port directly to the Pi (logged in as ianh).

⚠ Bootloader offset warning: the 16KiB bootloader offset only works if Katapult is already on the board. If you flash Klipper directly over USB with no Katapult, you must use No bootloader. A Klipper build with a 16KiB offset but no Katapult will never boot and won't appear on CAN.

Enter RP2040 boot mode

lsusb
# Look for: 2e8a:0003 Raspberry Pi RP2 Boot

✅ Recommended: Katapult over USB, then Klipper over CAN

  1. Configure Katapult
    cd ~/katapult
    make menuconfig
  2. Flash Katapult over USB (board in BOOT mode, 2e8a:0003)
    make clean
    make
    make flash FLASH_DEVICE=2e8a:0003
    # or: cp ~/katapult/out/katapult.uf2 /media/ianh/RPI-RP2/
  3. Swap jumpers: unplug USB, remove the VUSB jumper, fit the 120Ω termination jumper, connect the CAN cable to the Manta.
  4. Find the Katapult UUID (Klipper must be stopped)
    sudo systemctl stop klipper
    python3 ~/katapult/scripts/flashtool.py -i can0 -q
    # Expect: Detected UUID: xxxxxxxxxxxx, Application: Katapult
  5. Build Klipper
    cd ~/klipper
    make menuconfig
    make clean
    make
  6. Flash Klipper over CAN
    python3 ~/katapult/scripts/flashtool.py -i can0 -u <uuid> -f ~/klipper/out/klipper.bin
  7. Query again, which should now show Application: Klipper:
    python3 ~/katapult/scripts/flashtool.py -i can0 -q
  8. Put the UUID in printer.cfg, then start Klipper:
    [mcu EBBCan]
    canbus_uuid: <uuid>
    sudo systemctl start klipper

Not recommended: Klipper directly over USB (no Katapult)

Troubleshooting: EBB not in CAN query after USB flash