FLY-ERCF Bootloader (Katapult) Recovery
FLY-ERCF is pre-flashed with Katapult at the factory. Do not repeatedly flash the firmware on this page during normal use and Klipper firmware updates; this page is only for unbricking recovery after the Bootloader is damaged.
Firmware Description
Katapult was formerly named CanBoot; both may appear simultaneously in old tutorials or old firmware names.
Katapult is the bootloader used to boot and update Klipper:
- Katapult itself cannot be used as a Klipper MCU; after flashing, the Klipper firmware matching the hardware and communication method still needs to be written.
- The method for entering Katapult is subject to the current product page: boards with a
RESETbutton can enter by quickly double-pressingRESET; boards with only aBOOTbutton require fully powering off first, then holdingBOOTwhile connecting USB, and releasing it once the device is recognized. After entering, there is usually a status LED blinking. - CAN, RS232, and USB use mutually independent Katapult firmware and cannot be mixed by simply changing the file name or using them directly.
- CAN firmware must also select the correct bus rate; common rates are
500Kand1M.
- The FLY-ERCF supports CAN and USB communication.
- The repository provides USB firmware, as well as CAN firmware for two speeds:
500Kand1M.
USB and CAN firmware cannot be used simultaneously. When selecting CAN firmware, the firmware speed must match the host and all CAN devices on the same bus.
Entering Bootloader Mode
Before starting, fully power off the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface cables, or touch terminals while the system is powered on.
The BOOT button is indicated in the figure:
- 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 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-ERCF Katapult firmware:
.txt 或其他扩展名。The firmware directory in the repository is:
FLY-Firmware/ToolBoard/ERCF
- 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 communication method and CAN rate, execute only one of the following flashing commands:
USB:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_CANBOOT_USB.uf2
CAN 500K:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_CANBOOT_500K.uf2
CAN 1M:
sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_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's USB and external power before restoring normal wiring. Do not plug or unplug the toolboard wiring harness while the system is powered on.
After re-powering, the status LED will blink when Katapult starts normally: