以下是烧录 MicroPython 固件到 ESP32 开发板的完整步骤指南(支持 Windows/Linux/macOS 三大操作系统):
一、准备工作
必备工具和材料:
- ESP32 开发板(如 ESP32-DevKitC)
- USB 数据线(支持数据传输)
- 固件文件:
- 下载地址:MicroPython 官网 ESP32 固件页
- 推荐选择:
GENERIC
版本(通用型)或根据开发板型号选择专用固件
- 烧录工具:
esptool.py
(Python 编写的官方烧录工具)- 安装命令:
pip install esptool
二、详细烧录步骤
方法一:使用 esptool(命令行 - 推荐)
# 1. 查看ESP32连接的串口(Windows为COMx,Linux/Mac为/dev/tty*)
ls /dev/tty.* # Mac/Linux查看
# 或检查设备管理器(Windows)
# 2. 擦除原有固件(重要!)
esptool.py --chip esp32 --port <PORT> erase_flash
# 示例(Windows): esptool.py --chip esp32 --port COM3 erase_flash
# 示例(Mac): esptool.py --chip esp32 --port /dev/tty.usbserial-0001 erase_flash
# 3. 烧录MicroPython固件
esptool.py --chip esp32 --port <PORT> --baud 460800 write_flash -z 0x1000 <固件路径>
# 完整示例:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 ~/Downloads/esp32-20220618-v1.19.1.bin
方法二:使用 Thonny IDE(图形界面 - 适合新手)
- 安装 Thonny IDE
- 打开 Thonny → 右下角选择解释器 → MicroPython (ESP32)
- 点击端口右侧的 “Install or update firmware”
- 选择对应固件文件和端口 → 点击 “Install”
- 等待进度条完成(约30秒)
三、关键参数说明
参数 | 作用 | 典型值 |
---|---|---|
--chip | 芯片型号 | esp32 (标准版)/esp32s3 (S3系列) |
--port | 串口端口 | Windows: COM3 , Mac: /dev/cu.usbserial-* , Linux: /dev/ttyUSB0 |
--baud | 烧录波特率 | 460800 (高速) 或 115200 (兼容) |
-z | 启用压缩传输 | 固定使用 |
0x1000 | 烧录起始地址 | MicroPython 固定地址 |
四、验证烧录成功
- 使用串口工具连接(波特率 115200):
# Linux/Mac 使用 screen screen <PORT> 115200 # Windows 使用 Putty 或 Thonny 终端
- 复位 ESP32 后应看到提示符:
>>>
- 测试命令:
>>> import machine >>> machine.freq() # 查看CPU频率(应返回240000000) >>> print("Hello MicroPython!")
五、常见问题解决
1. 无法识别串口
- 解决方法:
- 安装 USB 驱动:CP210x 驱动
- 检查数据线(必须支持数据传输)
- Linux 用户添加串口权限:
sudo usermod -aG dialout $USER
2. 烧录超时/失败
- 解决方法:
- 按住开发板 BOOT 按钮 再插 USB 进入下载模式
- 降低波特率:
--baud 115200
- 检查电源(推荐使用外部供电)
3. 固件不启动
- 解决方法:
- 确认烧录地址为
0x1000
- 尝试其他固件版本(如最新稳定版)
- 完整擦除:
esptool.py erase_flash
- 确认烧录地址为
六、进阶烧录选项
1. 自定义分区表
esptool.py write_flash 0x1000 firmware.bin 0x8000 partitions.csv 0x10000 app.bin
2. 同时烧录程序文件
esptool.py write_flash 0x1000 firmware.bin 0x210000 main.py
3. 使用批处理脚本(Windows)
@echo off
esptool.py -p COM3 -b 460800 erase_flash
esptool.py -p COM3 -b 460800 write_flash -z 0x1000 esp32_firmware.bin
echo Firmware update complete!
pause
提示:首次烧录后建议更新 WebREPL 以支持 WiFi 编程:
>>> import webrepl_setup
七、各操作系统命令对照表
操作 | Windows | macOS | Linux |
---|---|---|---|
查看串口 | 设备管理器 | ls /dev/cu.* | ls /dev/ttyUSB* |
安装驱动 | CP210x驱动 | 通常免驱 | sudo apt install python3-serial |
终端连接 | Putty/Thonny | screen /dev/cu.usbserial-0001 115200 | picocom /dev/ttyUSB0 -b115200 |
通过以上步骤,您可以在 5 分钟内完成 ESP32 的 MicroPython 固件烧录!🎉
资源推荐: