FLY-SB2040 Pro Bootloader (Katapult) Recovery
The FLY-SB2040 Pro comes with Katapult pre-flashed from the factory. Do not re-flash the firmware on this page during normal use or when updating Klipper firmware; this page is only for unbricking recovery after the Bootloader is damaged.
Firmware Description
Katapult was formerly known as CanBoot, and both names may appear simultaneously in older tutorials or firmware names.
Katapult is a bootloader used to boot and update Klipper:
- Katapult itself cannot be used as a Klipper MCU; after flashing, you still need to write Klipper firmware that matches the hardware and communication method.
- Supported tool boards can enter Katapult by quickly double-pressing the
RESETbutton; after entering, there is usually a status light blinking. - CAN, RS232, and USB use independent Katapult firmware; you cannot simply modify file names or mix them directly.
- For CAN firmware, you must also select the correct bus speed, with common speeds being
500Kand1M.
- FLY-SB2040 Pro uses CAN communication.
- This page provides Katapult firmware for
500Kand1MCAN bus speeds.
Only select the firmware that matches your actual CAN network speed. The host, mainboard, and all CAN devices on the same bus must use the same speed.
Entering Bootloader Mode
Before starting, completely shut down the printer and disconnect the power supply. Do not plug/unplug cables, arrange connectors, or touch terminals while the printer is powered on.
The BOOT button is highlighted in the image:
- Keep the toolboard completely powered off.
- Press and hold the
BOOTbutton. - Connect the toolboard to your computer or host using a Type-C cable that supports data transfer.
- Release the
BOOTbutton once the device is detected.
Flash Firmware
- Windows
- Linux / FLYOS
- Confirm that the device has entered UF2 flashing mode, and a removable disk named
RPI-RP2appears on the computer.
- Release the
BOOTbutton or remove the BOOT jumper.
Windows may hide file extensions. Please check "File name extensions" in File Explorer, and confirm that you are using .uf2 firmware; do not modify the firmware extension.
- Download the Flash erase firmware:
.txt 或其他扩展名。The directory of the erase firmware in the repository is:
FLY-Firmware/RP2040
-
Copy
nuke_universal.uf2to theRPI-RP2disk to erase the old firmware already present on the device. -
After the copy is complete, the
RPI-RP2disk will automatically disappear; after the device erases the Flash, it will appear again as anRPI-RP2USB drive, and at this point the Flash is already empty.
- Download the FLY-SB2040 Pro Katapult firmware:
.txt 或其他扩展名。The directory of the firmware in the repository is:
FLY-Firmware/ToolBoard/SB2040
- Copy the Katapult
.uf2firmware to the newly appearedRPI-RP2disk.
- After the firmware is written, the
RPI-RP2disk will automatically disappear, indicating that Katapult has been flashed successfully.
- Compile the RP2040 flashing tool. Skip this step if it has already been executed.
cd ~/klipper/lib/rp2040_flash/
make
- Confirm that the device has entered UF2 flashing mode.
lsusb
If 2e8a:0003 appears in the output, it indicates that the device has entered RP2040 flashing mode. The device name displayed may differ across systems; the USB ID should be used as the reference.
Do not continue flashing if 2e8a:0003 does not appear. Please disconnect the device power again and repeat the steps in "Entering flashing mode" on this page.
- Pull or update the precompiled firmware repository.
- Linux
- FLYOS
First-time download:
cd ~
git clone https://cnb.cool/3dmellow/FLY-Firmware.git
Update the repository if it has already been downloaded:
git -C ~/FLY-Firmware pull --ff-only
First-time download:
git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware
ln -s /data/FLY-Firmware /root/FLY-Firmware
Update the repository if it has already been downloaded:
git -C /data/FLY-Firmware pull --ff-only
- Flash the erase Flash firmware to clear the old firmware already present on the device:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/RP2040/nuke_universal.uf2
After the command finishes, the device will automatically restart and return to BOOTSEL / UF2 mode. lsusb will show 2e8a:0003 again, and at this point the Flash is already empty.
- Depending on the CAN rate, execute only one of the flashing commands:
CAN 500K:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_500K.uf2
CAN 1M:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_1M.uf2
- Perform the power-off operation only after the flashing success prompt appears.
Finishing the Flash
After flashing, disconnect the toolboard's USB and external power before restoring normal connections. Do not plug or unplug toolboard cables while powered on.
After powering on again, the status LED will blink when Katapult starts normally: