掌控板3.0
本文引用的文件
esp32s3/firmware/boards/mpython_v3/board.jsonesp32s3/firmware/boards/mpython_v3/mpconfigboard.hesp32s3/firmware/boards/mpython_v3/modules/mpython.py
产品概述
掌控板3.0(mpython_v3)是一款面向K12创客与AIoT教学的开源硬件,基于ESP32-S3双核处理器,集成1.47寸LCD彩屏、音频编解码与喇叭、六轴传感器、磁传感器、光线传感器、麦克风、RGB灯、实体按键与触摸按键等丰富外设,支持WiFi与蓝牙5双模通信。其固件基于MicroPython与ESP-IDF二次开发,提供板载驱动与常用模块接口,配合图形化或Python编程环境,可快速实现环境监测、创意造物、物联网控制与基础AI应用等教学场景。
目标用户:中小学信息技术教师与学生、创客爱好者、IoT/AI入门开发者
核心价值:低门槛上手、丰富板载资源、跨平台生态、可扩展的IO能力
适用场景:编程教育、传感器实验、小游戏与电子宠物、智能家居节点、简易AI语音/视觉项目
章节来源
核心业务流程
本小节从“硬件—固件—应用”的角度梳理典型使用流程,便于理解各层职责与数据流向。
sequenceDiagram
participant User as "用户"
participant App as "应用代码<br/>examples/mpython_v3/main.py"
participant Lib as "板级库<br/>mpython.py"
participant HW as "板载硬件<br/>LCD/传感器/音频/IO"
participant Net as "网络栈<br/>WiFi/BLE"
User->>App : 编写并运行程序
App->>Lib : 调用显示/传感器/音频/IO API
Lib->>HW : 通过I2C/SPI/ADC/PWM等总线访问外设
Lib->>Net : 连接WiFi/开启热点可选
HW-->>Lib : 返回传感器数据/状态
Lib-->>App : 封装后的数据对象
App-->>User : 屏幕显示/声音反馈/联网结果
显示流程:应用通过TFT_displayer类写入帧缓冲,最终由底层LCD驱动刷新到1.47寸屏幕
传感器流程:I2C读取QMI8658C/MMC5603/LTR-308等数据,经库函数转换为物理量
音频流程:通过ES8388进行录音/播放,结合内置喇叭输出
网络流程:STA模式连接路由器或AP模式创建热点,供上层应用使用
章节来源
esp32s3/firmware/examples/mpython_v3/main.py:1-145esp32s3/firmware/boards/mpython_v3/modules/mpython.py:41-130esp32s3/firmware/boards/mpython_v3/modules/mpython.py:147-196
功能模块清单
以下按硬件与软件分层列出主要模块及其职责、用户价值与验收要点。
计算与通信
ESP32-S3双核处理器、512K SRAM、8MB PSRAM、16MB Flash;支持IEEE 802.11 b/g/n Wi-Fi与Bluetooth 5
价值:高性能算力与大容量存储,满足多媒体与AIoT需求
验收:能正常编译烧录、Wi-Fi/BLE可用、内存充足
显示模块
1.47寸LCD彩屏(ST7789),分辨率320x172,RGB565
价值:直观交互界面,适合信息展示与游戏
验收:屏幕点亮、字符/图像显示正常、刷新无闪烁
输入模块
实体按键A/B/Reset;触摸按键P/Y/T/H/O/N
价值:便捷人机交互,支持事件回调
验收:按键按下/释放检测准确,触摸阈值可调
传感器模块
六轴传感器QMI8658C(加速度计+陀螺仪)、磁传感器MMC5603、数字光线传感器LTR-308
价值:运动检测、方向感知、光照测量,支撑多种项目
验收:数据可读、量程/分辨率可配置、磁力校准可用
音频模块
ES8388音频解码芯片、NS4150功放、双麦克风CDX4013、1W贴片喇叭
价值:录音、播放、TTS/语音识别扩展,丰富交互体验
验收:录音/播放正常、音量可调、噪声测量合理
IO扩展
20通道数字I/O(含PWM/TouchPad)、6路12bit ADC(P0~P4,P6)、I2C、UART、SPI
价值:灵活接入外部模块与传感器
验收:GPIO读写、ADC采样、I2C扫描、串口通信正常
供电与电源管理
USB 5V或金手指3.3V供电,工作电压3.3V,最大工作电流700mA,最大负载电流1000mA
价值:多供电方式,适配不同场景
验收:USB供电稳定、3.3V引脚输出正常、带载不重启
固件与API
MicroPython + ESP-IDF,板级库封装TFT显示、WiFi、MOTION、Pin、Button/Touch等
价值:降低开发门槛,统一API风格
验收:示例程序可运行、API行为符合文档
章节来源
esp32s3/firmware/boards/mpython_v3/modules/mpython.py:41-130esp32s3/firmware/boards/mpython_v3/modules/mpython.py:147-196
数据与状态
核心数据模型
TFT显示:FrameBuffer(320x172 RGB565),通过TFT_displayer类进行字符绘制与刷新
传感器数据:加速度/角速度/磁场强度/航向角/光照值等,经I2C读取后转换
音频数据:录音PCM/WAV、播放音频流,音量与状态管理
网络状态:STA/AP模式切换、连接成功/失败、IP分配
关键状态流转
显示:clear→fill/pixel/text→show刷新
传感器:初始化→配置量程/分辨率→读取→校准(磁力)
音频:初始化→录音/播放→暂停/停止→释放
网络:扫描→连接→获取IP→断开/关闭
数据所有权边界
板级库负责底层驱动与数据封装,应用层仅调用高层API
I2C总线共享,需避免冲突(如内部传感器与外部设备共用)
章节来源
esp32s3/firmware/boards/mpython_v3/modules/mpython.py:41-130
关键约束与边界
非功能性需求
功耗与散热:最大工作电流700mA,持续高负载需注意散热
实时性:音频与显示刷新对时序敏感,应避免阻塞操作
可靠性:I2C总线共享,外部设备需正确上拉与地址分配
依赖与集成边界
固件依赖MicroPython与ESP-IDF,构建系统为CMake
板载I2C引脚固定(SCL=43, SDA=44),与内部传感器共享
LCD使用SPI(CS/RS/SCK/SDA/BL),音频使用I2S(DOUT/MCLK/DIN/BCK/LRCK)
业务约束
P4用于光线传感器、P10用于声音传感器,不可作为通用IO使用
WiFi与BLE同时使用时需注意信道与资源占用
录音与噪声测量不宜同时运行,避免数据异常
章节来源
esp32s3/firmware/boards/mpython_v3/mpconfigboard.h:13-28
附录:技术参数、IO接口、结构尺寸与原理图
技术参数
CPU:ESP32-S3双核,主频240MHz,512K SRAM,支持Wi-Fi与蓝牙5
存储:8MB PSRAM,16MB Flash
屏幕:1.47寸LCD彩屏,分辨率320x172,型号ST7789
传感器:QMI8658C六轴、MMC5603磁传感器、LTR-308光线传感器
音频:ES8388解码芯片、NS4150功放、双麦克风、1W喇叭
按键:实体按键A/B/Reset,触摸按键P/Y/T/H/O/N
供电:USB 5V或金手指3.3V,工作电压3.3V,最大工作电流700mA,最大负载电流1000mA
IO接口
20通道数字I/O(含PWM/TouchPad),6路12bit ADC(P0~P4,P6)
I2C、UART(1路,115200bps)、SPI支持
LCD屏引脚:GPIO33(BL)、GPIO34(CS)、GPIO35(RS)、GPIO36(SCK)、GPIO37(SDA)
音频解码芯片引脚:GPIO38(DOUT)、GPIO39(MCLK)、GPIO40(DIN)、GPIO41(BCK)、GPIO42(LRCK)
结构尺寸
参考官方结构尺寸图,便于外壳设计与安装定位
原理图
参考官方原理图PDF,了解完整电路连接与器件布局
章节来源