FLY-SB2040 Bootloader (Katapult) Recovery
The FLY-SB2040 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.
- The FLY-SB2040 uses CAN communication.
- This page provides Katapult firmware for two CAN rates:
500Kand1M.
Select only one firmware that matches your actual CAN network rate. The host, the mainboard, and all CAN devices on the same bus must use the same rate.
Entering Flash Mode
Before starting, completely shut down the printer and disconnect the power supply. Do not plug or unplug cables, rearrange wiring, or touch terminals while powered on.
The BOOT button is marked in the diagram:
- Keep the toolboard completely powered off.
- Press and hold the
BOOTbutton. - Use a Type-C cable with data transfer capability to connect the toolboard to your computer or host.
- Release the
BOOTbutton after the device is recognized.
Flashing 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 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_SB2040_CANBOOT_500K.uf2
CAN 1M:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040_CANBOOT_1M.uf2
- After the flashing success message appears, proceed with the power-off operation.
Completing the Flash
After flashing is complete, disconnect the toolboard USB and external power before restoring normal wiring. Do not plug or unplug toolboard cables while powered on.
After powering on again, the status LED will blink when Katapult starts normally: