Skip to main content

USB Bridge CAN Firmware Compilation

Start Compilation

Firmware Compilation Quick Guide

Notes

  • Network: Ensure the host machine (Raspberry Pi, etc.) is connected to the network.
  • Login Method: Must use SSH to log in via the network; disable serial port.
  • 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 (Raspberry Pi official system, 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 the cursor up/down to select menu items
Enter / SpaceConfirm selection, toggle options, or enter submenus
ESCReturn to the previous menu
QExit the configuration interface
YWhen exiting, press Y if prompted to save the configuration

Start 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/out deletes previous compilation data and firmware

  • make menuconfig compiles the firmware. After execution, the following interface should appear

  • 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 the Enter key

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

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

    Loading...
  • Select Communication interface and choose: USB to CAN bus bridge (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 have exited to the command line interface
  • Enter the following command to start compilation. This process may take some time.
make -j4
Loading...
  • The compilation is successful if the following content is output at the end
  • Due to Klipper version differences, the appearance of out/klipper.bin 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 failures. 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. SanDisk and other reputable brands are recommended.

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.

    Caution
    • Notes for Regular Systems
      • This 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. Power on the mainboard and wait for 10 seconds.

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

    Loading...
Loading...