USB Firmware Compilation
Start Compilation
Brief Guide to Firmware Compilation
Notes
- Network: Ensure the host (Raspberry Pi, etc.) is connected to the internet.
- Login Method: Must log in via SSH over the network; serial port access is disabled.
- Input Method: Keep the keyboard in English half-width mode.
SSH Login and User Switching
Use tools like MobaXterm, PuTTY, etc., to SSH into the host.
Switch User:
- Standard System (Official Raspberry Pi system, etc.)
Do not useroot; switch to a regular user:su <username> - FLY Host System (FlyOS-FAST system)
Only supports login asrootuser (password:mellow)
Firmware Compilation Operation Guide
In the Klipper firmware configuration interface, only keyboard operations are supported; the mouse cannot be used.
| Key | Function |
|---|---|
| ↑ / ↓ | Move cursor up/down to select menu items |
| Enter / Space | Confirm selection, check options, or enter submenus |
| ESC | Return to the previous menu |
| Q | Exit the configuration interface |
| Y | If prompted when exiting, press Y to save the configuration |
Starting Firmware Compilation
Below is an introduction on how to compile the firmware:
-
Connect via SSH, enter the following command, and press
Enter:cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfigHere,
rm -rf ~/klipper/.config && rm -rf ~/klipper/outis used to clear previous compilation configurations and firmware;make menuconfigis used to open the Klipper firmware configuration interface. -
Follow the order below to set each item one by one, completing each before moving on to the next.
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x(Top)Klipper Firmware Configuration3Processor model 选择 rp2040(Top)Klipper Firmware Configuration4Bootloader offset 选择 16KiB bootloader(Top)Klipper Firmware Configuration5Communication Interface 选择 USBSERIAL(Top)Klipper Firmware Configuration6启用 Optimize stepper code for 'step on both edges'(Top)Klipper Firmware Configuration7按 Q 键退出配置界面(Top)Klipper Firmware Configuration8出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
After completing the last two steps above, press
Qto exit the configuration interface, then pressYto save the configuration. -
Return to the command line and enter the following command, then press
Enterto start compiling:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/rp2040/bootrom.oCompiling out/src/rp2040/usbserial.oCompiling out/src/generic/usb_cdc.oCompiling out/src/rp2040/chipid.oCompiling out/src/rp2040/hard_pwm.oCompiling out/src/rp2040/spi.oCompiling out/src/rp2040/i2c.oPreprocessing out/src/rp2040/rpxxxx_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
Verify Entry into Burning Mode
Please fully shut down the printer and disconnect the power supply before starting. Do not plug or unplug cables, rearrange wiring, or touch terminals while the device is powered on.
- After connecting the motherboard to the host computer using a Type-C data cable, double-click the reset button. The LED on the motherboard will then start flashing.
- If the LED does not flash, re-burn the Katapult firmware: Burn Katapult Firmware
- If the LED does not flash, proceed to the next step only after the Katapult firmware has been burned.
Burn the Firmware
Starting the Flashing Process
Select the flashing method based on the current device status:
您的下位机现在是什么状态
Common Failure Causes
| Symptom | Possible Cause | Action |
|---|---|---|
usb-katapult_ cannot be found | Not in Katapult mode, cable is charging-only, or USB port is faulty | Double-click RST; use lsusb to confirm 1d50:6177; replace the cable and USB port |
Invalid firmware path '...' | The -f path does not exist, or the firmware has not been compiled yet | Go back to the compilation step and confirm that ~/klipper/out/klipper.bin exists |
Unable to open serial port | The Klipper service is occupying the serial port | Run sudo systemctl stop klipper and try again |
Device is not Katapult, exiting... | The device is not in Katapult mode | Double-click RST to re-enter; if it still does not work, refer to the Bootloader recovery documentation for the current product |
Flash Tool Error with a Traceback | Cable, power supply, or firmware type mismatch | Keep the complete output and check whether the wrong USB / USB-to-CAN firmware was flashed |
| Flashing succeeds but Klipper cannot connect | The firmware type does not match the wiring, or [mcu] has not been updated | Confirm whether usb-Klipper_ or canbus_uuid should appear, and update [mcu] |
Double-clicking RST produces no light and 1d50:6177 never appears | Katapult may be corrupted | Refer to the Bootloader (Katapult) recovery documentation for the current product |
Search for USB ID After Burning
After the firmware burning is complete and the motherboard is powered on again, proceed to search for the USB ID.