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

使用
make编译固件安装ardunio-cli工具
详细安装说明请查看Ardunio官方文档:Ardunio CLI Installation
由于我的系统Debian,直接使用脚本进行安装(需要使用网络代理):1
2
3cd ~
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上传Klipper固件
1
arduino-cli upload -i out/klipper.elf.hex -p /dev/ttyACM2 -b arduino:avr:micro查看主板ID
1
ll -a /dev/serial/by-id/