Skip to main content

USB Firmware Compilation

Start Compilation

Firmware Compilation Quick Guide

Precautions

  • Network: Ensure the host machine (Raspberry Pi, etc.) is connected to the network.
  • Login Method: Must log in via SSH over the network; serial port login 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 machine.

Switching Users:

  • Standard Systems (Official Raspberry Pi OS, etc.)
    Do not use root. Switch to a regular user:
    su <username>
  • FLY Host Machine (FlyOS-FAST System)
    Only supports logging in as the root user (password: mellow).

Firmware Compilation Operation Guide

In the Klipper firmware configuration interface, only keyboard operations are supported; mouse usage is not possible.

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

Below is how to compile the firmware:

  • After connecting to SSH, enter the following command and press the Enter key:

    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, and make menuconfig compiles the firmware. After execution, the following interface should appear:

    Loading...
  • Select Enable extra low-level configuration options and press the Enter key:

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

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

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

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

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

    Loading...
  • Press the Q key, and when Save configuration appears, press the Y key:
    Loading...
  • The configuration should now be saved and you will exit to the command line interface.
  • Enter the following command to start compilation. It will take some time:
make -j4
Loading...
  • If the following content is output, the compilation is successful:
  • 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

Flash Firmware

Preparation

  • Before starting to flash the firmware, please first Connect via SSH using network
  • Off-brand memory cards may cause flashing to fail. Please try to use the recommended memory cards below for firmware updates.
  • Prepare a TF card with a capacity not exceeding 32G. It is recommended that the TF card's transfer speed must be class10 or higher. It is advised to use TF cards from brands like SanDisk.

Download Firmware

  1. Use the TF card prepared earlier.

  2. Format it using SDFormatter.

    Loading...
  3. Use the left file directory in MobaXterm_Personal to find klipper, then locate and open out.

    warning
    • Notes for Regular Systems
      • This category applies to regular host systems like Raspberry Pi, FLY Pi, etc.
      • The compiled firmware is located in the /home/<Your Host Username>/klipper/out/ directory.
      Loading...
  4. Download klipper.bin to the TF card and rename it to firmware.bin.

    firmware.bin
    Loading...
  5. Power off the mainboard and insert the TF card.

  6. Wait for 10 seconds with the mainboard powered on.

  7. Remove the TF card and insert it into the computer. If the firmware.bin file disappears from the SD card and FLY.CUR appears, the flashing was successful.

    Loading...
Loading...