Skip to content
Ch 1215 / 37

Step 12.15 — Flash the Leviathan through Katapult

Step 15 of 37 · Chapter 12 — Software: Pi OS image, Klipper/Moonraker/Mainsail, firmware, printer.cfg

(no image — see text)

Parts: none.

Do: The Leviathan ships with Katapult and Klipper already installed, so you normally never touch DFU. Put it into the bootloader by double-clicking SW1, the RESET button, quickly, then confirm and flash:

ls /dev/serial/by-id/*
# expect a line containing:  usb-katapult_stm32f446xx_<id>-if00   (or stm32h743xx)

virtualenv -p python3 ~/katapult-env      # "command not found"? use: python3 -m venv ~/katapult-env
~/katapult-env/bin/pip3 install pyserial greenlet cffi python-can aenum
test -e ~/katapult && (cd ~/katapult && git pull) || (cd ~ && git clone https://github.com/Arksine/katapult)

~/katapult-env/bin/python3 ~/katapult/scripts/flashtool.py \
  -d /dev/serial/by-id/usb-katapult_stm32f446xx_<id>-if00 \
  -f ~/klipper/out/klipper.bin

check Check

The tool ends Verification Complete: SHA = <id> then Flash Success, the status LED goes out, and usb-Klipper_stm32f446xx_<id>-if00 is back. Restart Klipper with sudo systemctl start klipper.

What you're looking at

Katapult is the bootloader already on the board: a small program that runs first at power-up and can overwrite the main firmware over USB. Double-clicking RESET makes it stay there instead of handing control to Klipper, and the board re-appears as usb-katapult_….

The <id> is the MCU's, not the firmware's, so it is the same as before. Flash Success but no usb-Klipper_… line after 30 s: the menuconfig clock or processor was wrong (Step 12.14's Rev D+ callout). Katapult is intact, so double-click SW1 and go back to 12.14; do not go to 12.16.

Source: LDO Leviathan V1.2 guide