Skip to main content

USB Bridge CAN Firmware Flashing

Connect to the Host

Core Connection Limitation

The Fly-D7 mainboard can only communicate with the host for Klipper via the Type-C USB port.

Loading...

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 following command and press Enter:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • Where rm -rf ~/klipper/.config && rm -rf ~/klipper/out deletes previous compilation data and firmware

  • make menuconfig compiles the firmware, and 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 STM32F072 and press Enter

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

    Loading...
  • Select Communication interface, choose: USB to CAN bus bridge (USB on PA11/PA12) and press Enter

  • Select USB to CAN bus bridge (USB on PA11/PA12) and press Enter, default parameters need no modification CAN bus interface (CAN bus (on PB8/PB9))--->

    Loading...
  • Please compare with the image below, ensure consistency before compiling

    Loading...
  • Press Q, when Save configuration appears, then press Y
    Loading...
  • The configuration should now be saved, and you should be back at the command line interface
  • Enter the following command to start compilation, which will take some time
make -j4
Loading...
  • If the following output appears at the end, compilation was successful
  • Due to Klipper version differences, only the appearance of out/klipper.bin indicates success
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Enter Flashing Mode

  • After connecting the mainboard to the host using a Type-C data cable, double-click the RST button. At this point, the LED on the mainboard will flash.
Loading...

Flash the Firmware

Starting the Flashing Process

  • Non-Fly official upper computers require Katapult installation
  • Install Katapult

Obtaining the Mainboard ID

Execute the following command to search for the device ID. Under normal circumstances, an ID similar to the image below should be displayed (Note: Each mainboard has a different ID):

ls /dev/serial/by-id/*

If the searched ID contains usb-katapult_stm32xxxxxxxx, you can proceed to the next step

Loading...

Flashing the Firmware

⚠️ Preparation
  • Ensure the firmware file has been compiled
  • Replace <your_mainboard_ID> in the command below with the actual ID obtained in the previous step
  • For standard upper computers, use the following code
    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <your_mainboard_ID>
  • For FLY upper computers, use the following code
    python3 ~/katapult/scripts/flashtool.py -d <your_mainboard_ID>

Flashing Process Reference:

Loading...

Flashing Success Reference:

Loading...

Firmware Update

USB Firmware Update Steps

  1. Query the Mainboard ID
ls /dev/serial/by-id/*
Identification Points

/dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 in the image below is the mainboard ID

Loading...
  1. Update the Firmware
cd ~/klipper/ && make flash FLASH_DEVICE=<your_mainboard_ID>
Note
  • Replace <your_mainboard_ID> with the actual queried ID
Loading...

Solutions for Flashing the Wrong Firmware

Method One: Quickly Enter Flash Mode

  1. Power off the mainboard
  2. After powering back on, quickly double-click the RESET button
  3. Re-enter flash mode

Method Two: Re-flash the Katapult Firmware

Click to View Katapult Firmware Flashing Guide
Loading...