USB Bridge CAN Firmware Compilation and Flashing
Confirmation Before Use
- The Gemini V2 does not have an onboard CAN transceiver chip and requires a CANHAT to use the USB bridge CAN function.
- The CANHAT has been discontinued. If you do not have a CANHAT module, please do not configure the CAN bridge according to this page.
- When using a CAN tool board, please confirm that the host
can0rate, the Gemini V2 bridge firmware rate, and the CAN tool board firmware rate are consistent.
Install CANHAT and Check DIP Switches
Before starting, completely shut down the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface wires, or touch terminals while the device is powered on.
- The red pin header of the CANHAT corresponds to the red female header on the Gemini V2, and the black pin header corresponds to the black female header. Incorrect orientation may damage the device.
- After installing the CANHAT, turn on DIP switches
1,2,5, and6, and keep all other switches off.
CAN Wiring
Before starting, completely shut down the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface wires, or touch terminals while the device is powered on.
- When connecting the CANHAT to the CAN tool board, verify the
CANH,CANL, and power supply positive and negative terminals according to the tool board documentation. - Termination resistors should be set at both ends of the CAN bus according to actual equipment requirements.
- If you need to flash the firmware of the CAN tool board, please refer to the corresponding tool board product documentation.
SSH Connection to the Host
- The Gemini V2 host must be connected via SSH before compiling the firmware.
- It is recommended to connect via WiFi or Ethernet cable over SSH before compiling the firmware.
- First, please: Connect to Gemini V2 Host SSH
Compile the USB Bridge CAN 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 useroot; switch to a regular user:su <username> - FLY Host System (FlyOS-FAST system)
Only supports login asrootuser (password:mellow)
Firmware Compilation Operation Guide
In the Klipper firmware configuration interface, only keyboard operations are supported; the mouse cannot be used.
| Key | Function |
|---|---|
| ↑ / ↓ | Move cursor up/down to select menu items |
| Enter / Space | Confirm selection, check options, or enter submenus |
| ESC | Return to the previous menu |
| Q | Exit the configuration interface |
| Y | If prompted when exiting, press Y to save the configuration |
Starting 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/outis to delete previous compilation data and firmware. -
make menuconfigstarts the firmware compilation, and the following interface should appear after execution.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, choose: 32KiB bootloader.
Loading... -
Select Communication interface, choose: USB to CAN bus bridge (USB on PA11/PA12).
-
As shown in the image, select CAN bus interface (CAN bus (on PB8/PB9)) --->.
Loading...
- Press the
Qkey, and when Save configuration appears, press theYkey.Loading... - The configuration should now be saved, and you will exit to the command line interface.
- Enter the following command to start compilation (this may take some time).
make -j4
- If the following output appears at the end, the compilation is successful.
- Due to Klipper version differences, the appearance of
out/klipper.binalone indicates success.Linking out/klipper.elfCreating bin file out/klipper.bin
Flash Firmware via TF Card
Before starting, completely shut down the printer and disconnect the power supply. Do not plug or unplug wiring harnesses, arrange interface wires, or touch terminals while the device is powered on.
- The Gemini V2 lower computer firmware is flashed using a TF card.
- After compilation is complete, download
klipper.binto the TF card and rename it tofirmware.bin. - After powering on and completing the flash, the
firmware.binfile on the TF card will disappear and aFLY.CURfile will appear, indicating a successful flash.
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 beClass 10or above. It is recommended to use TF cards from brands such as SanDisk
Download Firmware
-
Use the previously prepared TF card
-
Format using
SDFormatterLoading... -
Use MobaXterm_Personal, find the
klipperfolder in the left file directory, select it, then findoutand open it- Ordinary System Firmware Download Directory
- FlyOS-FAST System Firmware Download Directory
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...
CautionFlyOS-FASTSystem Notes- Firmware directory for
FAST System - The compiled firmware is located in the
/data/klipper/out/directory
Loading...- Firmware directory for
-
Download
klipper.binto the TF card, and rename it tofirmware.binfirmware.binLoading...
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:
- Open any folder.
- Click on
Viewat the top. - Check the
File name extensionsbox. - When renaming the file, make sure the complete file name is
firmware.bin.
- Power off the motherboard, insert the TF card into the motherboard
- Power on the motherboard, wait for 10 seconds
- Remove the TF card, insert it into the computer. If
firmware.binin the SD card has disappeared andFLY.CURappears, the flashing is successfulLoading...
Search for CAN UUID After Flashing
After the firmware flash is complete and the Gemini V2 has been powered on again, please do not connect the CAN tool board yet. First, search for the CAN UUID of the Gemini V2 motherboard itself. After confirming the motherboard UUID, connect and flash the firmware of the corresponding CAN tool board.