Skip to main content

USB Firmware Compilation and Flashing

Check DIP Switches

Power Off Operation

Before starting, completely turn off the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface wiring sequences, or touch terminals while the power is on.

USB Mode DIP Switches
  • Turn on DIP switches 3 and 4, and keep all other DIP switches off.
  • In this mode, the STM32 host MCU connects to the onboard host computer via the onboard USB.
Loading...

SSH Connection to the Host Computer

Caution
  • Before compiling the firmware, you need to connect to the Gemini V2 host computer via SSH.
  • It is recommended to connect via WiFi or Ethernet cable before compiling the firmware.
  • First, please: Connect to Gemini V2 Host Computer via SSH

Compile USB Firmware

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

Start Firmware Compilation

The following describes how to compile the firmware:

  • After connecting via SSH, enter the command below 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 the previous compilation data and firmware.

  • make menuconfig is for compiling the firmware. After execution, the following interface should appear.

    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, select: 32KiB bootloader

    Loading...
  • 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 have exited to the command line interface.
  • Enter the following command to start compiling. It will take a while.
make -j4
Loading...
  • Finally, if the following output appears, the compilation is successful.
  • Due to the Klipper version, as long as out/klipper.bin appears, it means success.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

TF Card Firmware Flashing

Power Off Operation

Before starting, completely turn off the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface wiring sequences, or touch terminals while the power is on.

Flashing Instructions
  • The Gemini V2 host MCU firmware is flashed using a TF card.
  • After compilation is complete, download klipper.bin to the TF card and rename it to firmware.bin.
  • After powering on and completing the flashing process, the firmware.bin file on the TF card will disappear and FLY.CUR will appear, indicating that the flashing was successful.

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 flashing is complete and the Gemini V2 is powered back on, please continue to search for the USB ID and fill it into printer.cfg.

View USB ID Acquisition Method

Loading...