Klipper Update / Flash Guide
BTT Manta M8P (V1.1 & V2.0) + EBB SB2209 RP2040

This guide covers updating Klipper firmware after a host update, focusing on the RP2040 toolhead first, then the Manta mainboard (USB-to-CAN bridge mode).

Assumptions: Katapult is already installed on both boards. CAN bitrate is 1 000 000. Host is CB1 / CM4 / Pi plugged into the Manta.

1. Flash the EBB SB2209 RP2040 first

Stop Klipper:

sudo systemctl stop klipper

Compile for RP2040

cd ~/klipper
make menuconfig
make clean
make

Flash over CAN

python3 ~/klipper/scripts/canbus_query.py can0
# or
python3 ~/katapult/scripts/flashtool.py -i can0 -q

# Force Katapult mode then flash
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u YOUR_EBB_UUID
python3 ~/katapult/scripts/flashtool.py -i can0 -f ~/klipper/out/klipper.bin -u YOUR_EBB_UUID

Verify it shows Application: Klipper. Double-tap RESET on the EBB if it doesn't respond.

First-time flash or recovery over USB? See the USB guide.

2. Identify your Manta version

Check klippy.log or previous builds:

grep -iE "stm32|g0b1|h723" ~/printer_data/logs/klippy.log | tail -20

3. Flash the Manta (USB-to-CAN bridge)

Menuconfig settings

SettingV1.1 (G0B1)V2.0 (H723)
Enable extra low-level options[*][*]
ArchitectureSTM32STM32
ProcessorSTM32G0B1STM32H723
Bootloader offset8KiB128KiB
Clock8 MHz25 MHz
CommunicationUSB to CAN bus bridge (USB on PA11/PA12)
CAN interfacePD12/PD13PD0/PD1
CAN speed1000000
cd ~/klipper
make menuconfig   # set the matching options above
make clean
make
Note for V2.0: Flashing purely over CAN often fails because entering Katapult mode drops the CAN link. Prefer DFU via the physical buttons.

Recommended flash method (DFU – works for both versions)

  1. Hold BOOT, press & release RESET, hold BOOT a few more seconds, then release.
  2. Confirm DFU mode:
    lsusb
    Look for 0483:df11 STMicroelectronics STM Device in DFU Mode.
  3. Flash:
    make flash FLASH_DEVICE=0483:df11
    (The final "Error during download get_status" is normal.)

For V2.0 the application address is 0x08020000 (128 KiB offset). For V1.1 it is 0x08002000.

Alternative: SD card (V2.0 especially)

Rename klipper.bin to firmware.bin, copy to a FAT32 SD card, insert into the Manta, power cycle. The file should become FIRMWARE.CUR on success. This only works with BTT’s stock SD bootloader; if Katapult replaced it, use DFU or Katapult instead.

4. Finish

sudo systemctl start klipper

Firmware Restart in Mainsail/Fluidd. Confirm both MCUs no longer show the "old software" warning.

Guide compiled from practical Voron / BTT experience (Manta M8P V1.1/V2.0 + EBB SB2209 RP2040 CAN). Always match CAN bitrate across all nodes and ensure 120 Ω termination.