ATMEGA32U4刷入Klipper固件

本文最后更新于:2026年3月18日 晚上

前言

之前复刻了一张Prusa MMU的主板,想着后面等有一台Prusa I3 MK3S+机皇时再搭配MMU进行多色打印,但是实际测试发现Prusa对该固件进行了细致的调参,使用不匹配的硬件是无法正常使用的,会一直报错:Unknown ERRO,检查串口信息为:echo:MMU2:Command Error, last bytes: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 58,通过查询可知是电机与固件参数不匹配导致的[1],所以就想着将这块主板刷入Klipper固件继续使用,但是网上关于这方面的资料很少,经过一番搜索后才找到了相关资料,本文章对操作步骤进行记录,以便日后使用。

操作步骤[2]

  1. 配置Klipper固件
    由于ATMEGA32U4的FLASH空间很小(只有32KB),所以需要精简一些功能才能编译成功,否则会报错:region `text' overflowed by 14552 bytes
    以下是我的配置选项,仅作参考:
    ATMEGA32U4 Klipper Config

  2. 使用make编译固件

  3. 安装ardunio-cli工具
    详细安装说明请查看Ardunio官方文档:Ardunio CLI Installation
    由于我的系统Debian,直接使用脚本进行安装(需要使用网络代理):

    1
    2
    3
    cd ~

    curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh

    添加环境变量:

    1
    sudo nano ~/.bashrc

    在最后一行添加安装ardunio-cli的路径:

    1
    export PATH=$PATH:/your/new/path

    使配置生效:

    1
    source ~/.bashrc

    验证是否生效:

    1
    echo $PATH

    安装ardunio:avr工具包:

    1
    arduino-cli core install arduino:avr
  4. 上传Klipper固件

    1
    arduino-cli upload -i out/klipper.elf.hex -p /dev/ttyACM2 -b arduino:avr:micro
  5. 查看主板ID

    1
    ll -a /dev/serial/by-id/

特别鸣谢


ATMEGA32U4刷入Klipper固件
https://dongxunz.github.io/2026/03/18/3D打印/ATMEGA32U4刷入Klipper固件/
作者
dongxunz
发布于
2026年3月18日
许可协议