FLY-SB2040 V3 Bootloader (Katapult) Recovery
The FLY-SB2040 V3 comes pre-flashed with Katapult from the factory. When using normally and updating Klipper firmware, do not re-flash the firmware on this page; 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 V3 supports CAN and RS232 communication.
- This page provides Katapult firmware for two CAN speeds:
500Kand1M.
Select only one firmware that matches your actual CAN network speed. The host, motherboard, and all CAN devices on the same bus must use the same speed.
Entering Flash Mode
Before starting, completely turn off the printer and disconnect the power supply. Do not plug/unplug cables, arrange wiring, or touch terminals while the system is powered on.
In the diagram, the left button is RESET, and the right button is BOOT:
- Keep the tool board completely powered off.
- Press and hold the
BOOTbutton. - Connect the tool board to your computer or host using a Type-C cable that supports data transfer.
- Release the
BOOTbutton once 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 V3 Katapult firmware:
.txt 或其他扩展名。The firmware directory 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, run only one of the flashing commands:
CAN 500K:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_500K.uf2
CAN 1M:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_1M.uf2
- Wait for the successful flashing prompt before disconnecting power.
After Flashing
After flashing is complete, disconnect the tool board's USB and external power supply before restoring normal wiring. Do not connect or disconnect tool board cables while powered on.
After powering on again, the status LED will blink when Katapult starts normally: