USB to CAN Firmware Flashing
Start Compiling
- A host computer with the
klipper
service installed Connect via SSH over network - And the device should be properly connected to the host computer
- Note: Please use a standard host computer, such as Raspberry Pi, FLY board, etc. If it is a modified host computer (e.g., WiFi dongle, Redmi devices), we cannot provide technical support due to numerous issues with such hosts
- Firmware Compilation Guide for Standard Host
- FAST System Firmware Compilation Guide
- Applies to standard host computers running systems like Raspberry Pi, FLY board, etc.
- Do not use the
ROOT
user for any operations on such hosts - Please perform operations using a regular user account
- To switch users, for the
FlyOS-Armbian
system, please use the commandsu fly
to switch to the regular user - For other systems, use the command
su <your host username>
to switch to the regular user
su <your host username>
- Notes for the
FlyOS-FAST
system- The default username for the
FAST system
isroot
, and the password ismellow
- Firmware compilation must be performed using the
root
user - The
FAST system
only has theROOT
user—you do not need to switch users!!!
- The default username for the
::: tip
- Please ensure that the host machine can connect to the network normally.
- Before compiling the firmware, use SSH to log in to the host machine via the network.
- Do not use a serial port tool to log in to the host machine.
:::
Klipper Firmware Compilation and Configuration Page Operation Instructions
::: tip
Please make sure that the keyboard input method is in half-width mode, i.e., English mode.
:::
- The key
↑
(up arrow) and↓
(down arrow) on the keyboard are used to move the cursor up and down to select menu items. - The confirm key
Enter
or spacebarSpace
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. - When exiting the Klipper firmware configuration page and there is a prompt, press the
Y
key to save the configuration file.
::: warning
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 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
-
Among them,
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
is to delete previous compilation data and firmware.make menuconfig
is for compiling 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 STM32F407 and press Enter
-
Select Bootloader offset, select: 32KiB bootloader
-
Select Communication interface, select: USB to CAN bus bridge (USB on PA11/PA12)
- Press the
Q
key, and Save configuration appears, then pressY
key - Press the
Q
key, and Save configuration appears, then pressY
key - Now the configuration should be saved and you should return to the command line interface
- Enter the following command to start compiling, it will take some time
make -j4

-
When the output below appears, the compilation is successful
Linking out/klipper.elf
Creating hex file out/klipper.bin
Firmware Flashing
Execute the following command to flash the firmware
sudo fly-flash -d c8 -h -f ~/klipper/out/klipper.bin