ESP32-S31 × Scratch

积木拖完,
直接跑在板子上

妙想block 把 Scratch 编辑器和 ESP32-S31 连起来:在编辑器里就能看见设备、打开板子上的作品、把新作品存回板子。不用再切窗口、拷文件、烧固件。

3种开发板卡
2.5 s设备心跳发现
0本地依赖(Arduino / ESP32)

编辑器里的三件事

设备、作品、运行,都在一个下拉里

不用打开资源管理器去找 SD 卡,也不用记哪块板子刷了哪个程序。

先看见板子

菜单栏的设备按钮写着当前连的是哪块板。连着时描边变绿,掉线立刻还原成「未连接」——不用再猜它是不是还活着。

作品就在板子上

列表直接读板子的 SD 卡:↑ 存当前作品、+ 新建、改名、删除。没有积木原件的作品才允许改名或删除,手滑不了。

存下去就能跑

保存时把工程转成板子能跑的 Python 写进去,同名直接覆盖。大工程会显示进度,不会让你对着转圈猜。

开发板库

三种板卡,两条完全不同的链路

后两张卡进的是同一套工作区(积木 + 代码 + 串口),但背后生成的语言和下载方式不一样。

板载运行
MuseBlockESP32-S31
  • 生成MicroPython(存板子)
  • 传输Wi-Fi 桥接,UDP 发现 + HTTP
  • 依赖需要本地桥接服务
  • 按钮存到板子
经典单片机
Arduino Uno / NanoAVR
  • 生成C++(.ino)
  • 编译浏览器内 wasm 版 avr-gcc → hex
  • 上传Web Serial,按 stk500 烧写
  • 依赖无本地进程
现代模组
ESP32 / ESP32-S3MicroPython
  • 生成MicroPython(main.py)
  • 编译没有这一步
  • 上传写 /main.py → Ctrl-D 软复位
  • 依赖无本地进程

上手

三步,从积木到断电也能跑

01

打开编辑器

本机开发跑 npm start,浏览器进 localhost:8601;线上直接开网页版。

02

连上板子

点设备按钮 → 选板子卡片 → 输连接密码(默认 museblock)。密码只在板子的「设置」里改。

03

存下去,拔线也在跑

拖好积木点 ↑ 存到板子;存完就能拔掉数据线,板子自己接着跑。

硬件与固件

ESP32-S31 板级适配

引脚、板级定义、构建脚本都收敛在 usermods/board_s31/,换芯片只改一处。

芯片
ESP32-S31(ESP32-S31-WROOM-3)
主频
320 MHz
内存
16 MB PSRAM
固件
MicroPython 1.30(ESP-IDF 6.2 移植)
设备发现
UDP beacon,每 2.5 秒一次
设备接口
HTTP 8266(除 auth 外都要 token)
存储
SD 卡(/sd/app/…)
默认密码
museblock,只能在板子上改

让积木落到硬件上

装好编辑器、刷好固件,第一块作品五分钟后就能在板子上亮起来。

打开编辑器 →