USB Bridge CAN Firmware Burning
SSH Connection to Host Machine
- Before compiling the firmware, you need to use
WiFi connection to connect to the host machine via SSH
- First, please: Use WiFi to Connect to Host Machine SSH
- USB Bridge CAN Firmware Burning
- Manually Compile USB Bridge CAN Firmware
USB Bridge CAN Firmware Burning
- A precompiled USB bridge CAN firmware is available in the FLYOS-FAST system, no need to manually compile the firmware, just execute the following command to burn it
- You can also choose to
Manually Compile USB Bridge CAN Firmware
and compile the firmware yourself
-
Carefully select based on your device, FLY system defaults to
1M
-
The C5 system defaults to 1M rate, if you need 500K, you need to modify the
canbus_bitrate
rate in the system settings -
This command burns the
1M
USB bridge CAN firmware
fly-flash -d c5 -h -f /usr/lib/firmware/klipper-h723-128k-usbcan-1m.bin
- This command burns the
500k
USB bridge CAN firmware
fly-flash -d c5 -h -f /usr/lib/firmware/klipper-h723-128k-usbcan-500k.bin


Manually Compile USB Bridge CAN Firmware
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Below is the 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
-
Select Communication interface, select: USB to CAN bus bridge (USB on PA11/PA12)
- Press
Q
key, aSave configuration
message appears, then pressY
key
-
Now the configuration should be saved, and you have exited to the command line interface
-
Enter the following command to start compiling, it takes some time
make -j4

- Finally, output the following content to indicate successful compilation

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


Search for CAN ID
-
Open the browser and enter the IP address of the host computer in the address bar. For example, if my host computer's IP is
192.168.101.179
, just type it in and press Enter. -
Open the WEB interface of the host computer, find in the configuration options on the left sidebar:
- For fluidd:
{…}
, click to enter and you can findprinter.cfg
- For mainsail:
Machine
, click to enter and you can findprinter.cfg
- Click
printer.cfg
, then clickDEVICES
on the top right
- Click
CAN
, then refresh
- Refresh for fluidd
- Refresh for mainsail
- Copy the ID, click the arrow to copy
- For fluidd, confirm whether the first arrow points to
Klipper
, if yes, click the right arrow to copy
- For mainsail, confirm whether the first arrow points to
Klipper
, if yes, click the right arrow to copy
- For fluidd:
Fill in CAN ID
- Close
DEVICES
and fill in the ID
- Please modify the following content in the configuration file:
[mcu]
serial: /tmp/klipper_host_mcu
to
[mcu host]
serial: /tmp/klipper_host_mcu
- Add:
[mcu]
canbus_uuid: <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 and configure the thermistor pins of 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.