CAN Firmware Compilation
- 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 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 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/outdeletes previous compilation data and firmware. -
make menuconfigis 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
Qkey. 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 will take some time.
make -j4
- Compilation is successful when the following output appears.
- Due to Klipper version issues, the appearance of
out/klipper.binalone indicates success.Linking out/klipper.elfCreating 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.
- 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
Flashing the Firmware
- 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:
Flashing Success Reference:
Firmware Update
- USB Firmware Update
- Bridge CAN Firmware Update
USB Firmware Update Steps
- Query the Mainboard ID
ls /dev/serial/by-id/*
/dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 in the image below is the mainboard ID
- Update the Firmware
cd ~/klipper/ && make flash FLASH_DEVICE=<your_mainboard_ID>
- Replace
<your_mainboard_ID>with the actual queried ID
Bridge CAN Firmware Update Steps
- Reset to Enter Flash Mode
<your_mainboard_ID> is the CANBUS UUID of the mainboard in the printer.cfg configuration file
- For standard upper computers, use the following code
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <your_mainboard_ID>
- For FLY upper computers, use the following code
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <your_mainboard_ID>
f95cee90e1f9 in the image below is the mainboard's CANBUS UUID (example only)
- Query the New Device ID
ls /dev/serial/by-id/*
- This is for reference only!
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00in the image below is the newly identified mainboard ID
- Flash the New Firmware
cd ~/klipper/ && make flash FLASH_DEVICE=<your_mainboard_ID>
Solutions for Flashing the Wrong Firmware
Method One: Quickly Enter Flash Mode
- Power off the mainboard
- After powering back on, quickly double-click the RESET button
- Re-enter flash mode
Method Two: Re-flash the Katapult Firmware
Click to View Katapult Firmware Flashing GuideVerify Firmware Startup
- If the firmware starts normally, the LED will light up.
Loading...