小智AI已经火了一阵,网上关于小智的短视频热度也非常高,它本质上是一款结合 ESP32 系列模组、数字功放和麦克风模块,可以进行大模型 AI 对话的 DIY 小制作。
于是,我又手痒搓了一块基于 ESP32-S3 、融合了小智所有必备组件、引出所有引脚的板子。这次依然是以作为中小学阶段科技课程中的工具为目标,而不是做一块“更强的语音助手”。
做一个更通用、具备实验拓展能力的控制板,其实也就相当于把所有的引脚引出,方便外接传感器和执行器,并且另外加上了电机驱动和充放电模块。
之前我也做过一块类似的板子,使用的是 ESP32-C3 的模组,当时小批量做了 100 片,已经差不多消耗完了,剩下的当做纪念品放那儿收藏了。
网上的套件和产品都是使用 ESP-IDF 开发的,对于使用 Arduino 开发的例子倒是不多。不过,这里先会使用小智AI 的固件进行测试,后期尝试基于Arduino版本的大模型对话。
功能设计
这次与时俱进,用上小智AI 的主流配置 ESP32-S3 模组(N16R8)。网上大部分都是拿现成的开发板、模组、传感器组成的 DIY 套件,只要组装完、烧录完固件就能用。
如果能把模组的引脚都引出来,那么这块板子不仅可以玩大模型对话,还能加上各种传感器和执行器,做一些别的实验或者小制作,当做一款普通的开发板用就行,不过整块板子成本较高(狗头)。
板子兼容 Arduino、ESP-IDF(如上图所示)、MicroPython 三种开发方式,这就是用ESP32的好处。
- 核心模组:ESP32-S3-WROOM-1-N16R8,支持 Wi-Fi + BLE,适配小智默认的大模型语音对话固件。
- 引脚设计:尽可能引出所有可用 GPIO,支持外接传感器、舵机、电机等常用模块。每个 GPIO 都配了对应的 GND 和 5V 或者 3.3V 接口,方便连接。
- 语音能力:预留了 MAX98357A 数字功放 + 麦克风拾音模块的位置,保留 AI 语音功能测试能力。
- 充放电管理:使用 IP5306_CK 做锂电充放电管理,支持 5V 2A 输入。
- 显示:预留了 OLED 屏幕的位置,支持状态显示或作为交互界面。
- 执行器:板载 L9110S 电机驱动芯片,便于后续拓展机械结构实验(如小车)。
与常见开发板的区别
市面上已有多种以 ESP32 为核心的开发板或套件,常用于 DIY 或 AI 语音尝试。这块板子做了以下微调:
- 通用性:除了语音对话,引出没用到的接口,比如教学中常用的输入输出接口。
- 适配教学使用:所有功能模块集中在板子正面,便于观察、讲解及批量贴片加工(贴片费用更低)。
- 兼顾项目实际:具备一定执行能力(电机驱动、充放电模块),更贴近项目制作需要。
发现几个小缺点:
- 板子太大了(如上图所示,和之前做的基于 ESP32-C3 模组的开发板、 Arduino 做对比比较):为了放下数字功放、拾音模块、OLED模块、充放电,而且尽量把所有的元器件放在了板子的正面(降低贴片成本),所以板子整体会显得特别大。
- IP5306 的那几个充电指示灯,绘制的顺序没注意(之前做的搭载 C3 的板子的顺序是对的),但不影响使用。
- 因为使用了充放电保护芯片LP5300B6F,但 Type-C 接口的 CC 引脚没有连接 5.1k 电阻并接地(下拉)。所以,快充头插入后无法识别设备,可能输出高于 5V 的电压,从而触发过压保护,导致供电中断,板子无法正常使用除了 5V 之外的快充供电或者充电。
- MAX98357A 模块在连接外置扬声器之后,发出巨大的雪花噪音或者啸叫声。目前原因已经找到,在焊接 ESP32-S3 模组的时候 GND 和一些 IO 口短路了(使用了如下图所示的低温锡浆+焊风枪处理焊接,第一次使用不太熟练🤣,弄得稍微有点多了),原理图和布线并没有什么问题。
这块板子并不试图替代任何市售开发板或语音助手产品。它只是将语音AI、嵌入式开发、电路实验、电机控制等内容统一到一个相对紧凑的板子上,便于教师组织教学,或学生做小型的物理+信息技术类项目。有以下几种使用可能:
- 科技课程中的硬件教学设备
- 项目式学习(PBL)中的 AI 拓展项目核心板
- 实验课题中需要外设控制与数据采集的中控板
- 参加学生科技创新类赛事时使用的开发板
后续计划
后续计划如下(但这块板可能不会再次打样):
- 优化电源管理的稳定性和正确性。
- 试一下 Arduino 版本的示例代码及开发文档。输出文档材料,适配科创课程。
- 搭配基础传感器包,测试通用实验项目(如语音控制小车、环境监测站等)。