结论先说:TinyBot32 是一台自己画板、自己定义传感器边界的 ESP32-S3 超小型智能聊天机器人。 首版目标不是堆一张开发板,而是在 34 x 34 mm PCB 里同时留下语音、相机、姿态、距离、环境和接近感知;带镜头、声腔、电池和天线的整机目标是 39 x 39 x 22 mm,装配上限 26 mm。
我们不会先喊“全网最小”。先把尺寸口径、BOM、引脚、功耗和实测证据公开;当实机通过测量,再用“截至某次检索、按本项目口径”去比较同类产品。这种说法更硬,也更容易让别人复刻。
TinyBot32 = voice + vision + sensing + an open PCB you can actually build.
- ✅ 6 页原理图全部画完并通过逐网络核对(嘉立创EDA专业版):
- 电源 + 启动(USB-C → TPS63020 → 3V3,BOOT/RESET,USB ESD)
- 音频(T5848 数字麦 + MAX98357A 功放 + 喇叭)
- 传感器(BMI270 / BME280 / VL53L1X / VCNL4040 共用 I2C)
- 相机(OV2640 8-bit DVP,GPIO4~17)
- 电池(BQ24074 充电 + MAX17048 电量计)
- 人机(WS2812C RGB + 实体按键 + I2C 扩展排针)
- ✅ 最终整工程网表与工程文件在
docs/网表/(Netlist_mini_esp_2026-08-15.tel+ProPrj_max_min_esp32_2026-08-15.epro2) - ⏳ 下一步:跑 PCB 布局布线(4 层)、打样、电源/射频/声学实测后发布 Gerber 与量产外壳
现有 ESP32 聊天项目大致分成三类:
xiaozhi-esp32把语音协议、唤醒词、MCP 和多板支持做得很强,但没有一块统一的最小多传感器 PCB。- StackChan、ESP-SparkBot、ESP-BOX 把屏幕、摄像头、音频、运动做成完整产品或开发套件,尺寸和 BOM 迅速变大。
- XIAO Sense、Atom VoiceS3R 证明了 21 mm 主板或 24 mm 语音板是可能的,但它们并不是“相机 + 扬声器 + 多传感器 + 电池”的完整小机器人。
TinyBot32 的切口很具体:把软件底座复用开,把硬件边界讲清楚,把真正影响尺寸的镜头、声腔、天线和电池算进去。
- ESP32-S3-WROOM-1U-N16R8:
16 MB Flash + 8 MB PSRAM,FPC/IPEX 天线版本。 - OV2640 或 GC2145 2 MP 相机接口;OV5640 5 MP 作为可替换的质量版相机板。
- TDK T5848 I2S 数字麦克风 + MAX98357A I2S Class-D 功放 + 8 ohm 小扬声器。
- BMI270 六轴 IMU、BME280 温湿度/气压、VL53L1X ToF、VCNL4040 接近/环境光。
- USB-C、单节锂电池充电与电量计、RGB 状态灯、一个实体按键、I2C 扩展焊盘。
- 以
78/xiaozhi-esp32和ESP-SR作为语音/MCP/唤醒词软件底座;视觉默认抓拍上传,不把“ESP32 本地跑大模型”写成已经存在的能力。
| 方案 | PCB | 整机目标 | 主控 | 感知 | 适合谁 |
|---|---|---|---|---|---|
| A / Core(首选) | 34 x 34 mm |
39 x 39 x 22 mm(上限 26) |
WROOM-1U-N16R8 | OV2640/GC2145、T5848、BMI270、BME280、VL53L1X、VCNL4040 | 想做出第一块能解释、能焊、能复刻的薄型小机器人 |
| B / Nano(极限) | 28 x 28 mm |
33 x 33 x 20 mm(上限 23) |
裸 ESP32-S3R8 + 外置 16 MB Flash | OV2640/GC2145、T5848、BMI270、VL53L1X | 接受 0201/WLP、RF 和量产风险的人 |
| C / Vision+(丰富) | 42 x 42 mm |
48 x 48 x 27 mm(带运动底座另算) |
WROOM-1-N16R8 | OV5640 AF、双麦、IMU、ToF、环境、microSD、舵机扩展 | 要屏幕、运动和更强相机,不把每个器件塞进极限板 |
当前决策:先画 A(原理图已完成)。 B 只做 layout feasibility,不作为首板投产;C 作为可插拔传感器/运动扩展的后续版本。
详细取舍在 docs/SENSOR-MATRIX.md。一句话版本:
- 相机:
GC2145/OV2640是首版尺寸和生态平衡;OV5640只在镜头高度和帧缓存实测通过后启用。 - 麦克风:
TDK T5848优先于大模块 INMP441;底部进音孔必须配合机壳开孔。 - 姿态:
BMI270;只要低功耗加速度时再降到 LIS2DW12。 - 环境:
BME280一颗提供温湿度和气压;气体传感器首版不装。 - 空间感知:
VL53L1X做前向 ToF,VCNL4040做接近/环境光;不同时塞多个重复光学器件。
扬声器、功放、按键、LED、充电和电量计是人机接口/电源部件,不把它们冒充成“传感器数量”。
- 硬件:原理图在嘉立创EDA专业版完成,整工程与网表已提交(
docs/网表/);PCB、Gerber、BOM、装配图和测试点将在首板验证后发布,目标许可证CERN-OHL-S-2.0。 - 建模:参数化外壳源文件、STEP、STL、打印方向和装配公差,目标许可证
CC BY 4.0。 - 软件:ESP-IDF 固件、驱动、MCP 能力、主机工具和文档,许可证
MIT。
第三方模型、字体、ESP-SR 模型和云端服务各自遵循上游许可证。仓库当前状态:原理图已完成(嘉立创EDA专业版,docs/网表/),PCB 布局、固件和外壳建模均未开始(目录留占位,见各目录 README)。PCB 布线、Gerber 和量产外壳要在首板通过电源/RF/声学验证后发布,不把骨架或概念图当成已完成的开源板。
- 不承诺:本地大模型、设备端全双工 AEC、相机自动对焦、远场指标和“全网最小”绝对排名;这些都需要真实硬件数据。
docs/POWER-BOOT-BUILD.md:当前主文档——6 页原理图的逐模块接线、验证记录、BOM 汇总与遗留提醒。docs/网表/:最终整工程网表(.tel)与嘉立创EDA专业版工程(.epro2)。docs/POWER-BOOT-BUILD.md:当前主文档——6 页原理图的逐模块接线、验证记录、BOM 汇总与遗留提醒。docs/网表/:最终整工程网表(.tel)与嘉立创EDA专业版工程(.epro2)。docs/HARDWARE-OPTIONS.md:三套芯片/传感器/BOM/工艺方案。docs/SENSOR-MATRIX.md:型号、封装尺寸、接口、功耗和替换条件。docs/TARGET-SIZE.md:PCB、机壳、镜头、声腔、电池和天线的尺寸口径。docs/RESEARCH.md:商业产品、开源项目和调研边界。research/smallest-esp32-chatbot-with-screen.md:带屏最小化盘点——竞品尺寸对比、屏幕选型与 GPIO 预算结论(目标:全网最小 + 丰富传感器 + 屏幕)。hardware/README.md:布局顺序、placement rules 与设计冻结条件。hardware/pin-budget.csv:全机 GPIO 分配(与原理图逐项对应)。hardware/rev-a/:PCB 布局未开始(占位)。models/:外壳建模未开始(占位)。firmware/:固件未开始(占位,先复用xiaozhi-esp32)。
原理图已完成,当前进入 PCB 与固件阶段:
- 读
docs/POWER-BOOT-BUILD.md了解整机接线与 BOM; - 用嘉立创EDA专业版打开
docs/网表/ProPrj_max_min_esp32_2026-08-15.epro2继续 PCB 布局布线; - 软件移植从
78/xiaozhi-esp32固定 commit 开始,先完成语音半双工闭环,再接入相机抓拍和传感器事件。
read docs/POWER-BOOT-BUILD.md
open the EasyEDA Pro project
route 4-layer PCB -> check power/RF/audio -> prototype
bring up USB + audio before attaching camera and sensors
Firmware and documentation: MIT. Hardware layout and CAD files: CERN-OHL-S-2.0 once the first KiCad release is published.