USB Bridge CAN Firmware Flashing
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
The following describes how to compile the firmware:
-
After connecting via SSH, enter the following command and press Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig -
Here,
rm -rf ~/klipper/.config && rm -rf ~/klipper/outis to delete previous compilation data and firmware. -
make menuconfigstarts the firmware compilation, and the following interface should appear after execution.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 STM32F405, and press Enter.
Loading... -
Select Bootloader offset, choose: 32KiB bootloader.
Loading... -
Select Communication interface, choose: USB to CAN bus bridge (USB on PA11/PA12).
-
As shown in the image, select CAN bus interface (CAN bus (on PB8/PB9)) --->.
Loading...
- Press the
Qkey, and when Save configuration appears, press theYkey.Loading... - The configuration should now be saved, and you will exit to the command line interface.
- Enter the following command to start compilation (this may take some time).
make -j4
- If the following output appears at the end, the compilation is successful.
- Due to Klipper version differences, 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
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.