Skip to main content

USB Firmware Compilation

Start Compilation

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 use root; switch to a regular user:
    su <username>
  • FLY Host System (FlyOS-FAST system)
    Only supports login as root user (password: mellow)

Firmware Compilation Operation Guide

In the Klipper firmware configuration interface, only keyboard operations are supported; the mouse cannot be used.

KeyFunction
↑ / ↓Move cursor up/down to select menu items
Enter / SpaceConfirm selection, check options, or enter submenus
ESCReturn to the previous menu
QExit the configuration interface
YIf prompted when exiting, press Y to save the configuration

Below 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/out deletes previous compilation data and firmware, while make menuconfig starts the firmware compilation. After execution, the following interface should appear:

    Loading...
  • Select Enable extra low-level configuration options, then press Enter

    Loading...
  • Enter the menu Micro-controller Architecture, then select STMicroelectronics STM32, and press Enter

    Loading...
  • Enter the menu Processor model, select STM32H723, and press Enter

    Loading...
  • Select Bootloader offset, choose: 128KiB bootloader

    Loading...
  • Select Clock Reference (8 MHz crystal), choose: 25 MHz crystal

    Loading...
  • For Communication interface, select: USB (on PA11/PA12)

    Loading...
  • Press the Q key, when Save configuration appears, then press the Y key
    Loading...
  • The configuration should now be saved, and you will be back at the command line interface
  • Enter the following command to start compilation. This may take some time.
make -j4
Loading...
  • Compilation is successful if the following output appears at the end
  • Due to Klipper version differences, as long as out/klipper.bin appears, it indicates success
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Flashing Firmware

Preparation

  • Before starting to flash the firmware, please connect via SSH over the network
  • Off-brand memory cards may cause flashing to fail. Please use the recommended memory cards below to update the firmware
  • You need to prepare a TF card with a capacity not exceeding 32G. It is recommended that the transfer speed of the TF card be Class 10 or above. It is recommended to use TF cards from brands such as SanDisk

Download Firmware

  1. Use the previously prepared TF card

  2. Format using SDFormatter

    Loading...
  3. Use MobaXterm_Personal, find the klipper folder in the left file directory, select it, then find out and open it

    Caution
    • Notes for Ordinary Systems
      • This applies to ordinary host computer systems such as Raspberry Pi, FLY Pi, etc.
      • The compiled firmware is located in the /home/<your host computer username>/klipper/out/ directory
      Loading...
  4. Download klipper.bin to the TF card, and rename it to firmware.bin

    firmware.bin
    Loading...
Windows File Extension Display

Windows may hide file extensions by default, which can easily result in the file being saved as firmware.bin.txt or firmware.bin.bin. Before renaming the firmware, enable extension display in File Explorer:

  1. Open any folder.
  2. Click on View at the top.
  3. Check the File name extensions box.
  4. When renaming the file, make sure the complete file name is firmware.bin.
  1. Power off the motherboard, insert the TF card into the motherboard
  2. Power on the motherboard, wait for 10 seconds
  3. Remove the TF card, insert it into the computer. If firmware.bin in the SD card has disappeared and FLY.CUR appears, the flashing is successful
    Loading...

Search for USB ID After Flashing

After the firmware has been flashed and the mainboard has been powered on again, please continue to search for the USB ID.

View USB ID Retrieval Method

Loading...