Skip to main content

CAN Firmware Compilation

Tip
  • The ERCF comes pre-flashed from the factory with Katapult firmware for CAN connection.
  • If using USB firmware flashing, you need to flash the USB Katapult firmware.
  • No need to flash again after the initial flashing.
  • Katapult Firmware Flashing

Start Compilation

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

Starting Firmware Compilation

The following explains 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 is used to compile the firmware. After execution, the following interface should appear.

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

    Loading...
  • Enter the Micro-controller Architecture menu, then select Raspberry Pi RP2040/RP235x and press Enter.

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

    Loading...
  • For Communication interface, select: USBSERIAL.

    Loading...
  • Select GPIO pins to set at micro-controller startup, input: gpio17
    Loading...
  • Press the Q key. 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. This will take some time.
make -j4
Loading...
  • Compilation is successful when the following output appears.
  • Due to Klipper version issues, the appearance of out/klipper.bin alone indicates success.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Wiring

  • Connect the tool board to the host using a USB data cable. The LED on the mainboard will then start blinking.
Warning
  • If the LED does not blink, please reflash the Katapult firmware: Flash Katapult Firmware
  • If the LED does not blink, proceed to the next step only after flashing the Katapult firmware.

Flashing 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

Verify Firmware Startup

  • If the firmware starts normally, the LED will light up.
    Loading...
Loading...