《搭建小智AI对话盒子》系列之二:ESP32-S3+ 喇叭+麦克风,接线与3.3V引脚踩坑记录

前言

上篇我们搞定了最劝退的 ESP-IDF 环境搭建(MacOS 下子模块卡死、Python 版本打架那一套)。本篇接着往下走------把硬件真正接起来。

说实话,环境是"软"的,卡住能查日志;硬件是"硬"的,接错一根线,板子不响、mic 不识,你连报错都看不全。我这一周里,喇叭要带端子、得补杜邦线和焊锡、3.3V 引脚接反、麦克风 GPIO 对调......每个坑都实实在在踩了一遍。

本系列设计每篇聚焦一个难点,贴关键命令、与大家探讨一下原理、附实测结果,确保真实可复现验证。本文聚焦最容易被忽略但也最容易翻车的:ESP32-S3 接喇叭 + 麦克风时的供电与引脚接线。

提醒一句:如果你只是想先调通代码逻辑,完全可以用 Mac 的麦克风/喇叭模拟(后面会讲),但要做成"能给孩子讲睡前故事的实体盒子",这一步迟早要过。

一、先备齐硬件与辅料

环境好了,得先把手上的东西和"还缺的东西"理清楚。我一开始只有一块 ESP32-S3 开发板,其他都是后面补齐的。

物品 是否必备 我的说明
ESP32-S3 开发板(带 PSRAM) 必备 型号如 N16R8,PSRAM 跑唤醒词模型要用
喇叭(带端子) 必备 一定要买带端子的,不然裸线根本接不上板子
麦克风模块(I2S 数字麦) 必备 数字麦走 I2S,比模拟麦稳
杜邦线(公对公/公对母) 必备 接喇叭端子、麦克风到板子全靠它
焊锡 + 电烙铁 推荐 端子如果松,焊一下更稳,免得接触不良
USB 数据线 必备 供电 + 烧录 + 串口日志三合一

二、供电:别小看 3.3V 这档电

最开始我完全没有单独的供电方案,板上所有东西完全靠 USB 供电(插在 Mac 上烧录顺便供电)。这能跑,但要注意:

  • ESP32-S3 的 I/O 电平是 3.3V,外接麦克风、喇叭模块必须吃 3.3V,不能直接上 5V,否则可能烧模块。
  • 板子上 3.3V 引脚(标 3V3 )不止一个,挑一个稳定的接就行。

同一个功能的 3.3V 引脚板子上可能有多处,某一路如果供电能力或接触不好,换一路 3V3 就通了。如果你也遇到"线都对、就是不识设备",优先怀疑 3.3V 那根线接的是不是稳、是不是接对了引脚。

三、麦克风与喇叭的 I2S 引脚接线

这是重点。ESP32-S3 用 I2S 总线 传音频:麦克风是输入(I2S 从机发数据给芯片),喇叭是输出(芯片发数据给功放)。小智固件通过 board_config.h 里的宏定义来认这些引脚。

官方默认引脚( Simplex 单工模式)

小智常见开发板的默认配置长这样(这是大多数教程给的):

c 复制代码
#define AUDIO_I2S_METHOD_SIMPLEX

#ifdef AUDIO_I2S_METHOD_SIMPLEX
#define AUDIO_I2S_MIC_GPIO_WS   GPIO_NUM_4
#define AUDIO_I2S_MIC_GPIO_SCK  GPIO_NUM_5
#define AUDIO_I2S_MIC_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_7
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_16
#endif

含义对照:

信号 引脚 接哪儿
MIC WS(帧时钟) GPIO 4 麦克风 WS
MIC SCK(位时钟) GPIO 5 麦克风 SCK/BCLK
MIC DIN(数据入) GPIO 6 麦克风 DOUT
SPK DOUT(数据出) GPIO 7 喇叭 DIN
SPK BCLK GPIO 15 喇叭 BCLK
SPK LRCK GPIO 16 喇叭 LRCK/WS

四、最终可用的 board_config.h(实测可复现)

:

c 复制代码
#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

#include <driver/gpio.h>

#define AUDIO_INPUT_SAMPLE_RATE  16000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000

// 如果使用 Duplex I2S 模式,请注释下面一行
#define AUDIO_I2S_METHOD_SIMPLEX

#ifdef AUDIO_I2S_METHOD_SIMPLEX

#define AUDIO_I2S_MIC_GPIO_SCK  GPIO_NUM_4
#define AUDIO_I2S_MIC_GPIO_WS   GPIO_NUM_5
#define AUDIO_I2S_MIC_GPIO_DIN  GPIO_NUM_6

#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_7
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_16

#else

#define AUDIO_I2S_GPIO_WS GPIO_NUM_4
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_5
#define AUDIO_I2S_GPIO_DIN  GPIO_NUM_6
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7

#endif

#define BUILTIN_LED_GPIO        GPIO_NUM_48
#define BOOT_BUTTON_GPIO        GPIO_NUM_0
#define TOUCH_BUTTON_GPIO       GPIO_NUM_47
#define VOLUME_UP_BUTTON_GPIO   GPIO_NUM_40
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_39

#define DISPLAY_SDA_PIN GPIO_NUM_41
#define DISPLAY_SCL_PIN GPIO_NUM_42
#define DISPLAY_WIDTH   128

#if CONFIG_OLED_SSD1306_128X32
#define DISPLAY_HEIGHT  32
#elif CONFIG_OLED_SSD1306_128X64
#define DISPLAY_HEIGHT  64
#elif CONFIG_OLED_SH1106_128X64
#define DISPLAY_HEIGHT  64
#define SH1106
#else
#define DISPLAY_HEIGHT  64
#endif

#define DISPLAY_MIRROR_X true
#define DISPLAY_MIRROR_Y true

// A MCP Test: Control a lamp
#define LAMP_GPIO GPIO_NUM_18

#endif // _BOARD_CONFIG_H_

五、硬件配置清单(实测可复现)

项目 说明
主控 ESP32-S3(带 PSRAM,如 N16R8)
供电 USB / 充电宝 / 手机充电器(5V 进,板载 LDO 转 3.3V)
麦克风 I2S 数字麦,3.3V 取电(绿色线 = 3v3-vdd)
喇叭 带端子喇叭,经杜邦线接 GPIO 7/15/16
MIC I2S WS=4, SCK=8, DIN=6
SPK I2S DOUT=7, BCLK=15, LRCK=16
辅料 杜邦线、焊锡(端子松时加固)

六、下一步与系列预告

硬件接好了,喇叭会响、麦克风会被识别,但故事还没完 ------小智固件有 OTA 自动升级机制,升级时会把你改好的 board_config.h 覆盖回官方默认!我当时就因为这个,辛辛苦苦改对的引脚一升级又白调。

我们现在得阻止它自动升级,并把我们自己改好引脚的代码烧进去。"

下一篇我就写这个最阴间的坑:怎么锁死 OTA、把自定义引脚固化进固件、以及烧录小智的完整流程。

如果你也在折腾 ESP32 音频硬件,欢迎在评论区留下你的接线图或踩坑经历。动手是最好的学习方式,我们一起填坑。

下一篇:《系列之三:烧录小智固件,并锁死 OTA 防止自定义引脚被覆盖》

相关推荐
老孟说禅2 天前
测试之我见
智能硬件
yuehuaxin012 天前
LS8011C 快充协议芯片|SOT‑23‑6L 内置 431,PD3.2 SPR/PPS 适配器物料备选评估调试笔记
笔记·智能家居·适配器模式·智能硬件
老孟说禅2 天前
静态测试的一些入门方法
智能硬件
yuehuaxin012 天前
LP3717BSL 芯茂微|SOP8L 自供电 PSR,SEL 电阻调峰值电流,12W 充电器物料替代评估笔记
嵌入式硬件·适配器模式·智能硬件
领麦微红外3 天前
和面机智能化测温新选择 红外传感器实现非接触直测面团
人工智能·产品经理·智能硬件
聚美智数3 天前
智能硬件定位-基站定位-智能硬件导航-智能硬件实时定位
智能硬件
Steelenwang4 天前
基于XT960的泵站监控方案
嵌入式硬件·物联网·硬件工程·智慧城市·智能硬件
Industio_触觉智能4 天前
瑞芯微AI算力NPU路线图与协处理器|触觉智能瑞芯微RK方案商出品
人工智能·嵌入式硬件·硬件架构·智能硬件·npu·瑞芯微·端侧ai
Zentceh4 天前
PixelClean 这类 AI 降噪算法是怎么工作的?从 RAW 域到 GAN 色彩重建的技术拆解
图像处理·人工智能·科技·算法·计算机视觉·车载系统·智能硬件