DIY 所需硬件/模块清单
开发板:ESP32-S3-DevKitC-1(选择 WROOM N16R8 模组)
数字麦克风:INMP441 / ICS43434 / ZTS6672 麦克风模块(引脚兼容)
功放:MAX98357A / HT517 音频功放模块(引脚兼容)
腔体喇叭:8Ω 2~3W 或 4Ω 2~3W 喇叭
导线:跳线一盒,或杜邦线若干
400 孔面包板 2 块
128x64 或 128x32 I2C(IIC) 液晶显示屏,SSD1306 驱动(推荐)
ML307R Cat.1 4G 模组,AT固件版(可选)
6*6mm 立式 轻触开关(3个,可选)
LED单色灯,接在开发板GPIO18引脚,可以通过小智AI语音控制开关灯及查询状态(可选)
除此之外,你可能还需要用到万用表,电烙铁套件,钳子三件套,Type-C数据线,用于烧录固件的PC。
注意:当前购物平台有不少店铺有小智AI面包板套件购买,可以一键购买,也可以选择单个硬件模块购买配置。
1.1 开发板(ESP32-S3-DevKitC-1)
尽量要选择 N16R8,即 16 MB Flash 和 8 MB PSRAM 的配置。推荐购买带有乐鑫科技Logo标记的开发板,确保性能稳定、WIFI/BL天线信号正常。
因为 N8R2 需要把 PSRAM 的工作模式从 OCTAL 改为 QUAD,Flash大小改为 8MB,自定义分区表改为 partitions_8M.csv,重新编译固件。
ESP32-S3-WROOM-1 模组(带乐鑫Logo)
ESP32-S3-DevKitC-1开发板
部分开发板的 RGB 灯是没有接通的,需要焊接灯座旁边的两个小焊点才能使用,参见下图位置2。建议在购买的时选择已经接通RGB灯的,查看商品详情图或者咨询卖家。
1.2 MEMS 数字麦克风(INMP441 / ICS43434 / ZTS6672)
INMP441(停产)
ZTS6672(新品)
ICS43434(进口)
这个电子元件最小,焊接难度较大,新手建议买焊接好的。自行焊接要注意一定 INMP441 不可以让引脚和半环形金属线接通。
INMP441 这类麦克风比较脆弱,如果使用杜邦线接线,要注意不能把 VDD 和 GND 反接,否则容易烧坏(可以多买一个备用)。
INMP441 麦克风芯片已停产,目前市面上皆为存货或翻新元件,可自行在购物平台搜索购买。
受关税影响,进口麦克风已经涨价太高,可购买国产替代麦克风芯片模块。
ICS43434 麦克风下单地址:https://item.taobao.com/item.htm?id=905588364356
1.3 数字功放(MAX98357A 或 HT517 音频功放模块)
推荐 HT517音频功放模块,使用1.25mm喇叭接口,无需剪线或焊接,1.25mm接头喇叭直接插接线,对接开发板接线与 MAX98357A 音频功放模块引脚顺序一致。
如果购买 MAX98357A 使用BGA封装的,注意不用短接GND与GAIN引脚。
本文档教程使用面包板连接,建议购买已经焊接排针的配件,有能力者也可以自行焊接。
MAX98357A 音频功放模块(常规封装)
HT517 音频功放模块
1.4 腔体喇叭(8Ω 3W)/ (4Ω 3W)
端子可自行选择或不要
1.5 导线(跳线一盒,杜邦线若干)
注意:如果你使用杜邦线连接(不使用面包板),请在购买杜邦线加上几条1分2的分叉线(母线)用于麦克风和数字功放的短接,以解决开发板的电源3V3和接地GND的排针接口不够用的问题。
1.6 面包板(2 块 可拼 400 孔,可选,推荐)
如果没有面包板,我们在开发板上接的电子元件越来越多后,很容易就会乱成一团糟。
面包板400孔外观图
面包板内部结构图,分区横向连通,竖条为正负极
如图,两块 400 孔的面包板拼成一块,把开发板装在中间,可使面包板的利用率最大化。
面包板基础知识:面包板是分区块的,中间两个区块相同数字横向的每行是连通的(中间隔断除外),正负红蓝线是竖向每列连通的(如有隔断除外)。
1.7 OLED 显示屏(I2C/IIC 接口,推荐,可选)
0.91寸 128x32 OLED单色屏幕
0.96寸 128x64 OLED单色/双色屏幕
购买时需要确认是使用 SSD 1306 驱动的,建议买GND开头的新版OLED屏幕。
1.8 Cat. 1 4G 模块(ML307R,可选)
目前有几家卖4G模块的,小蓝鲸物联和度云物联都是官方代理(可到网购平台自行搜索购买)
ML307R 是中移物联推出的 Cat. 1 物联网模块,DC 版比 DL 版增加了 OpenCPU SDK 二次开发的支持。
购买时需要确认是 AT 固件版本,ML307R DL或DC版本都可以适用于小智AI面包板4G固件。
注:此模块用来连接国内的 4G 移动数据网络,实现AI联网对话聊天。(不能打电话和发短信,使用该模块后可以不用连接WIFI,适合到户外等无WIFI网络的环境下使用。当然没有WIFI时也可以使用手机热点,具体请自己视情况考虑是否选择配备。)
注:建议4G模组选择可插拔卡的,如果经常使用可以使用自己的手机号码副卡,4G模块自带的流量卡每月流量可能不够(一般不能充值流量),或者需要另选流量套餐比较多的流量卡。
1.9 NT26K 4G通信核心板
NT26K 是 利尔达提供的 4G模块,相对比之前的ML307R 4G模块,在网络速度(可达220kb/s) 和 低功耗待机(<1mA)上都有较好的表现。
1.10 微动开关/按钮
使用尺寸6*6MM微动开关/轻触开关,在面包板上请岔开横行按示意图插到面包板,按钮如下图示:
注意:为防止新手短接引脚,虾哥推荐2脚的直插按钮,替代4脚的(老手忽略)。
购买链接:https://item.taobao.com/item.htm?id=42823169259
面包板接线方案
2.1 ESP32-S3-DevKitC-1开发板(乐鑫标准版 44 IO引脚)接线图
新版/第二版接线方案适用于小智AI聊天机器人固件版本 >=V0.3.0,为了方便快速上手和演示,均使用了飞线(跳线)进行连接,具体引脚对接参考如下表格:
注意:如果你使用杜邦线连接(不使用面包板),请在购买杜邦线可以买几条1分2的分叉线(母线)用于麦克风和数字功放的短接,以解决开发板的电源3V3和接地GND的排针接口不够用的问题。
开发板为 44 引脚标准版请参考下图接线,无ML307R-4G模块不用连接4G模块接线:
注意:如果用户使用的MAX98357数字功放是 BGA 封装的(芯片比较上图中的小),可以不接 GAIN_GND 这根短线(上图左边绿色短线),如用户接线正常工作则不用管。
麦克风焊接反了解决方案
如果用户的麦克风焊接反了(进声孔和麦克风图标丝印朝下,排针朝上),如下图示。
1)请参考麦克风反接图乐鑫标准版44引脚接线(点击图片放大),也可在群文件里参考麦克风和对应开发板的反接图接线,其他模块参考上图接线不变。
2)如果有电烙铁和风枪等工具,动手能力强的可以自己改过来,新手不建议自己改焊接。
最简单直白的理解就是把下方表格中的 ESP32S3开发板的加粗的数字/字母引脚,和 麦克风、数字功放、显示屏、4G模块等加粗的英文字母引脚,用导线连接起来,短接的意思就是也连导线在一起。
开发板引脚接线请以表格对照为准!!!预览图只作外观样式参考!!!
接线请按照表格的引脚进行接线,接线完成后大致预览效果如下图:
关于ML307R 4G模块接线说明示例如下:
注意:如果开发板上LDO是AMS1117,LDO正极对应位置如上图。如果不是最好用万用表测试一下电压确认
使用短线尽可能减少信号干扰。
目前两个版本接线方案的固件互不兼容,烧录固件时,要留意是哪个版本(固件版本在 0.3 之前的都是采用第一版接线方案),如果是自己编译固件,可以自行配置 GPIO。
2.2 ESP32-S3-DevKitC-1 开发板(GOOUUU 果云版 42 IO引脚)接线图
如果你买到的开发板相关引脚与下图示一致,为ESP32S3开发板版本2,相对于开发板版本1,主要区别是少几个引脚,多了个4个固定开孔(支持铜柱等固定),接口方面版本1左上方3V3供电口调整到左下方,版本2左边增加了GPIO19、GPIO20,版本1左边的GPIO13、GPIO14、5VIN对应调整到了版本2的右下方,版本2少了左右最下方的两个GND,版面元件布局等其他调整,参考下方图示。
ESP32S3开发板版本2接线图与版本1与外部模块 麦克风、数字功放,OLED屏幕、4G模块等导线接线图GPIO接口一样,使用同样的程序固件,见下方接线表格,实物对接请参考下方图例。
注意:如果你使用杜邦线连接(不使用面包板),请在购买杜邦线可以买几条1分2的分叉线(母线3条)用于麦克风和数字功放的短接,以解决开发板的电源3V3和接地GND的排针接口不够用的问题。
开发板为 42 引脚果云版参考下图接线,无ML307R-4G模块不用连接4G模块接线:
注意:如果用户使用的MAX98357数字功放是 BGA封装的(芯片比较上图中的小),可以不接 GAIN_GND 这根短线(上图左边绿色短线),如果接了正常工作就继续使用。
麦克风焊接反了解决方案
如果用户的麦克风焊接反了(进声孔和麦克风图标丝印朝下,排针朝上),如下图示。
1)请参考麦克风反接图果云版42引脚接线(点击图片放大),也可在群文件里参考麦克风和对应开发板的反接图接线,其他模块参考上图接线不变。
2)如果有电烙铁和风枪等工具,动手能力强的可以自己改过来,新手不建议自己改焊接。
最简单直白的理解就是把下方表格中的 ESP32S3开发板的加粗的数字/字母引脚,和 麦克风、数字功放、显示屏、4G模块等加粗的英文字母引脚,用导线连接起来,短接的意思就是也连导线在一起。
注意:如果开发板上LDO是AMS1117,LDO正极对应位置如上图。如果不是最好用万用表测试一下电压确认
开发板引脚接线请以表格对照为准!!!预览图只作外观样式参考!!!
2.3 ESP32-S3-DevKitC-1 开发板 使用 NT26K 4G模块接线图
小智AI最新版本增加了利尔达公司提供的NT26K 4G模块ESP32-S3开发板方案,相对比之前的ML307R 4G模块,在网络速度(可达220kb/s) 和 低功耗待机(<1mA)上都有较好的表现,请参考小智AI最新版本 V2.2.2版本及固件,具体如下:
相关固件及代码地址
Github源代码地址:https://github.com/78/xiaozhi-esp32
面包板NT26K相关固件:
暂时无法在飞书文档外展示此内容
NT26K 4G 扩展版4线接线
面包板左下角增加了一个 4G 模块,麦克风和音频模块、屏幕按键接线表格参考以上2.2和2.3,接线表如下:
2.3.1 ESP32-S3-DevKitC-1开发板(乐鑫标准版 44 IO引脚)NT26K 4G模块接线图
本接线方案适用于小智AI聊天机器人固件版本 >=V2.2.2,板级目录为 main\boards\bread-compact-nt26,为了方便快速上手和演示,均使用了飞线(跳线)进行连接,具体IO引脚对接参考如下:
开发板为 44 引脚标准版请参考下图接线,注意NT26K 4G模块接线为4线:
面包板接线图示例参考
2.3.2 ESP32-S3-DevKitC-1开发板(GOOUUU 果云版 42 IO引脚)NT26K 4G模块接线图
本接线方案适用于小智AI聊天机器人固件版本 >=V2.2.2,板级目录为 main\boards\bread-compact-nt26,为了方便快速上手和演示,均使用了飞线(跳线)进行连接,具体IO引脚对接参考如下:
开发板为 42 引脚果云版参考下图接线,注意NT26K 4G模块接线为4线
面包板接线图示例参考
注意:请注意4G天线不能离麦克风太近,距离 3cm 以内会听到明显信号干扰。最简单的处理方案是把天线粘贴在喇叭的模拟信号线上,并且远离麦克风。
2.4 外接按键及注意事项
2.4.1 按键外接(可选)
音量调节
固件版本0.3.3新增了音量调节按钮,触控按钮对应 GPIO40引脚,另一端接地GND,按下按钮进行声音增加,长按静音。0.4.1版本增加音量减少按钮,对应 GPIO39,长按静音,之前的音量按钮长按操作变为最大音量。
唤醒/中断
固件版本0.3.1以上支持按键唤醒和中断对话,可使用开发板上的 Boot按钮,或者对接 GPIO0引脚,另一端接地GND,在进行对话时,按下按钮可以打断对话,再次按下按钮即可唤醒恢复对话。
注意事项:在外接按钮时,请不要直接在开发板上单行连接四脚开关,请错开成两行来插接。因为面包板中间区块的横向数字行是直接连通的(中间隔断了除外)。单行插接连接会造成引脚短接,相当于按钮为常按状态,按钮无法使用。
2.4.2 跳线颜色方案
在跳线款式有限的情况下,尽最大可能统一配色方案。
统一的配色也方便其他人读懂。
比如 VCC 使用红色和棕色,GND 使用灰色和黑色,数字信号使用了咖啡色和橙色,这样可以避免正负极反接的情况。
也有例外的情况,比如上图中使用了黄色线短接麦克风的 L/R 和 GND,使用了蓝色线从开发板的 LDO 引脚引出 USB 的 5V 电压。
2.5 基础版硬件模块
能够实现语音对话的最简单方案,面包板上只需要放置麦克风和功放,通过 ESP32 的 I2S(集成电路内置音频总线) 控制器进行通信。
ESP32 S3 一共有两个 I2S 控制器(ESP32 C3 只有一个)。如果需要输入和输出支持不同的采样率,就需要用到两个 I2S 控制器。
2.5.1 Duplex 模式
使用一个 I2S 控制器连接麦克风和功放。Duplex 模式适合 GPIO 数量不多的开发板。
2.5.2 Simplex 模式
使用 I2S 0 连接麦克风,使用 I2S 1 连接功放。比 Duplex 模式多使用两个 GPIO。
如下图所示,默认配置使用的是 Simplex 模式,GPIO 与电子元件引脚一对一关系,没有共用,接线相对容易一些。
MAX98357A 的 VIN 引脚可以接 3.3V,也可以接 5V,后面的 4G 扩展版接了 5V。
MAX98357 和 INMP441 底部均有隐藏接线,如下图:
接完线后,把万用表调到那个短路红黑表笔蜂鸣器会响起的那个模式,可以用检查开发板和已安装的电子元件上的 GND 与 VCC(3.3V)之间是否有短路情况。确认没有短路情况下,给开发板接入 USB 电源进行下一步测试。
(PS,我因为买到一块面板包,左侧的供电孔的正负极是短路的,最终导致两块开发板的 USB 口烧坏)
液晶屏幕扩展版
增加了一个液晶屏幕,使用 4 线 I2C 接口,可以用来显示 WiFi 或 4G 信号强度,网络信号弱会影响使用体验。
如图所示,由于开发板右侧缺少 3.3V 引脚,所以在面包板顶部中间用红线引过来。液晶屏幕底部预留了一个孔可以把 3.3V 继续往右引至正极红线处。
4G 扩展版
面包板左下角增加了一个 4G 模块,4G 天线藏到了面包板背后。天线不能离麦克风太近,距离 3cm 以内会听到明显信号干扰。最简单的处理方案是把天线粘贴在喇叭的模拟信号线上,并且远离麦克风。
4G 模块需要 5V 电压供电,因为开发板只有 5V VIN 输入引脚,没有 5V 输出引脚,所以我们在 LDO (稳压器)的近似 5V (大约4.7-4.8V)引脚上引电出来,如图所示。
外围电子元件拿开后,可以看到完整的接线图。
便捷购买地址
3.1 淘宝快速下单渠道
非带货!!
注意:部分电子元件未焊接引脚,可与商家沟通进行焊接或选择焊接好的商品。
注意:由于商家产品存在差异,请尽量选择信誉高销量高评价好的店铺购买,购买咨询和售后质量问题请自行和商家协商,不归本项目负责。
面包板套件链接: https://item.taobao.com/item.htm?ft=t&id=943143652012
部分模块购买链接:
NT26K 核心模块:https://item.taobao.com/item.htm?id=1010668447970
ICS43434 麦克风:https://item.taobao.com/item.htm?id=905588364356
HT517 音频功放模块:https://item.taobao.com/item.htm?id=894412561491
其他开发板购买说明及链接:小智AI终端固件支持开发板/产品及购买链接
3.2 电烙铁入门必看
小白可以选择购买焊接好的版本,或者先观看电烙铁入门教程再进行焊接,避免损坏电子元件。
【小白的电烙铁使用入门】 https://www.bilibili.com/video/BV1qr4y1J7bW/?share_source=copy_web&vd_source=ee1aafe19d6e60cf22e60a93881faeba
常见接线问题 FAQ
烧录固件后,RGB 灯不亮。 需要检查 RGB 灯旁边的两个焊点是否已经接上,如果没有焊接,可以先用导线接通,重启查看是否会亮。
如何检查电路故障?
在没有接电源的情况下,用万用表测试导线是否导通,比如距离相远的两个 GND 引脚,或者两个 3.3V 引脚。
接电源后,检查 GND 与其他引脚电压是否在正常值。
评论区