USB Bridge CAN Firmware Flashing
SSH Connect to Host
- Before compiling firmware, use
Wi-Fi to connect to the host SSH
- USB Bridge CAN Firmware Flashing
- Manually Compile USB Bridge CAN Firmware
USB Bridge CAN Firmware Flashing
- The FLYOS-FAST system comes with a pre-compiled USB Bridge CAN firmware; no need to manually compile the firmware. Execute the command below to flash.
- You can also choose to
Manually compile USB Bridge CAN firmwareif preferred.
-
FAST system defaults to 1M rate; for 500K, modify the
canbus_bitratein the system configuration. -
This command flashes the
1MUSB Bridge CAN firmware
fly-flash -d auto -h -f /usr/lib/firmware/klipper/stm32h723-128k-usbcan-1m.bin
- This command flashes the
500kUSB Bridge CAN firmware
fly-flash -d auto -h -f /usr/lib/firmware/klipper/stm32h723-128k-usbcan-500k.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 |
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 选择 STMicroelectronics STM32(Top)Klipper Firmware Configuration3Processor model 选择 STM32H723(Top)Klipper Firmware Configuration4Bootloader offset 选择 128KiB bootloader(Top)Klipper Firmware Configuration5Clock Reference 选择 25 MHz crystal(Top)Klipper Firmware Configuration6Communication interface 选择 USB to CAN bus bridge (USB on PA11/PA12)(Top)Klipper Firmware Configuration7CAN bus interface 选择 CAN bus (on PB8/PB9)(Top)Klipper Firmware Configuration8USB ids 保持默认,无需进入(Top)Klipper Firmware Configuration9CAN bus speed 设置为 1000000(Top)Klipper Firmware Configuration10GPIO pins to set at micro-controller startup 保持为空(Top)Klipper Firmware Configuration11GPIO state at micro-controller startup 选择 Not set此项是 FLYOS-Klipper 功能。通常保持
Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明。(Top)Klipper Firmware Configuration12按 Q 键退出配置界面(Top)Klipper Firmware Configuration13出现 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/stm32/usbotg.oCompiling out/src/generic/canserial.oCompiling out/src/../lib/fast-hash/fasthash.oCompiling out/src/stm32/fdcan.oCompiling out/src/stm32/chipid.oCompiling out/src/generic/usb_canbus.oCompiling out/src/stm32/hard_pwm.oPreprocessing out/src/generic/armcm_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 与系统版本变化。
Firmware Flashing
Execute the following command to flash the firmware
fly-flash -d auto -h -f /data/klipper/out/klipper.bin
HID Flashing Failure Prompt
If the prompt shown in the image below appears, please follow the steps below to troubleshoot:
- Confirm that the DIP switch is in the correct position
- If the DIP switch is correct but flashing still fails, please refer to BL Firmware Flashing
Search CAN ID
- Open the browser, enter the host computer's IP address in the address bar. For example, if my host computer's IP is
192.168.101.179, directly input it and press Enter.
- Open the WEB interface of the host computer, and in the sidebar's configuration options, find:
Loading... |
Loading... |
- Click
printer.cfgto enter, then clickDEVICESat the top right.
Loading... | Loading... |
- Click
CAN, then refresh.
Loading... |
Loading... |
- Copy the ID by clicking where the arrow points.
Loading... |
Loading... |
Fill in the CAN ID
- Close
DEVICESand fill in the ID.
- Please change the following in the configuration file:
[mcu]
serial: /tmp/klipper_host_mcu
to
[mcu host]
serial: /tmp/klipper_host_mcu
- Add:
[mcu]
canbus_uuid: <Replace here with the ID you just queried>
Loading... |
Loading... |
- Fill the ID into the configuration.
- After filling in the ID, click
SAVE & RESTARTat the top right.
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.