Katapult New Setup Better Link
python3 flashtool.py -i can0 -u <uuid> -f klipper.bin | Advantage | Details | |-----------|---------| | CAN update convenience | No need to physically access USB port on each board in a multi-toolhead setup | | Recovery safety | Bootloader remains intact; reflash if main firmware corrupts | | Unified flashing tool | Works across different MCUs (STM32, RP2040, LPC) | | Faster development | No jumper pressing or USB replugging for each firmware change | | Small overhead | Negligible flash/RAM impact on modern boards | 4. Cons & Limitations | Limitation | Explanation | |------------|-------------| | One-time difficult initial flash | First installation may require SWD or DFU (extra hardware) | | Offset complexity | Must correctly match bootloader size with Klipper’s CONFIG_FLASH_START | | CAN tooling setup | CAN network, termination, and can0 interface must be correctly configured | | Board compatibility | Not all boards have documented Katapult support; some require custom builds | | Debugging opacity | If Katapult fails to jump to Klipper, error messages are minimal | 5. Comparison with Alternatives | Bootloader | Ease of Setup | CAN Update | Multi-MCU | Recovery | |------------|---------------|-------------|-----------|----------| | Katapult | Moderate | ✅ Yes | ✅ Yes | ✅ Good | | Bossa (native) | Easy (USB) | ❌ No | ❌ No | ✅ Good | | DFU (STM32) | Easy (USB) | ❌ No | ❌ No | ✅ Good | | CANboot (older) | Harder | ✅ Yes | ✅ Yes | ✅ Good |
python3 ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/... -f ~/klipper/out/klipper.bin Or over CAN: katapult new setup
make flash FLASH_DEVICE=0483:df11 Build Klipper with Katapult support (set offset to match bootloader size). Flash using: python3 flashtool