USB Firmware Compilation
Check DIP Switch
- When using normally, please set the
DIP switch to up
. - When switching the DIP switch, please push it all the way to the top; otherwise, you may not be able to connect to the lower-level machine!!!

SSH Connection to Host Machine
- Before firmware compilation, you need to use
WiFi to connect to the host machine via SSH
.
- First, please: Use WiFi to connect to the host machine SSH
- USB Firmware Burning
- Manual Compilation of USB Firmware
USB Firmware Burning
- A USB firmware has been precompiled in the FLYOS-FAST system, so there is no need to manually compile the firmware. Just execute the following command to burn it.
- You can also choose to
manually compile the USB firmware
.
- Input the following command through SSH connection to the host machine
fly-flash -d c5 -h -f /usr/lib/firmware/klipper-h723-128k-usb.bin

Fill in USB ID
- Open the host machine's WEB interface, and find it in the configuration options on the left sidebar:
![]() |
![]() |
- Copy the blue ID, and fill in the queried
ID
after theserial:
option under the[mcu]
section in theprinter.cfg
file. After saving and restarting, you can connect to the main board.
- Replace the ID below with the ID in the MCU configuration.
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
- If Klipper prompts
ADC out of range
, this is a normal phenomenon. Connect the heated bed and thermistor to the main board, configure the thermistor pins for the nozzle and heated bed, then save and restart.
Manual Compilation of USB Firmware
Klipper Firmware Compilation and Configuration Page Operation Instructions
Please ensure that the keyboard input method is in half-width mode, i.e., English mode.
- The up arrow key
↑
, down arrow key↓
are used to move the cursor up and down to select menu items. - The confirm key
Enter
or space keySpace
is used to check the menu or enter a sub-menu. - The exit key
ESC
is used to return to the previous menu. - The
Q
key is used to exit the Klipper firmware configuration page. - The
Y
key, when exiting the Klipper firmware configuration page and there is a prompt, click theY
key to save the configuration file.
If there are fewer options in the configuration page, please first check [ ] Enable extra low-level configuration options
to display some hidden options.
Below is an introduction on how to compile the firmware:
-
After connecting to SSH, enter the following command and press Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
Where
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
is to delete previous compilation data and firmware,make menuconfig
is to compile the firmware, after execution, the following interface should appear -
Select Enable extra low-level configuration options and press Enter
-
Enter the menu Micro-controller Architecture then select STMicroelectronics STM32 and press Enter
-
Enter the menu Processor model, select STM32H723 and press Enter
-
Select Bootloader offset, select: 128KiB bootloader
-
Select Clock Reference (8 MHz crystal), select: 25 MHz crystal
-
Communication interface, select: USB (on PA11/PA12)
- Press
Q
, and whenSave configuration
appears, pressY
-
Now the configuration should have been saved, and you should have exited to the command line interface
-
Enter
make -j4
to start compiling, which takes some time

- Finally, if the output is as follows, the compilation is successful

Firmware Burning
Execute the following command to burn the firmware
fly-flash -d c5 -h -f ~/klipper/out/klipper.bin

Search for USB ID
- Open the browser and enter the IP address of the host computer in the address bar, for example, if the IP address of my host computer is
192.168.101.179
, simply enter it and press Enter.

- Open the WEB interface of the host computer, find in the configuration options on the left sidebar:
![]() |
![]() |
- Click into
printer.cfg
, then clickDEVICES
on the top right
![]() | ![]() |
- Click
SERIAL
, then refresh
![]() |
![]() |
- Copy the ID, click the arrow to copy
![]() |
![]() |
Fill in USB ID
- Close
DEVICES
and fill in the ID
- Please modify the configuration file as follows:
[mcu]
serial: /tmp/klipper_host_mcu
to
[mcu host]
serial: /tmp/klipper_host_mcu
- Add:
[mcu]
serial: <replace with the ID you just queried>
![]() |
![]() |
- Fill in the ID in the configuration
- After filling in the ID, click
SAVE & RESTART
on the top right
![]() | ![]() |
- If Klipper prompts
ADC out of range
, this is a normal phenomenon. 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 mentioned in the document are examples. Each motherboard has a different ID, please fill in the actual obtained ID.