USB Firmware Compilation
SSH Connection to the Upper Computer
- Before compiling the firmware,
connect to the upper computer via SSH using WiFi
- First, please: Connect to the upper computer via WiFi using SSH
- USB Firmware Flashing
- Manually Compile USB Firmware
USB Firmware Flashing
- A USB firmware has already been pre-compiled in the FLYOS-FAST system, no need to manually compile it again. Execute the command below to flash it.
- You can also choose
Manually compile USB firmwareto compile the firmware yourself.
- Enter the following command via SSH connection to the upper computer
fly-flash -d auto -h -f /usr/lib/firmware/klipper/stm32f407-32k-usb.bin
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 |
Start Firmware Compilation
The following describes how to compile the firmware:
-
After connecting via SSH, enter the command below and press Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig -
Among these,
rm -rf ~/klipper/.config && rm -rf ~/klipper/outdeletes the previous compilation data and firmware. -
make menuconfigis for compiling the firmware; after execution, the interface below should appear.Loading... -
Select Enable extra low-level configuration options and press Enter.
Loading... -
Enter the menu Micro-controller Architecture, then select STMicroelectronics STM32 and press Enter.
Loading... -
Enter the menu Processor model, select STM32F407 and press Enter.
Loading... -
Select Bootloader offset, choose: 32KiB bootloader.
Loading... -
Communication interface, select: USB (on PA11/PA12).
Loading...
- Press the
Qkey; when Save configuration appears, press theYkey.Loading... - The configuration should now be saved and you should exit to the command line interface.
- Enter the following command to start compilation; this will take some time.
make -j4
- If the output below appears at the end, the compilation was successful.
- Due to Klipper version issues, the appearance of
out/klipper.binalone indicates success.Linking out/klipper.elfCreating bin file out/klipper.bin
Firmware Flashing
Execute the following command to flash the firmware
fly-flash -d auto -h -f /data/klipper/out/klipper.bin
Searching for USB ID
- Open a browser, enter the IP address of the host computer in the address bar. For example, if my host computer IP is
192.168.101.179, directly input it and press Enter.
- Open the WEB interface of the host computer, and find the following in the configuration options of the left sidebar:
Loading... |
Loading... |
- Click
printer.cfgto enter, then clickDEVICESon the top right corner.
Loading... | Loading... |
- Click
SERIAL, then refresh.
Loading... |
Loading... |
- Copy the ID, click on the arrow indicated to copy.
Loading... |
Loading... |
Filling in the USB ID
Please note that the ID below CANNOT be used!!!!
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
- Close
DEVICESand fill in the ID.
- In the configuration file, change:
[mcu]
serial: /tmp/klipper_host_mcu
- to:
[mcu host]
serial: /tmp/klipper_host_mcu
- And add:
[mcu]
serial: <Replace this with the ID you just queried>
Loading... |
Loading... |
- Fill in the ID into the configuration.
- After filling in the ID, click
SAVE & RESTARTon the top right corner.
Loading... | Loading... |
- If Klipper prompts
ADC out of range, this is normal. Connect the heated bed and thermistor to the motherboard, configure the thermistor pins for the nozzle and heated bed, then save and restart.
Note: All IDs appearing in the document are examples. The actual ID of each motherboard is different. Please fill in the ID you actually obtained.