0. 手册使用说明
0.1 适用范围
最近因为制作生活监听、录音、转写文字的项目,沉迷于这方面的APP改造和录音笔逆向,对嵌入式开发挺感兴趣。于是让AI在我们探索制作项目过程中收集整理相关资料。
本手册用于嵌入式开发中「根据功能需求确定硬件方案」的查询。
适用对象为需要快速判断应选用何种主控、传感器、接口与配套器件的读者;亦适用于已有软件经验、但需要积累电路设计经验和建立硬件概念框架的读者。
手册不涉及电路原理图绘制、PCB 布线、射频设计与模拟电路设计的具体方法。这些内容属于「打板」阶段,在本手册中被标记为实施难度的最高等级,仅说明其触发条件。
0.2 阅读路径
| 使用场景 |
对应章节 |
| 基本术语 |
第 1 章 |
| 建立「常用电路板」的整体认识 |
第 2 章 |
| 已知要做的任务,需要确定器件与主控 |
第 3 章(流程)→ 第 4 章(速查表) |
| 需要评估实施难度与配套条件 |
第 5 章 |
| 需要判断 AI 辅助开发的可用范围 |
第 6 章 |
| 需要一套可直接照此配置的方案 |
第 7 章 |
| 需要核对某款已知设备的参数 |
第 8 章 |
| 排查失败或准备验收 |
第 9 章 |
| 准备采购第一套设备 |
第 10 章 |
| 需要追溯数据来源 |
第 11 章 |
| 涉及录音、市电、无线发射等受约束事项 |
附录 A |
0.3 难度标记定义
其实AI协助嵌入式开发,对于AI主要难点在2个领域。
1是开源资料少、可模仿参考的案例少。这就导致AI需要和人一样反复实验并形成大量的skill,挑战了AI的上下文能力,也会给协同开发的人带来极大的测试压力。
2是AI很难直接调试的硬件设备,这种情况导致AI只能协助编码和协助出注意,大量的测试和故障检查都会落在人的身上,整体开发进度就会很慢,且对于故障的排查取决于人员和AI的沟通质量了。
下列各标记在全文中含义固定。
| 标记 |
定义 |
| 【易】 |
使用现成 Breakout 模块、成熟库与杜邦线即可完成,无需焊接或仪器 |
| 【中】 |
需要理解总线时序或校准流程,或需要增加一颗辅助芯片(ADC、电平转换、驱动) |
| 【难】 |
需要打板、编写驱动、使用仪器调试、制作结构件、准备数据集或通过认证 |
| 【条件】 |
该项存在附加前提,具体内容写在同一行的「需附加条件」列 |
| 【AI佳】 |
AI 生成的代码与方案在该项上可靠度较高 |
| 【AI中】 |
需要人工复核或补充上下文后方可使用 |
| 【AI弱】 |
该环节依赖引脚、时钟、寄存器、波形或物理判断,AI 输出不可直接采用 |
| T1 / T2 / T3 / T4 |
算力档位编号,定义见 2.2 |
0.4 数据口径
- 价格、功耗、续航数据整理于 2026 年 11 月,为参考值;采购与验收前须以当期报价与官方资料复核。
- 功耗数据一律以整板实测为准。芯片 datasheet 给出的 nA / µA 数值仅对裸片成立,不能直接用于估算开发板或成品的续航(见 2.4)。
- 型号、寄存器、命令与设备树参数以厂商 datasheet、技术参考手册(TRM / RM)与勘误表(Errata)为准。
- 涉及第三方云服务与闭源固件的条目,须考虑服务终止后的可用性(见第 9 章第 13 项 与附录 A.3)。
0.5 版本说明
本手册依据 2026 年 11 月探索和制作便携式的录音设备和24小时监听录音产品过程中整理的选型资料编写,覆盖接口术语、平台分档、器件速查、实施条件、AI 辅助开发边界、典型配置与设备参数对照。器件型号与价格随时间变动,章节结构与判定方法保持稳定。
1. 基础概念与术语
1.1 电路基本量
嵌入式硬件作为软件产品在我们现实生活中的功能载体,必须了解和考虑设备的便携性、功耗和续航取舍问题。前者决定用户能不能常用这个设备、后者决定功能性能表现以及用户体验。对于相关的描述建立在六个基本量之上。下表给出定义与在本手册中的用途。
| 量 |
常用符号 |
单位 |
定义与本手册中的用途 |
| 电压 |
U、V |
伏特(V) |
两点之间的电势差。嵌入式系统常见工作电压为 1.8 V、3.3 V、5 V;选型时须确认器件与主控的工作电压一致 |
| 电流 |
I |
安培(A) |
单位时间内通过导体的电荷量。待机与运行功耗通常以 µA、mA 描述 |
| 电阻 |
R |
欧姆(Ω) |
导体对电流的阻碍程度。限流、分压、上拉三种基础电路均由电阻实现 |
| 功率 |
P |
瓦特(W) |
P = U × I。决定发热量与电池续航,是「能不能用电池供电」的判据 |
| 电容 |
C |
法拉(F) |
储存电荷的元件。并联在电源与地之间用于去耦,吸收瞬时电流波动 |
| 频率 |
f |
赫兹(Hz) |
每秒周期数。用于描述时钟主频、总线速率、采样率与 PWM 频率 |
欧姆定律为 I = U / R。以 LED 限流为例:3.3 V 电源串接 330 Ω 电阻时,电流约为 10 mA,处于普通指示 LED 的常用范围。选型表中出现的「限流电阻」即指此类计算。
| 概念 |
说明 |
| 直流(DC) |
电压极性不随时间改变。电池、USB 供电均为直流,是嵌入式系统的标准供电形式 |
| 交流(AC) |
电压极性周期性改变。市电为交流,涉及隔离、保险与认证,属附录 A.2 的约束范围 |
| 单位前缀 |
n(10⁻⁹)、µ(10⁻⁶)、m(10⁻³)、k(10³)、M(10⁶)、G(10⁹)。µA 与 mA 相差 1000 倍,是功耗估算中最常见的误读来源 |
1.2 信号基础
| 概念 |
定义 |
选型含义 |
| 模拟信号 |
电压在连续范围内变化,如温度、声音、光照 |
需经 ADC(模数转换)才能被主控读取;精度取决于 ADC 位数与参考电压 |
| 数字信号 |
只取高、低两种电平,分别代表 1 与 0 |
GPIO、I2C、SPI、UART 均属数字信号 |
| 逻辑电平 |
高电平所对应的电压标准。常见为 3.3 V 与 5 V 两套 |
5 V 器件输出接入 3.3 V 主控引脚可能损坏器件,须经电平转换(见 5.2) |
| 地(GND)与共地 |
电压的参考零点。所有互联模块须共享同一个参考点 |
未共地的系统会出现读数乱跳或完全不通,是多电源系统的首查项 |
| 上拉电阻 |
将信号线通过电阻接至电源,使空闲状态保持高电平 |
I2C 与 1-Wire 总线必需,常用 4.7 kΩ;多数 Breakout 模块已内置 |
| 限流电阻 |
串联在回路中限制电流 |
LED、按键指示等必须配置,否则可能烧毁引脚或器件 |
| 分压电阻 |
两只电阻串联,按比例降低电压 |
5 V → 3.3 V 的简易方案,仅适用于低速单向信号;双向总线应使用专用转换芯片 |
| 去耦电容 |
并联在电源与地之间的小容量电容 |
抑制瞬时压降造成的复位,Wi-Fi 发射、电机启动时尤其必要 |
| PWM |
以固定频率快速切换高低电平,用占空比等效调节输出强度 |
用于调光、舵机、蜂鸣器;输出仍是数字信号,与「模拟电压」不同 |
| 峰值电流与 brownout |
瞬时大电流使电源电压跌落,导致主控复位 |
Wi-Fi TX、SD 卡写入、电机启动为高发场景;电池方案须预留峰值余量 |
1.3 一个最小系统的组成
任何嵌入式装置均可拆为下列七个环节。选型时逐项填写,可避免遗漏供电、时钟与存储等不易察觉的部分。
| 环节 |
作用 |
选型时必须确认 |
| 供电 |
提供稳定电压与足够电流 |
电压值、持续电流、峰值电流、是否需充电管理与电池保护 |
| 主控 |
运算、逻辑与控制 |
算力档(见 2.2)、内存容量、可用接口数量、工作电压 |
| 输入 |
传感器、按键、音频 |
输出形式(模拟 / 数字)、接口类型、电平、标定需求 |
| 输出 |
显示、指示、执行器 |
驱动电流、是否需独立供电、是否需驱动芯片 |
| 通信 |
数据上报与调试 |
距离、速率、协议栈、是否需天线或网关 |
| 存储 |
参数与文件 |
容量、写入寿命、掉电保护策略 |
| 时钟 |
时间戳与定时 |
是否需 RTC 及后备电池、长期漂移是否可接受 |
1.4 硬件形态与集成度
| 术语 |
形态描述 |
工程含义 |
| 芯片 / SoC |
一颗封装好的黑色方块 |
决定算力与功耗下限;nA ~ µA 级数值均指此层。如果一个便携式嵌入设备性能强但功耗高,必然会让用户陷入为什么不使用手机的冲突中 |
| 模组 |
芯片加天线、Flash、晶振,焊成一小块 |
免去射频设计,如 ESP32-WROOM |
| 开发板 |
模组加 USB 口、稳压、指示灯、排针 |
为调试设计,不为省电设计,存在静态漏电。即接在开发板上的各种设备虽平时功能上用不到,但持续在消耗电力 |
| 成品 |
再加电池、外壳、屏幕与固件 |
开箱可用,功能通常封闭 |
| Breakout / 模块 |
传感器贴装在小块电路板上并引出排针 |
免焊接,是初学阶段的主要器件形式 |
| 打板 |
自行绘制 PCB 后委托工厂制造 |
从「使用开发板」转向「自制硬件」的分界点,见 5.2 |
| 烧录 / 刷固件 |
把程序写入芯片 |
操作失败导致设备无法启动的情形多发生于此 |
| 固件 |
运行在设备上的程序 |
与「App」「云端服务」相对 |
| Datasheet / TRM / RM |
芯片数据手册 / 技术参考手册 / 参考手册 |
选型的唯一可信来源;勘误表(Errata)须一并查阅 |
| 原理图 / PCB / BOM |
电路连接图 / 印制电路板 / 物料清单 |
打板阶段的三项基本交付物 |
1.5 接口与总线
接口决定「器件用几根线、以什么规则与主控通信」。下表为全文速查表所引用的接口定义。
| 接口 |
线数 |
速率 |
典型用途 |
常见错误 |
| GPIO |
1 |
— |
按键、LED、继电器、PIR 人体感应 |
仅表示高低电平,不能用于传输数据 |
| PWM |
1 |
— |
舵机、调光、蜂鸣器 |
与模拟电压混淆 |
| ADC(模拟输入) |
1 |
— |
电位器、模拟麦克风、MQ 气体、土壤湿度 |
片内 ADC 常存在两端非线性;需精度时外接 ADS1115 |
| I2C |
2(SDA / SCL) |
100 k / 400 k / 1 M / 3.4 M |
多数传感器、OLED、RTC |
需 4.7 kΩ 上拉;同型号器件地址冲突时用 TCA9548A |
| SPI |
4 起(MOSI / MISO / SCK / CS) |
10 ~ 100 Mbps |
SD 卡、TFT、高速 ADC、RFID、射频 |
每增加一个设备需增加一根 CS |
| UART |
2(TX / RX) |
常为 115200 |
GPS、CO₂、指纹、4G 模块、调试日志 |
点对点结构,一条总线只能接一个设备 |
| 1-Wire |
1 |
约 16 kbps |
DS18B20 温度 |
需 4.7 kΩ 上拉,对时序敏感 |
| I2S |
3 起 |
音频速率 |
数字麦克风、codec、功放 |
与 I2C 名称相近但用途不同 |
| PDM |
5(1 时钟 + 4 数据) |
音频速率 |
麦克风阵列(最多 8 路单声道) |
需主控持续提供时钟;主控深睡时麦克风失效 |
| USB / MTP / U 盘模式 |
— |
— |
导出文件 |
对已停止服务的设备,这是最可靠的取数方式 |
| RS485 / CAN |
2(差分) |
中速 |
工业现场、长距离、多节点 |
需收发器芯片,协议需另行实现 |
1.6 其它高频术语
| 术语 |
定义 |
| MCU |
单片机。片内自带内存,运行裸机程序或 RTOS,待机可达 µA 级。直接运行功能,不需要系统程序,自定义能力低,每次调整功能均需要烧录固件 |
| MPU |
应用处理器。需外接 DDR,运行 Linux,功耗在百 mW ~ W 级。可以在系统上加载一些自定义程序实现一些功能 |
| MMU |
内存管理单元。是否具备 MMU 是能否运行完整 Linux 的分界条件 |
| RTOS |
小型实时操作系统(FreeRTOS / Zephyr),毫秒级启动、µs 级中断响应 |
| Linux / Buildroot / Armbian |
完整操作系统,提供 ALSA、文件系统与网络栈,代价是秒级启动与较高功耗 |
| SRAM / Flash / PSRAM / eMMC |
运行内存 / 程序存储 / 片外伪静态随机存储器 / 大容量板载存储。长音频缓冲常依赖 PSRAM |
| DMA |
直接内存访问。外设与内存间搬运数据无需 CPU 参与,音频连续采集必需 |
| VAD |
语音活动检测,判断音频中是否有人声 |
| AGC / AEC |
自动增益控制 / 回声消除,属于音频前端处理 |
| SNR |
信噪比。麦克风音质指标,单位为 dB |
| 采样率 / 位深 |
每秒采样次数(如 16 kHz)/ 每次采样的位数(如 16 bit)。中文语音转写常用 16 kHz 单声道 |
| 深睡 / 待机 |
主控的低功耗状态。处于该状态时外设是否仍供电须单独确认 |
| TinyML |
在单片机上运行小型模型,用于唤醒词、手势、异常检测 |
| NPU / TOPS |
神经网络处理单元 / 每秒万亿次运算,用于衡量端侧推理算力 |
| BOM |
物料清单,方案所需的全部器件与数量 |
1.7 常用单位与符号速查
| 符号 |
含义 |
易混淆点 |
| V / mV |
伏特 / 毫伏 |
3.3 V 与 5 V 是逻辑电平标准,不可混接 |
| A / mA / µA / nA |
安培及其千分、百万分、十亿分单位 |
1 mA = 1000 µA;待机数据差一个前缀即差 1000 倍 |
| W / mW / µW |
瓦特及细分单位 |
功率 = 电压 × 电流 |
| Ω / kΩ / MΩ |
欧姆及倍率 |
4.7 kΩ 是 I2C 上拉的常用值 |
| F / µF / pF |
法拉及细分单位 |
去耦电容常用 0.1 µF |
| Hz / kHz / MHz |
赫兹及倍率 |
时钟主频、总线速率、采样率共用此单位 |
| bps / kbps / Mbps |
每秒比特数 |
与 B(字节)不同:1 B = 8 bit |
| KB / MB / GB |
字节容量 |
与 Kb / Mb 区分;模型大小与内存预算以此计算 |
| dB |
分贝 |
用于 SNR 等对数量 |
| ℃ |
摄氏度 |
传感器精度常写为 ±0.3 ℃ 形式 |
2. 硬件平台的分类坐标系
2.1 集成度三层
硬件产品按集成度分为三层。同一颗芯片可同时以芯片、开发板、成品三种形态出现,其功耗、可改性与价格差异显著。
| 层 |
构成 |
常见形态 |
功耗数据的可信范围 |
| ① 芯片 |
裸片 |
通常不直接采购 |
datasheet 数值仅在此层成立 |
| ② 开发板 |
芯片 + 调试外设 |
Arduino / Nucleo / XIAO / DevKitC |
整板实测常比芯片高几十至几万倍 |
| ③ 成品 |
再加电池、外壳、屏幕、固件 |
录音笔、开源记录仪、手表 |
厂商标称续航较可信,但功能封闭 |
2.2 算力四档
档位划分的根本依据是「是否具备 MMU、是否运行 Linux」,而非品牌或主频。
| 档 |
内核与软件栈 |
片内资源 |
典型待机 |
代表型号 |
端侧 AI 能力 |
| T1 8 位 |
AVR / PIC,Arduino 框架 |
KB 级 |
芯片 0.1 µA / 整板 15 ~ 50 mA |
Uno / Nano / Pro Mini |
基本不具备 |
| T2 超低功耗 MCU |
Cortex-M0+ / M33,裸机或 RTOS |
KB ~ MB 级 SRAM + Flash |
200 nA ~ 1 µA;运行 16 ~ 19 µA/MHz |
STM32U5 / L4、nRF54、Ambiq Apollo4、EFM32、RP2040 |
极小模型(唤醒词、异常检测) |
| T3 无线 SoC |
Xtensa / RISC-V / M33,ESP-IDF 或 Arduino |
数百 KB + PSRAM |
模组 5 ~ 10 µA;Wi-Fi 发射 180 ~ 240 mA |
ESP32 / S3 / C3 / C6 |
语音唤醒、轻量视觉 |
| T4 MPU / Linux |
Cortex-A + MMU + 外部 DDR |
MB ~ GB |
百 mW ~ W;启动为秒级 |
RK3308、全志、i.MX、树莓派、RK3588 |
端侧大模型 / NPU 推理 |
2.3 MCU 与 MPU 对照
| 项目 |
MCU(T1 ~ T3) |
MPU(T4) |
| 内存 |
片内 SRAM + Flash,可 XIP 直接执行 |
外部 DDR + eMMC |
| 系统 |
裸机 while(1) / FreeRTOS / Zephyr |
Buildroot / Armbian / Linux,ALSA 现成 |
| 启动时间 |
毫秒级 |
秒级 |
| 中断响应 |
µs 级、确定 |
受操作系统调度、不确定 |
| 驱动 |
自行编写或使用厂商库 |
内核驱动生态齐全 |
| 代价 |
文件系统、网络栈需自行搭建 |
需 PMIC 与多层板,功耗较高 |
示例:采用 RK3308(四核 Cortex-A35、运行 Buildroot Linux)的成品录音设备属于 T4。此类设备具备 ADB 调试通道、ALSA 音频子系统、硬件 VAD 与多通道 PDM 输入,本质是一台小型 Linux 计算机,而非单纯的录音笔;其可分区备份、可读取设备树参数的特性均由此而来。
2.4 芯片参数与整板实测的差异
标准 Arduino Uno 所用 ATmega328P 芯片在 Power-Down 模式下仅 0.1 µA,整板实测待机却为 10 ~ 50 mA。差值来自开发板上不随主控休眠的辅助电路 [1]、[2]:
| 寄生耗电来源 |
典型值 |
可否关闭 |
| USB 转串芯片(CH340 / 16U2) |
3 ~ 25 mA |
需切断 VCC |
| 电源指示灯 PWR LED |
3 ~ 5 mA |
拆除或断开限流电阻 |
| 线性稳压器(AMS1117 / NCP1117)静态电流 |
5 ~ 10 mA |
更换为 MCP1700(约 2 µA) |
| TX / RX 指示灯 |
1 ~ 3 mA |
可剪断 |
如需接近 datasheet 数值,须拆除 LED、更换 LDO、切断 USB 转串供电,或改用 Pro Mini(低于 0.5 µA)/ 裸片最小系统(0.15 ~ 0.8 µA)。低功耗是「芯片 + 电源设计」的属性,不是「开发板」的属性。
RecorderGear 官方说明指出,声控录音不改变续航,续航由录音质量档位决定,原因是麦克风始终处于工作状态 [3]。因此「启用 VAD」与「降低功耗」不能等同:VAD 切段节省的是存储空间与后处理量,实际省电须让主 CPU 进入休眠,并由独立的 VAD 电源域负责唤醒(参见第 7 章与第 9 章第 2、4 项)。
3. 选型决策流程
3.1 三条正交轴
具体型号由方案结构决定。任何嵌入式硬件方案均可由三条相互独立的轴确定:
| 轴 |
取值范围 |
决定什么 |
| 算力层级 |
是否具备 MMU、是否运行 Linux(T1 ~ T4) |
软件栈、启动时间、功耗量级、能否运行文件系统与网络协议栈 |
| 集成度 |
芯片 / 开发板 / 成品 |
可改性、调试便利度、静态漏电、外壳与电池是否现成 |
| 电源与前端设计 |
供电方式、峰值电流、模拟前端、音频前端 |
续航、信号质量、是否需电平转换与外部 ADC |
音频采集类任务还需单独确认前端设计:麦克风类型(模拟 / PDM / I2S)、是否需持续时钟、是否有独立 VAD 电源域、外壳开孔与天线电池的相对位置。这些条件不随主控档位改变,须独立评估。
3.2 五步决策流程
| 步骤 |
输入 |
动作 |
输出 |
查询位置 |
| 1 |
任务描述 |
明确测量对象、采样频率、联网需求、供电方式、尺寸、预算、是否需要长期时间线 |
功能与约束清单 |
— |
| 2 |
功能与约束清单 |
判断是否需运行 Linux、文件系统或模型推理,据此确定算力档 |
T1 ~ T4 归档 |
2.2、2.3 |
| 3 |
算力档 |
按功能查推荐料号,确认接口类型、电平与主控档是否匹配 |
器件与接口清单 |
第 4 章 |
| 4 |
器件与接口清单 |
逐项列出电平转换、上拉、外部 ADC、独立供电、校准、结构、时钟与合规要求 |
附加条件清单 |
第 5 章、附录 A |
| 5 |
以上全部 |
整板实测功耗与峰值电流、逻辑分析仪核对总线波形、掉电写入测试、时间线核对 |
验收结论 |
第 9 章、第 10 章 |
3.3 决策记录表
下列字段可供方案归档与复核。填写后可直接用于采购核对与故障回溯。
| 项目 |
填写内容 |
| 功能与约束 |
|
| 算力档 |
|
| 主控与集成度层 |
|
| 器件与接口 |
|
| 附加条件 |
|
| 供电电压 / 持续电流 / 峰值电流 |
|
| 存储与时间线方案 |
|
| 验证项与实测值 |
|
3.4 常见误判
| 误判 |
后果 |
正确做法 |
| 从「哪块板子好」出发 |
先定型号再倒推需求,容易买到算力过剩或接口不足的板卡 |
先按 3.2 确定三条轴,再查第 4 章选料号 |
| 以品牌或主频划分平台 |
同品牌下存在 MCU 与 MPU 两类产品,软件栈不通用 |
以是否具备 MMU、是否运行 Linux 为判据 |
| 用芯片 datasheet 的 µA 估算开发板续航 |
估算值可能偏离实测几万倍 |
一律以整板实测为准(见 2.4) |
| 忽略峰值电流 |
Wi-Fi 发射、SD 卡写入或电机启动瞬间复位 |
核查峰值并预留电源余量,确认去耦与电池放电能力 |
| 忽略合规与结构条件 |
方案完成后无法合法使用或音质不达标 |
在步骤 4 中与电气条件一并列出(见附录 A) |
4. 功能需求与器件选型速查
本章按「需要实现的功能」组织,不按芯片型号组织。各表统一给出推荐料号、接口、主控档、实施难度、附加条件与 AI 协作度;标记定义见 0.3。
4.1 环境感知
| 测量对象 |
推荐料号 |
接口 |
主控档 |
难度 |
需附加条件 |
AI 协作度 |
| 温湿度(入门) |
DHT22 / AHT20 |
单线 / I2C |
T1 ~ T3 |
【易】 |
无 |
【AI佳】 |
| 温湿度气压(推荐) |
BME280 |
I2C / SPI |
T1 ~ T4 |
【易】 |
I2C 上拉 |
【AI佳】 |
| 高精度温度 |
SHT31(±0.3 ℃) |
I2C |
T2 ~ T4 |
【易】 |
上拉 |
【AI佳】 |
| 多点或防水温度 |
DS18B20 |
1-Wire |
T1 ~ T3 |
【易】 |
4.7 kΩ 上拉 |
【AI佳】 |
| 光照(Lux) |
BH1750 |
I2C |
T1 ~ T4 |
【易】 |
上拉 |
【AI佳】 |
| 颜色 |
TCS34725 |
I2C |
T2 ~ T3 |
【中】 |
白平衡校准 |
【AI中】 |
| CO₂ |
MH-Z19B |
UART |
T2 ~ T4 |
【中】 |
预热、标定 |
【AI佳】 |
| PM2.5 |
PMS5003 / SDS011 |
UART |
T2 ~ T4 |
【中】 |
进气风道、防尘 |
【AI佳】 |
| 可燃气体 / VOC |
MQ-2 / MQ-135 |
模拟 → ADC |
T1 ~ T3 |
【中】 |
【条件】ADC + 标定 + 加热功耗 |
【AI中】 |
| 土壤湿度 |
电容式模块 |
模拟 → ADC |
T1 ~ T3 |
【易】 |
【条件】不使用电阻式探头(易腐蚀,约 30 mA) |
【AI佳】 |
| 电压 / 电流 / 功率 |
INA219 |
I2C |
T1 ~ T4 |
【易】 |
上拉、量程电阻 |
【AI佳】 |
精度补充:BME280 约 ±1 ℃ 且带气压;DHT22 约 ±0.5 ℃;SHT31 精度最高。BME280 在 1 Hz forced mode 下约 3.6 µA,适用于电池供电节点 [4]、[5]。
4.2 运动、位置、距离与人体
| 功能 |
推荐料号 |
接口 |
主控档 |
难度 |
需附加条件 |
AI 协作度 |
| 姿态 / 加速度(IMU) |
MPU6050 / LSM6DSO |
I2C |
T1 ~ T4 |
【中】 |
上拉、滤波与姿态解算 |
【AI佳】(算法部分) |
| 指南针 |
HMC5883L |
I2C |
T1 ~ T3 |
【中】 |
硬铁 / 软铁校准 |
【AI中】 |
| 定位 |
NEO-6M / MAX-M8Q |
UART |
T2 ~ T4 |
【中】 |
【条件】室外环境、天线、冷启动 30 s 以上 |
【AI佳】 |
| 测距(低成本) |
HC-SR04 |
GPIO Trigger / Echo |
T1 ~ T3 |
【易】 |
【条件】5 V 电平,需分压或电平转换 |
【AI佳】 |
| 测距(激光 / 高精度) |
VL53L0X |
I2C |
T1 ~ T4 |
【中】 |
上拉 |
【AI佳】 |
| 人体存在 |
HC-SR501 PIR / RCWL-0516 |
GPIO |
T1 ~ T3 |
【易】 |
仅能检测移动,不能检测静止人体 |
【AI佳】 |
| 毫米波存在 / 呼吸 |
60 G FMCW 雷达 |
UART / SPI |
T2 ~ T3 |
【难】 |
【条件】参数整定、误报调优 |
【AI弱】 |
| 称重 / 压力 |
应变片 + HX711 |
专用 2 线 |
T1 ~ T3 |
【中】 |
标定砝码、机械结构 |
【AI中】 |
| 震动 / 异常检测 |
IMU 或压电 + ADC |
ADC / I2C |
T2 ~ T3 |
【难】 |
采样率、FFT、数据集 |
【AI中】(建模强) |
4.3 声音与语音
| 功能 |
推荐硬件 |
接口 |
主控档 |
难度 |
需附加条件 |
AI 协作度 |
| 采集声音 |
模拟麦克风 / MAX9814(带 AGC) |
ADC |
T1 ~ T3 |
【易】 |
底噪、偏置 |
【AI中】 |
| 数字录音(推荐) |
INMP441 / MSM261 |
I2S / PDM |
T2 ~ T4 |
【中】 |
【条件】持续时钟 + DMA、16 kHz 单声道直出 |
【AI中】 |
| 多人 / 远场 |
8 麦阵列 + 波束成形 |
PDM 8 通道 |
T4 |
【难】 |
【条件】通道映射、DSP 算法、结构开孔 |
【AI弱】 |
| 播放 / 对讲 |
ES8311 codec + 功放 |
I2S |
T2 ~ T4 |
【中】 |
回声消除(AEC) |
【AI弱】 |
| 仅保留人声段(VAD) |
软件 Silero VAD / 芯片硬件 VAD |
— |
任意 |
【中】 |
【条件】前后 padding、时间戳空洞日志 |
【AI佳】 |
| 离线唤醒词(KWS) |
ESP32-S3 / STM32 + TFLite Micro |
— |
T2 ~ T3 |
【难】 |
【条件】数据集、量化、模型不超过数百 KB |
【AI中】 |
| 中文转写 |
faster-whisper / Whisper |
— |
T4 或 PC |
【中】 |
【条件】算力、模型缓存、长静音先切段 |
【AI佳】 |
芯片原生硬件 VAD 的三档落点:
| 芯片 |
层级 |
VAD 能力 |
代价 |
| RK3308 |
T4 Linux |
单麦人声检测、频段滤波、幅度检测、检测前预缓冲、echo mem 休眠语音唤醒 |
功耗较高,但 Linux / ALSA / 8 麦通道齐备 |
| STM32U5 |
T2 |
LPBAM 低功耗后台自主模式外设清单包含 VAD;Standby 200 ~ 300 nA、运行 16 ~ 19 µA/MHz |
需自行打板与编写固件 |
| Ambiq Apollo4 / nRF54 |
T2 |
20 nA / 低于 1 µA 休眠 + 边缘 AI |
同上,公开资料较少 |
RK3308 的 VAD 具备官方 Linux 驱动支持:amixer cset name='vad switch' 1 → arecord -c 4 -r 16000 -f S16_LE → echo mem > /sys/power/state;静音帧参数位于 /sys/module/snd_soc_rockchip_vad/parameters/voice_inactive_frames,默认静音 5 秒自动休眠;设备树 &vad 的 mode=1 可在唤醒后把 SRAM 环形缓冲合并进音频流,对上层应用透明,用于解决句首丢失与时间线断裂 [6]、[7]。
4.4 视觉与图像
| 功能 |
推荐硬件 |
接口 |
主控档 |
难度 |
需附加条件 |
AI 协作度 |
| 拍摄静态图像 |
OV2640 / OV3660 |
DVP / SPI |
T3 ~ T4 |
【中】 |
PSRAM 缓冲、帧率与内存预算 |
【AI中】 |
| 现成视觉开发板 |
XIAO ESP32S3 Sense / Nicla Vision / OpenMV |
— |
T3 |
【易】 |
现成例程 |
【AI佳】 |
| 本地图像分类 |
ESP32-S3 + ESP-DL / TFLite Micro |
— |
T3 |
【难】 |
【条件】量化、模型不超过几 MB、PSRAM |
【AI中】 |
| 实时目标检测 / 小型 LLM |
RK3588(6 TOPS NPU)/ Jetson |
— |
T4 |
【难】 |
【条件】Linux、散热、电源、模型转换(RKNN) |
【AI中】 |
端侧 AI 的三项前置确认顺序:模型能否量化至数 MB 以内 → 内存是否够用 → 是否存在对应 AI 库或指令集加速。三项均满足时,MCU 方案在成本与功耗上优于 NPU SoC [8]。
| 推理工具 |
运行库体积 |
适用场景 |
| TensorFlow Lite Micro |
约 20 KB,社区规模最大(70 K+ stars) |
生态与灵活性、频繁迭代 |
| Edge Impulse |
约 25 KB |
数据采集 → 训练 → 导出一体化,适合初学阶段 |
| STM32Cube.AI |
约 15 KB |
STM32 全系、功耗要求严格 |
4.5 身份、交互、显示与执行
| 功能 |
推荐料号 |
接口 |
难度 |
需附加条件 |
AI 协作度 |
| 刷卡 / NFC |
MFRC522 |
SPI |
【中】 |
独立 CS、天线区域 |
【AI佳】 |
| 指纹 |
光学指纹模组 |
UART |
【中】 |
录入与匹配流程 |
【AI佳】 |
| 字符屏 |
16×2 LCD(I2C 转接板) |
I2C |
【易】 |
上拉、地址 |
【AI佳】 |
| 小尺寸 OLED |
SSD1306 0.96″ |
I2C |
【易】 |
上拉 |
【AI佳】 |
| 彩屏 / 触摸 |
SPI / QSPI TFT + FT3168 |
SPI |
【中】 |
帧缓冲、触摸校准、常亮功耗高 |
【AI中】 |
| 状态指示 |
单 LED / WS2812 环 |
GPIO |
【易】 |
限流电阻;RGB 需可关闭 |
【AI佳】 |
| 舵机 |
SG90 |
PWM |
【易】 |
独立供电,不从主控板取大电流 |
【AI佳】 |
| 直流电机 |
L298N / TB6612 |
GPIO + PWM |
【中】 |
独立电源、共地、续流 |
【AI佳】 |
| 步进电机 |
28BYJ-48 + ULN2003 |
GPIO |
【中】 |
时序表 |
【AI佳】 |
| 继电器 / 市电 |
继电器模块 |
GPIO |
【中】 |
【条件】强电危险、隔离、保险;初学阶段仅做低压侧 |
【AI弱】 |
| 蜂鸣器 / 震动 |
有源蜂鸣器 / 振动马达 |
GPIO / PWM |
【易】 |
驱动三极管 |
【AI佳】 |
4.6 通信与联网
| 功能 |
推荐方案 |
难度 |
需附加条件 |
AI 协作度 |
| Wi-Fi 上报 |
ESP32 / ESP32-S3 / C3 / C6 |
【易】 |
路由器与账号;发射尖峰 180 ~ 240 mA |
【AI佳】 |
| 手机 BLE 配网与数据 |
nRF52 / nRF54、ESP32 |
【中】 |
协议栈、GATT 设计、MTU |
【AI中】 |
| 远距离低功耗(km 级) |
LoRa / LoRaWAN 模组 |
【中】 |
【条件】网关或运营商、天线、占空比法规 |
【AI中】 |
| 无网环境蜂窝通信 |
4G Cat.1 / NB-IoT |
【难】 |
【条件】SIM、资费、APN、电源峰值 |
【AI弱】 |
| 有线长距离多节点 |
RS485 + Modbus / CAN |
【难】 |
收发器、终端电阻、协议实现 |
【AI中】 |
| 本地调试输出 |
USB 串口(UART → USB) |
【易】 |
无 |
【AI佳】 |
4.7 存储、时间与电源
| 功能 |
推荐方案 |
难度 |
需附加条件 |
AI 协作度 |
| 存储文件 |
MicroSD / TF 卡 |
【中】 |
【条件】写入中掉电会损坏文件系统,必须 flush + close |
【AI佳】 |
| 存储参数与配置 |
EEPROM / W25Q Flash / NVS |
【易】 |
磨损均衡 |
【AI佳】 |
| 掉电保持时间 |
RTC(PCF85063 / DS1307)+ 独立电池 |
【中】 |
【条件】更换电池会重置时钟、长期存在漂移 |
【AI佳】 |
| 长音频缓冲 |
PSRAM(ESP32-S3 8 MB 约可存 4 分钟 16 kHz 单声道) |
【中】 |
分块写盘 |
【AI中】 |
| 锂电供电 |
3.7 V LiPo + TP4056 / AXP2101 PMIC |
【中】 |
【条件】峰值电流导致 brownout、充电管理、电池老化 |
【AI弱】 |
| 边充边录 |
支持该特性的成品设备 |
【易】 |
位置固定 |
【AI佳】 |
| 物理断电与可见告知 |
电池开关 / 机械滑键 / REC 指示灯 |
【易】 |
无 |
【AI佳】 |
涉及长时间序列记录的系统,时间线一致性应列为验收项:RTC 须独立供电、VAD 切段须写入时间戳空洞日志、更换电池后的时钟重置须先行实测。音频时间线与既有日志数据一旦无法对齐,两套数据均失去关联能力。
5. 实施难度与附加条件
5.1 评级标准
| 等级 |
判据 |
| 【易】 |
现成 Breakout 模块 + 成熟库 + 杜邦线;AI 生成的代码基本可直接运行 |
| 【中】 |
需理解总线、时序或校准流程,或需增加一颗辅助芯片(ADC、电平转换、驱动器) |
| 【难】 |
需打板、编写驱动、使用仪器、制作结构件、准备数据集或通过认证 |
判定界限:能否只依靠插线与现成库完成。凡涉及电平、模拟量、射频、结构、强电或合规,即进入「需附加条件」范围。
5.2 附加条件清单
| 条件 |
触发场景 |
需准备或需掌握的内容 |
| 电平转换 |
5 V 传感器接入 3.3 V GPIO(HC-SR04、部分 LCD) |
BSS138 / TXS0108E 模块(约 ¥10 ~ 20) |
| 上拉电阻 |
I2C / 1-Wire(几乎每次) |
4.7 kΩ;多数 Breakout 模块已内置 |
| 地址冲突 |
两颗同型号 I2C 传感器并存 |
修改地址跳线,或使用 TCA9548A 多路复用器 |
| 外部 ADC |
需精度,或主控无模拟输入(如树莓派) |
ADS1115(16 bit I2C)/ MCP3008(SPI) |
| 独立供电与共地 |
电机、舵机、多颗 RGB、继电器 |
独立 5 V 电源,且必须与主控共地 |
| 标定 / 校准 |
称重、磁力计、CO₂、气体、颜色 |
砝码、已知浓度气体、白卡 |
| 仪器 |
代码正确但总线不通 |
逻辑分析仪抓取 I2C / SPI 波形、万用表、USB 电流表(UM25C) |
| 焊接 / 打板 |
从开发板转向自制成品 |
电烙铁、KiCad、打板厂;此步骤为难度分界点 |
| 结构 / 外壳 |
麦克风音质、防水、佩戴 |
麦克风开孔、避开天线与电池;外壳设计直接影响音质 |
| 散热 / 电源完整性 |
NPU、Wi-Fi、峰值电流 |
多层板、PMIC、去耦电容 |
| 数据集 / 量化 |
TinyML |
数据采集、Edge Impulse、INT8 量化 |
| 认证 / 法规 / 合规 |
无线发射、市电、录音 |
见附录 A |
5.3 典型任务总评级
| 任务 |
难度 |
主要附加条件 |
AI 协作度 |
| 点灯 / 读按键(含消抖) |
【易】 |
无 |
【AI佳】(消抖易遗漏) |
| 读 BME280 / OLED 显示 |
【易】 |
上拉 |
【AI佳】 |
| Wi-Fi 上报到云端 |
【易】 |
账号、电源 |
【AI佳】 |
| GPS / CO₂ / PM2.5 |
【中】 |
天线、预热、风道 |
【AI佳】 |
| 多 I2C 设备共存 |
【中】 |
地址冲突 |
【AI中】 |
| 音频采集 16 kHz 单声道直出 |
【中】 |
DMA、时钟、PSRAM |
【AI中】 |
| SD 卡可靠写入 / 掉电保护 |
【中】 |
flush + close |
【AI中】 |
| VAD 切段并保留时间线 |
【中】 |
padding、空洞日志 |
【AI佳】 |
| 锂电池与充电管理 |
【中】 |
brownout、电池老化 |
【AI弱】 |
| 端侧 TinyML |
【难】 |
数据集、量化、内存预算 |
【AI中】 |
| 硬件 VAD 休眠唤醒 |
【难】 |
设备树 / 电源域、buffer-time-ms 实测 |
【AI弱】 |
| 自画板 / 8 麦阵列 / 射频 |
【难】 |
打板、仪器、结构 |
【AI弱】 |
| 强电 / 市电 / 医疗 |
【难】 |
认证、隔离 |
【AI弱】 |
6. AI 辅助开发的适用边界
6.1 实测数据
AI 在逻辑层表现较强,在硬件层可靠度低。所有涉及外设操作的代码均须人工复核 [9]。
| 评测来源 |
结果 |
| EmbedBench / EmbedAgent(2025 年,126 用例、9 元件、3 平台,以 Wokwi 仿真判定 pass@1) |
最强推理模型带原理图 55.6%,不带原理图 50.0% [10] |
| 跨平台移植到 ESP-IDF |
最高 29.4%(Claude 3.7 Sonnet Thinking)[10] |
| 国内实测三块板(ESP32 / STM32 / CH32V) |
编译通过 70%、烧录成功 50%、按预期工作仅 1 次,一次通过率 0%;仅调整 I2C 时序耗时 4 小时 [9] |
典型失败模式:七段数码管的电压与段映射错误、按键未做消抖、ESP-IDF 迁移时生成不存在的语法;芯片型号颗粒度不敏感(指定 F103 却混入 F4 的寄存器操作);忽略编译器不检查的隐式约束(时钟使能、引脚复用、中断优先级冲突);勘误手册中与常规写法不一致的寄存器写入顺序在训练数据中覆盖不足 [9]、[10]。
6.2 强项与弱项对照
| 【AI佳】适用环节 |
【AI弱】需人工或仪器介入的环节 |
| 选型推理、方案对比、资料整理 |
引脚复用、时钟树分频、外设时钟使能 |
| 协议解析、状态机、数据缓存、错误处理策略 |
寄存器级代码、已废弃或不存在的位定义 |
| 纯算法:滤波、FFT、滑动平均、标定换算 |
中断优先级分组、DMA 请求映射 |
| 在初始化骨架上补充驱动逻辑(如 W25Q128 读 ID) |
硬件方案决策:电阻分压、电源噪声、去耦 |
| 编译报错定位、解释 HAL 库的隐蔽行为 |
依赖波形、串口日志、实测功耗的调试 |
| 文档、注释、代码框架、跨语言改写 |
焊接、外壳、天线、电池、散热、合规判断 |
6.3 协作方法
| 序号 |
方法 |
具体操作 |
| 1 |
在提示词中固定版本与限制 |
明确写出工具链版本、目标芯片与可用模式,例如「使用 ESP-IDF v5.1.2,目标 ESP32-S3,只使用 LOW_SPEED_MODE」,输出质量明显提升 [9] |
| 2 |
分层配合 |
由图形化工具(STM32CubeMX)生成硬件初始化骨架,包括引脚冲突检查、时钟树计算、HAL 风格 SystemClock_Config、句柄与中断回调;AI 仅填充业务逻辑 [11] |
| 3 |
提供完整上下文 |
一并给出 CubeMX 生成的初始化代码、datasheet 关键参数与原理图,而非仅用自然语言描述需求 [11] |
| 4 |
建立反馈回路 |
使用 Wokwi 在线仿真(支持 Arduino Uno / Mega / Nano、ESP32、STM32、Pi Pico、MicroPython,提供 VS Code 与 CI 插件);或使用 PlatformIO-MCP,使 Agent 可执行 build / flash / 读串口 / 列出已连接板卡(覆盖 1553 块板)。有反馈回路时,多次迭代的模型稳定优于一次性输出 [10]、[12] |
| 5 |
逐行核对初始化代码 |
对照官方标准库或 HAL 例程检查时钟使能、引脚复用、中断配置三项 |
| 6 |
硬件异常优先查看波形 |
用逻辑分析仪抓取 I2C / SPI 信号;寄存器级代码逐行审查 [9] |
6.4 平台协作友好度排序
| 排名 |
平台 |
依据 |
| 1 |
Arduino(Uno / ESP32-Arduino) |
库与示例数量大、Wokwi 可仿真、训练语料覆盖最充分 |
| 2 |
MicroPython / CircuitPython(RP2040、ESP32) |
具备 REPL,可即时试错,支持交互式调试 |
| 3 |
ESP-IDF(ESP32 原生) |
文档完整,但组件化配置多、型号差异大,迁移易出错 |
| 4 |
STM32 + CubeMX + HAL |
骨架由工具生成,AI 填充逻辑顺畅;寄存器级支持弱 |
| 5 |
Zephyr / devicetree / Kconfig |
抽象层多,AI 容易臆造配置项 |
| 6 |
RK3308 / RK3588 Linux 驱动、VAD 设备树、电源域 |
公开资料少、板级差异大,通常需人工与仪器配合 |
6.5 工具链清单
| 用途 |
工具 |
| 电路仿真(为 AI 提供反馈) |
Wokwi |
| 构建、烧录、串口与 MCP |
PlatformIO、platformio-mcp(npx pio-mcp dashboard) |
| STM32 配置与 AI 部署 |
STM32CubeMX、STM32Cube.AI / ST Edge AI Cloud |
| 数据采集到模型导出 |
Edge Impulse |
| 端侧推理 |
TensorFlow Lite Micro、ESP-DL / ESP-NN / ESP-PPQ、CMSIS-NN |
| 本地语音转写 |
faster-whisper(16 kHz 单声道,模型缓存可复用) |
| 版本管理与审计 |
Git |
7. 典型配置方案
本章按实施复杂度给出六类可执行的配置方案。每类列明物料清单(BOM)、软件栈、附加条件、AI 协作度与工时量级。涉及合规约束的部分统一见附录 A。
7.1 全天语音日志项目的硬件开发相关探索资料对比
| 档 |
配置路径 |
附加条件 |
AI 协作度 |
工时量级 |
| A 定点采集 |
成品设备插电定点录音(书桌 / 车内 / 床头,边充边录)→ U 盘导出 WAV → PC 上 Silero VAD 切段 → faster-whisper 夜间批量转写 → 归档为 JSONL / Markdown |
无 |
【AI佳】 |
半天 |
| B 全天随身 |
VOX 录音笔 / XIAO + BirdNETMic / AudioMoth → Silero VAD → faster-whisper small int8 |
打板或改固件、RTC 时间戳、16 kHz 直出、flush + close |
【AI中】 |
数周 |
| C 极致省电 |
µW 级常听芯片(STM32U5 / Ambiq / VM1010)或 ESP32-S3 深睡唤醒 |
画板写固件、buffer-time-ms 实测 |
【AI弱】 |
数月 |
该类系统的两条架构原则:
| 原则 |
内容 |
| 两层 VAD |
采集端承担功耗决策(有声唤醒、写时间戳空洞日志,不删除音频);转写端承担精度决策(切段、合并小于 300 ms 的间隙、边缘补 100 ~ 200 ms)。VAD 不承担删除决策,以避免不可逆删除、时间线断裂与轻声误杀 |
| 转写与采集链路分离 |
采集端只写文件;转写由另一台插电设备夜间异步批量执行。日常仅保存「音频 + 时间戳 + 粗转文本」,检索命中特定日期后再对该日执行精转 |
7.2 环境监测节点
| 项目 |
内容 |
| BOM |
ESP32-S3 开发板 + BME280 + SSD1306 OLED + 杜邦线 + 面包板(合计约 ¥100) |
| 软件栈 |
Arduino 框架或 ESP-IDF;库 Adafruit_BME280 / Adafruit_SSD1306 |
| 附加条件 |
I2C 上拉(模块通常已带)、Wi-Fi 账号 |
| AI 协作度 |
【AI佳】,从读取数据到上报云端可全程由 AI 生成代码 |
| 工时量级 |
一个下午 |
7.3 语音交互设备
| 项目 |
内容 |
| BOM |
微雪 ESP32-S3-AUDIO-Board(¥96,双数字麦 + ES7210 + ES8311 + RTC + SD + 电池开关)或同类成品 |
| 软件栈 |
xiaozhi-esp32(MIT 许可,138 板卡 / 171 固件变体)、ESP-SR / ESP-ADF;如需本地处理可自建 xiaozhi-esp32-server |
| 附加条件 |
唤醒词可离线运行,但对话音频上传云端;电池容量厂商未公布,需实测;续航为数小时量级 |
| AI 协作度 |
【AI中】 |
| 适用边界 |
语音交互原型。带外放与持续联网的设备不适合作为长时间采集端 |
7.4 可穿戴与带屏交互端
| 项目 |
内容 |
| BOM |
微雪 2.06″ AMOLED 手表(¥169.68,双麦 + AEC + RTC 电池保电 + SD + 外壳),作为控制与状态告知端;采集任务交由另一块无屏板承担 |
| 附加条件 |
全低功耗约 6 小时、常亮约 1 小时,不能作为全天采集端;不防水;拆机排线易断 |
| AI 协作度 |
【AI中】 |
| 功能价值 |
屏幕常显录音状态、按键标记 TOI(值得回看的时刻)、RTC 对时,可同时满足可见告知、事件标记与时间戳三项要求 |
7.5 端侧 AI 识别
| 项目 |
内容 |
| BOM |
ESP32-S3(向量指令、Wi-Fi / BLE、ESP-DL)或 STM32(Cube.AI;STM32N6 带约 0.6 TOPS NPU) |
| 软件栈 |
Edge Impulse 采集数据 → 训练 → 导出 → TFLite Micro / Cube.AI |
| 附加条件 |
数据集、INT8 量化、RAM / Flash 预算、模型不超过数 MB |
| AI 协作度 |
【AI中】(建模环节强,部署环节弱) |
| 参考量级 |
唤醒词模型 30 KB,STM32L4 推理 5 ms / 低于 3 mW;手势识别 12 KB / 96%;电机异常检测 INT8 25 KB / 300 Hz,延迟由 1 s 降至 8 ms [14] |
7.6 以手头现有的搜狗E1录音笔这样的 Linux 设备作为学习和尝试案例
| 项目 |
内容 |
| 操作路径 |
通过设备隐藏入口开启 ADB → 使用 dd 备份全分区(尤其 oem 分区)并 adb pull 验证镜像 → 只读勘察 VAD 节点与内核配置 → 确认原厂内核是否编入 VAD 驱动 → 再决定是否启用 VAD 或改用 Armbian_E1 |
| 附加条件 |
从零写入起步;已有刷错分区表导致卡在 logo 的实例,且设备停服后无官方固件与救砖包;来源不明的第三方固件不应刷入 |
| AI 协作度 |
【AI中】——Linux 命令、设备树解读与脚本可由 AI 生成;是否刷机的判断须人工作出 |
| 适用价值 |
现成 ADB 通道、公开 datasheet、官方 VAD 驱动文档、8 路 PDM 与完整 Linux 环境,适合作为嵌入式 Linux 的练习平台 |
只读勘察阶段使用下列命令,全部为读取操作:
1 2 3 4
| amixer contents | grep -i vad ls /sys/module/snd_soc_rockchip_vad/parameters/ zcat /proc/config.gz | grep -i VAD dmesg | grep -i vad
|
确认原厂内核已编入 VAD 驱动后,再尝试 amixer cset name='vad switch' 1 启用该功能。
8. 常见设备参数对照
下表汇总资料整理时涉及的各类设备,全部可归入 2.1 与 2.2 的坐标系。价格与功耗以 2026 年 11 月检索到的口径为准。
| 设备 |
层级 |
档 / 芯片 |
软件栈 |
音频前端 |
硬件 VAD |
续航 / 待机 |
参考价 |
难度 |
AI 协作度 |
适用场景 |
主要限制 |
| 搜狗 E1 |
成品 |
T4 / RK3308 四核 A35 |
Buildroot 2018.02 + Qt5 |
8 麦 PDM(2 哈曼 10 mm 指向 + 6 全向)、96 kHz / 24 bit |
有 |
2100 mAh,标称 10 h(实测 7 ~ 8 h)、待机 20 天、边充边录 |
原价 1298,二手 85 ~ 120 |
【易】 |
【AI中】 |
固定点位远场采集、Linux 教学 |
2024-05-30 停服;「隐藏空录音」为回放后处理;刷错分区表会变砖;2020 年电池已老化 |
| XIAO ESP32S3 Sense |
开发板 |
T3 / ESP32-S3 |
Arduino / ESP-IDF |
单 MSM261 PDM 麦(SNR 64 ~ 65 dB)、OV3660、SD 槽、8 MB PSRAM |
无 |
录音 + 写 SD 54.4 mA(峰值 108);Sense 版 deep sleep 约 3 mA |
¥100 ~ 150 |
【中】 |
【AI佳】 |
贴身采集原型、TinyML |
深睡时 PDM 麦无时钟;电源 / RF 噪声;PSRAM 仅够约 4 分钟音频;需焊电池并制作外壳 |
| AudioMoth |
成品(全开源) |
T2 / EFM32 Gecko |
开源固件 |
模拟 MEMS 麦,SNR 44.2 dB |
定时 / 占空比 |
待机 80 µW;16 kHz 12 mA;48 kHz 连录 9 天、8 kHz 占空比 115 天 |
$60 ~ 100 |
【易】 |
【AI佳】 |
固定点位、长待机、16 kHz 直出 |
换电池重置时钟且长期漂移;无无线需拔卡;音质最弱 |
| 微雪 2.06″ AMOLED 手表 |
成品 / 开发板 |
T3 / ESP32-S3R8 |
ESP-IDF / Arduino,Apache-2.0 |
双数字麦 → ES7210(AEC)→ ES8311、PCF85063 RTC 电池保电、SD |
无 |
400 mAh:常亮 1 h / 关背光 3 ~ 4 h / 全低功耗 6 h |
¥169.68 |
【中】 |
【AI中】 |
控制与告知端、TOI 标记、RTC 对时 |
6 h 续航不能作采集端;不防水;拆机排线易断 |
| 微雪 ESP32-S3-AUDIO-Board |
开发板 |
T3 / ESP32-S3R8 |
ESP-IDF / Arduino / ESP-SR / ESP-ADF |
双麦 + ES7210 + ES8311 + RTC + SD + 物理电池开关 |
无 |
厂商未公布电池容量 |
¥96 |
【中】 |
【AI中】 |
无屏采集底座、语音助手 |
无现成纯录音固件;电池容量未知;需自行改固件关闭 Wi-Fi / RGB / 喇叭 |
| Open†Mic |
开源方案 |
T2 级 |
开源固件 |
领夹麦 → microSD |
按键 |
电池供电 |
打板 + 零件 |
【难】 |
【AI佳】 |
便携、开源、无云 |
需打板;无订阅、无账号、无云、不用于训练 AI 是其设计目标 |
| Omoidase / Omi(Owl) / DayoTag |
开源方案 |
T3 / ESP32-S3 |
KiCad + 固件 + 服务端全开源 |
麦 + BLE / 本地 ASR |
有 VAD 环节 |
一天一充 |
自制 |
【难】 |
【AI中】 |
全天穿戴吊坠 + 自托管 Whisper |
需复刻硬件并自建服务端;Omoidase 的 TOI 实体按钮适合事件标记 |
| Plaud NotePin S |
成品 |
闭源 |
云 AI |
按一下才录 |
— |
320 mAh / 20 h 连续 + 40 天待机 |
$179 |
【易】 |
【AI佳】 |
即时可用、续航充足 |
闭源 + 云依赖 + 每月 300 免费分钟 |
| SwitchBot AI MindClip |
成品 |
闭源(有 OpenAPI) |
云 AI |
双麦波束成形 + 机械滑键 |
— |
20 h / 30 天待机 |
— |
【易】 |
【AI佳】 |
同上,磁吸领夹 |
云依赖;机械滑键便于物理告知 |
| 小智 AI 生态 |
成品 / 开发板 |
T3 / ESP32 全系 |
MIT 开源 |
麦 + 喇叭 |
唤醒离线 |
数小时(750 mAh 约 6 h,插电 12 h 以上) |
视板卡而定 |
【易】 |
【AI中】 |
语音交互原型 |
对话音频上云;属交互设备而非记录仪 |
| Arduino Uno / Nano |
开发板 |
T1 / ATmega328P |
Arduino 框架 |
无 I2S / PDM |
无 |
整板待机 10 ~ 50 mA |
¥20 ~ 80 |
【易】 |
【AI佳】 |
教学、GPIO 传感器 |
不适合音频任务;整板功耗远高于芯片;不适合低功耗项目 |
| STM32U5 / nRF54 / Ambiq Apollo4 |
芯片 |
T2 |
裸机 / RTOS / Zephyr |
I2S / PDM + DMA |
有(U5 LPBAM) |
200 nA ~ 1 µA |
芯片价 |
【难】 |
【AI中】 |
µW 级常听 + 有声唤醒 |
需自行打板与编写固件 |
| RP2040 / RP2350(Pico 2) |
开发板 |
T2 |
MicroPython / C |
需外接(INMP441) |
无 |
— |
¥30 ~ 60 |
【易】 |
【AI佳】 |
入门、TinyML 教学 |
无无线;MicroPython 有 REPL,便于交互调试 |
可归纳的规律:续航满足全天使用的成品,多为「无屏、无云、无外放、事件或按键触发」的记录型设备;续航为数小时量级的,多为具备语音交互能力的助手型设备。资料中记录的同期商业动向包括 Limitless / Rewind 于 2025-12 被收购停售、Humane AI Pin 于 2025-02 关闭服务器导致设备失效、Bee 被收购,而保留下来的产品形态转向「按一下才录」。上述动向为整理时的公开报道记录,采购决策前须复核当前状态。
9. 常见错误与处置
| 序号 |
错误 |
正确做法 |
| 1 |
用芯片 datasheet 的 µA 估算整板续航 |
一律以整板实测为准;开发板的 USB 转串、LED、LDO 会额外消耗 10 ~ 50 mA |
| 2 |
认为「启用 VAD 即省电」 |
VAD 切段节省的是存储与后处理;真正省电需主 CPU 休眠并由独立 VAD 域唤醒 |
| 3 |
深睡时外设仍保持供电 |
实测对照:外设断电 18 µA,仍供电 580 µA,相差约 30 倍 |
| 4 |
认为 PDM 麦克风在深睡时仍可拾音 |
ESP32-S3 深睡无时钟输出,麦克风失效;RK3308 / STM32U5 具备独立 VAD 域 |
| 5 |
在硬件层执行 VAD 删除决策 |
删除不可逆、会丢失时间线并误杀轻声;仅作门控并写空洞日志,保留预缓冲 |
| 6 |
5 V 传感器直连 3.3 V GPIO |
使用 BSS138 / TXS0108E 电平转换,不依赖内部钳位二极管 |
| 7 |
I2C 漏接 4.7 kΩ 上拉 / 同型号器件地址冲突 |
补上拉;使用 TCA9548A 或修改地址跳线 |
| 8 |
依赖片内 ADC 取得精度 |
ESP32-S3 片内 12 bit ADC 两端非线性;改用 ADS1115(16 bit I2C) |
| 9 |
将长音频直接送入 Whisper |
长静音会导致整段丢失或重复输出;先经 VAD 切段(可去除 30% ~ 70% 静音) |
| 10 |
SD 卡写入过程中掉电 |
必须 flush + close;长时录音分块写入;峰值 108 mA 会使小容量电池发生 brownout |
| 11 |
换电池或拔卡后时间线中断 |
RTC 独立电池供电;AudioMoth 换电池会重置时钟,接入日志系统前须实测 |
| 12 |
麦克风外壳未开孔,或贴近天线与电池 |
外壳设计直接决定音质;须避开 RF 与电源纹波 |
| 13 |
依赖厂商云服务 |
服务终止即设备失效;采集端功能越简单越不受影响;U 盘导出标准 WAV 最可靠 |
| 14 |
刷机前未备份分区 |
dd 全分区(尤其 oem)→ adb pull → 验证镜像;不改动分区表 |
| 15 |
让 AI 从零生成整个固件 |
骨架交由 CubeMX 或官方例程生成,AI 填充业务逻辑;寄存器级代码逐行审查 |
| 16 |
追求完全无感的采集方式 |
与合规要求相冲突;应保留可见告知与随时可停的手段,涉他场合默认不录(见附录 A) |
10. 采购与起步路径
10.1 第一套配置
| 物品 |
用途 |
参考价 |
| ESP32-S3 开发板(带 PSRAM + SD 槽,如 XIAO Sense 或 DevKitC) |
主控,属 T3 档,AI 协作友好度最高 |
¥100 ~ 150 |
| 传感器入门套装(BME280 + SSD1306 + DS18B20 + SG90 + LED / 电阻) |
练习 I2C / 1-Wire / PWM / GPIO |
¥40 ~ 60 |
| 面包板 + 杜邦线 + 4.7 kΩ 电阻包 |
免焊接搭建 |
¥20 |
| USB 电流表(UM25C 类) |
测量真实功耗,核对 datasheet 与整板差异 |
¥50 ~ 80 |
| 逻辑分析仪(24 MHz 8 通道类) |
抓取 I2C / SPI 波形 |
¥50 ~ 100 |
合计约 ¥200 ~ 300。
10.2 暂缓采购项
- Arduino Uno 用于低功耗或音频项目(整板 10 ~ 50 mA,且无 I2S / PDM)。
- 起步阶段即打板、采购 8 麦阵列或 NPU 板卡。
- 以带屏手表作为全天采集端(约 6 h 续航)。
- 来源不明的第三方固件。
10.3 学习顺序
- 点灯 → 按键(含消抖)→ 读 BME280 → OLED 显示,练习 GPIO 与 I2C。
- Wi-Fi 上报到云端,练习联网,并测量一次发射尖峰电流。
- 增加 SD 卡与 RTC,构建掉电后仍保持时间线的记录仪。
- 接入 INMP441 录音 → 16 kHz 单声道落盘 → PC 上 Silero VAD 切段 → faster-whisper 转写。
- 在此基础上决定后续方向:全天随身(转向 T2 并打板),或留在 T4(现成 Linux 设备 / Armbian)。
每一步完成后应实测一次电流并核对一次串口日志,构成第 6.3 节所述的反馈回路。
11. 参考来源
正文中的方括号编号与下列条目一一对应。[15] 及之后的条目为延伸阅读资料。
- Arduino 休眠整板仍 10–15 mA:USB 转串 / LED / LDO 拆解
- Arduino Sleep 漏电排查:理论 0.1 µA vs 整板 15–30 mA;MCP1700 / Pro Mini / 裸片最小系统
- RecorderGear:声控录音不改变续航,续航由录音质量档位决定
- 25 种常用传感器模块:接口、价格、难度分级
- 传感器原理与接口:模拟 / 数字、精度与分辨率、BME280 3.6 µA
- RK3308 硬件 VAD 模块使用文档:vad switch、voice_inactive_frames、echo mem
- RK3308 VAD 设备树 &vad / mode / buffer-time-ms 配置
- 边缘 AI 芯片选型:从场景反推算力,避开 TOPS 陷阱
- 实测三块开发板让 AI 生成嵌入式代码:一次通过率 0%
- The 55.6% problem:EmbedBench 与 PlatformIO-MCP 的反馈回路
- STM32CubeMX 与 AI 编程工作流:分层配合与边界
- Wokwi:支持 Arduino / ESP32 / STM32 / Pi Pico 的在线仿真
- 中国法院网:工作手机通话录音因未事先告知、未取得明确同意被判不合法
- TinyML 部署:TFLite Micro / Edge Impulse / STM32Cube.AI 对比与案例
- 在 ESP32 和 STM32 上运行 TinyML 的区别与选型
- STM32U5 官方概览:200 nA Standby、LPBAM 含 VAD
- 2025 低功耗 MCU 选型:nRF54 / Apollo4 / EFR32
- MCU vs MPU vs Crossover 架构定义
- Cortex-M vs Cortex-A 架构对比
- WhyCan:搜狗 E1 重新开发(ADB / RK3308 / Buildroot / 变砖实录)
- GitHub:Armbian_E1(ALSA 导出 + 设备树 + E1Recorder)
- RK3308 Datasheet V1.6:VAD 与 8ch PDM 章节
- STM32 vs ESP32 功耗深度对比(含开发板漏电实测)
- 传感器总线梳理:I2C / SPI / UART / 1-Wire / Modbus
- 传感器接线基础:逻辑电平转换 BSS138 / TXS0108E、I2C 上拉、ADS1115
附录 A 合规与安全边界
A.1 录音与隐私
《民法典》第 1032、1033 条规定,窃听他人私密活动、处理他人私密信息须取得权利人明确同意。中国法院网所载判例中,公司使用自行配发的工作手机进行录音,因未事先告知且未取得明确同意,相关证据被认定为不合法 [13]。
工程层面的要求:在会议、政务办理、客户沟通等可能涉及他人私密活动的场合,默认不启用录音;设备应具备可见的工作状态指示(REC 指示灯、屏幕常显状态)与随时可停止的手段(物理电池开关、机械滑键)。可见告知与可随时停止应作为设计目标,不以「完全无感」为目标。
A.2 强电与市电
继电器、市电与医疗相关应用涉及隔离、保险与认证,属于【难】级且【AI弱】。初学阶段仅实施低压侧控制,不直接接入市电。相关条目见 4.5、5.2 与 5.3。
A.3 云服务依赖与无线发射
- 依赖厂商云服务的设备在服务终止后可能失去核心功能;采集端应尽量采用标准格式(如 WAV)与本地导出通道(U 盘模式)。相关条目见第 9 章第 13 项。
- LoRa / LoRaWAN 需确认网关或运营商、天线条件与占空比法规;4G Cat.1 / NB-IoT 需确认 SIM、资费、APN 与电源峰值(见 4.6)。
- 无线发射模块的认证要求须在方案阶段确认,不延后至打板后。
A.4 数据可靠性验收项
| 验收项 |
判据 |
| 时间线连续性 |
RTC 由独立电池供电;更换电池后的时钟行为已实测 |
| 切段完整性 |
VAD 仅作门控,写入时间戳空洞日志,保留预缓冲,不删除原始音频 |
| 掉电写入安全 |
SD 卡写入执行 flush + close;长时录音分块落盘 |
| 峰值电流余量 |
已实测 Wi-Fi 发射、SD 卡写入与电机启动瞬间的电流,电源无 brownout |
| 可核查性 |
保留原始文件与时间戳,转写结果可回溯到原始音频 |