《Muse Gadgets 实战》第 10 章:M5Stack 生态快速上手
本章玩 M5Stack 系的板子,给 Muse Gadgets 用的。
官方仓库目前支持 6 款 M5Stack 板子。主角是 StickS3,我把它从开箱到刷机走一遍。再把全系通用的操作和每块板的坑讲一遍。
6 款板子先认个脸
2026-10-22 读取官方仓库 esp32/devices/README.md 实测,M5Stack 系一共 6 款:
- StickS3:ESP32-S3,1.14 寸 135×240 LCD,8MB flash / 8MB PSRAM。本章主角。
- StickC Plus2:经典 ESP32,1.14 寸 135×240 LCD,8MB / 2MB。
- CoreS3:ESP32-S3,2 寸 320×240 触屏,16MB / 8MB。
- Core2:经典 ESP32,2 寸 320×240 触屏,16MB / 8MB。
- StopWatch:1.75 寸圆形 AMOLED,第 8 章讲过,这里不重复。
- Cardputer ADV:实验性板子。新手别碰,等它转正再说。
StickS3 刷机:先过 UiFlow2 这一关
StickS3 开箱就是坑。不是板子难,是它出厂带的 UiFlow2 固件太霸道。
UiFlow2 把 ESP32-S3 的 USB 接管了,芯片自己的 USB 串口被关掉。esptool 直接连,提示找不到芯片,别慌,正常的。更麻烦的是电源芯片还占着 GPIO0 做 boot 脚,板子连个 BOOT 键都没有。
正确姿势分三步走。
第一步:REPL 开串口
把 UiFlow2 切到 USB 模式,打开 REPL(比如用 mpremote repl),粘贴这 4 行官方代码:
import machine; m = machine.mem32
m[0x600C001C] = m[0x600C001C] | (1 << 10) # USB serial clock on
m[0x600C0024] = m[0x600C0024] & ~(1 << 10) # and out of reset
m[0x60038018] = 0x4200 # its pads on
m[0x60008120] = (m[0x60008120] | (1 << 20)) & ~(1 << 19) # give it the USB pins
粘贴完 REPL 不再应答,这是正常的。然后拔掉 USB 线再插上。板子这时候会被认成 USB JTAG/serial 口。
注意:这 4 行是官方 README 给的原样代码,别自己改。改错一个寄存器地址,串口就起不来。
第二步:备份原厂固件
备份是后悔药。StickS3 只有 8MB flash,整片备份命令:
python -m esptool --chip esp32s3 -p PORT --after no-reset read-flash 0 0x800000 sticks3.bin
PORT 换成自己电脑上的串口号。0x800000 就是 8MB 整片。--after no-reset 一定要加:板子一复位就又进 UiFlow2,不加这个参数,esptool 刚连上就被踢掉。
第三步:刷 Muse
tools/muse/board.sh flash sticks3 PORT
刷上 Muse 之后,USB 串口会一直开着。以后再刷机,不用重复第一步,直接刷就行。
想回出厂:python -m esptool --chip esp32s3 -p PORT write-flash 0 sticks3.bin,把备份写回去。
StickS3 的按键和电源逻辑
前面板按钮:按住说话(PTT)。侧边键:翻菜单。
Muse 里点关机,会关掉屏幕、功放和音频芯片,ESP32-S3 进 deep sleep。任意一个键都能唤醒。
电源键双击是彻底断电,再点一下开机。IMU、红外、Grove 口官方还没接上,教程里用不到。
M5Stack 全系共性:三条铁律
第一条:交互逻辑全系通用。前面板/主按钮=按住说话,侧边/功能键=菜单。换一块 M5 板子,上手不用重新学。
第二条:M5Unified 是官方参考驱动。电源芯片和外设的驱动都从这来,README 里反复引用它。
第三条:8MB flash 的板子用精简分区表。StickS3 和 StickC Plus2 只有 8MB flash,两个 app 槽都更小。编译前确认 overlay 对了,别拿 16MB 的分区表去刷。
每块板的专属坑
CoreS3:没有用户键。左侧 PWR 键就是按住说话,配对确认也是它(从 AXP2101 的按键中断读的)。长按 10 秒才是硬件断电。底部有个 RST,短按重启,长按 3 秒进 bootloader,绿灯亮了就是进了。esptool 连不上,先试长按 RST 这一招。板子是 1W 小喇叭,声音偏小,音量默认 100% 起步。摄像头、接近传感器、IMU、RTC、SD 卡、Grove 口都没接。
刷机命令:tools/muse/board.sh flash cores3。编译:tools/muse/board.sh build cores3。
StickC Plus2:经典 ESP32。控制台是 CH9102 桥,波特率一过 230400 就断流,所以刷机固定 230400:tools/muse/board.sh flash plus2。出声靠一个无源小蜂鸣器,回复声音小,别指望它当音箱。电池只报电压,充没充电、插没插 USB,板子自己都分不清。官方购买链接已经标注 end of life,不推荐新手现在买。
备份命令:python -m esptool --chip esp32 -p PORT -b 230400 read-flash 0 0x800000 plus2.bin。
Core2:只看版本。v1.0(AXP192 电源芯片)支持,v1.1(换了 AXP2101)不支持。买之前翻到背面看贴纸,或者看 PCB 丝印,确认版本再下单。操作是触屏:按住屏幕底部中间那块触控区(BtnB)说话。侧边电源键轻点休眠/唤醒,长按干净关机。控制台是 CP2104 或 CH9102F,刷机都用 230400。
备份命令:python -m esptool --chip esp32 -p PORT -b 230400 read-flash 0 0x1000000 core2.bin。
读者常问
StickS3 刷机时 esptool 找不到板子,是不是坏了?
不是。99% 是 UiFlow2 独占 USB 的问题。回头看本章第二步,REPL 粘 4 行代码、拔插 USB,板子认成 USB JTAG/serial 口就能刷了。先别怀疑硬件。
Core2 v1.0 和 v1.1 长得一样吗?
外观看不太出来。翻到背面看贴纸,或者看 PCB 上的丝印。v1.1 的 AXP2101 这个 port 不支持,买错了刷不上。
StickC Plus2 现在还能买吗?
官方已经 end of life。能买到也是库存。新手直接买 StickS3,别买停产的。
6 款里新手第一块买哪个?
StickS3。本章就是按它写的,流程最顺。StopWatch 颜值高但第 8 章讲过,CoreS3 屏幕大适合摆桌,Plus2 停产了,Core2 注意版本,Cardputer ADV 实验性别碰。
硬件准备
- M5Stack StickS3 一块。价格每天变,去 M5Stack 官网核对。(待补——联盟账号未下来,位置先留着,不放编造链接)
- USB 数据线一根。注意要数据线,不要充电线。
事实核实声明
- 6 款 M5Stack 板子参数(型号/芯片/屏幕/flash/PSRAM):2026-10-22 读取官方仓库 esp32/devices/README.md 实测。
- StickS3 的 UiFlow2 独占 USB、电源芯片占 GPIO0、无 BOOT 键:2026-10-22 读取官方 README 实测。
- REPL 4 行 machine.mem32 代码:2026-10-22 读取官方 README 原样引用,未改动。
- 备份命令(8MB flash,0x800000,–after no-reset):2026-10-22 读取官方 README 实测。
- 刷机命令 tools/muse/board.sh flash sticks3 / cores3 / plus2 / core2:2026-10-22 读取官方 README 实测。
- StickS3 按键逻辑(前面板 PTT、侧边菜单、双击电源键彻底断电、deep sleep 任意键唤醒):2026-10-22 读取官方 README 实测。
- CoreS3 的 PWR=PTT+配对确认(AXP2101 中断)、RST 长按 3 秒进 bootloader、1W 喇叭音量 100% 起步:2026-10-22 读取官方 README 实测。
- StickC Plus2 的 CH9102 桥 230400 波特率、无源蜂鸣器、电池只报电压、end of life:2026-10-22 读取官方 README 实测。
- Core2 只支持 v1.0(AXP192)、v1.1(AXP2101)不支持、看背面贴纸/PCB 认版本:2026-10-22 读取官方 README 实测。
- Cardputer ADV 实验性、8MB flash、无 PSRAM:2026-10-22 读取官方 README 实测。
- 仓库状态:2026-10-22 调 GitHub API 实测,star 2353,最后推送 2026-10-21,open issue 135,未归档。
相关章节
上一章:《Muse Gadgets 实战》第 9 章:墨水屏专题:桌面摆件制作(https://jinbufenzi.com/13489.html)
下一章:《Muse Gadgets 实战》第 11 章:树莓派变身 Muse 外设(待发布)
常见问题
StickS3 刷机时 esptool 找不到板子,是不是坏了?
不是。99% 是 UiFlow2 独占 USB 的问题。回头看本章第二步,REPL 粘 4 行代码、拔插 USB,板子认成 USB JTAG/serial 口就能刷了。先别怀疑硬件。
Core2 v1.0 和 v1.1 长得一样吗?
外观看不太出来。翻到背面看贴纸,或者看 PCB 上的丝印。v1.1 的 AXP2101 这个 port 不支持,买错了刷不上。
StickC Plus2 现在还能买吗?
官方已经 end of life。能买到也是库存。新手直接买 StickS3,别买停产的。
6 款里新手第一块买哪个?
StickS3。本章就是按它写的,流程最顺。StopWatch 颜值高但第 8 章讲过,CoreS3 屏幕大适合摆桌,Plus2 停产了,Core2 注意版本,Cardputer ADV 实验性别碰。

