一、当 AI 助手有了"肉身"
上篇文章我们用 ESP-VISION 和 ESP-SR 搭了一套"能看、能听、能说"的 AI 助手方案——摄像头做眼睛,麦克风做耳朵,喇叭做嘴巴,大模型做大脑。跑起来之后,所有见过它的人问的第一句话都是同一句:
"能不能给它装个壳子?"
一块裸露的 PCB 板、几根杜邦线、一个歪歪扭扭的摄像头模块——功能是有了,但摆在桌上像电路板坟场。别说家人嫌弃,我自己看着都难受。
所以这篇文章,就是把上篇的软件方案,装进一个3D 打印的机器人外壳里,做成一个真正能拿在手里的 AI 桌面伙伴。全程开源,硬件成本控制到 200 块左右,零基础也能跟着做。
二、先看看成品长什么样
这个项目在开源社区里有个名字,叫 ESP-SparkBot,由乐鑫官方团队开源。截止 2026 年 7 月,GitHub 上已经积累了 3000+ Star,立创开源硬件平台上有 200+ 人成功复刻。

它的样子不是那种工业风的铁盒子,而是圆润、小巧、带点萌的设计——大概一个拳头大小,正面是一块圆形屏幕(显示"眼睛"),头顶有个可折叠的摄像头,底部有履带可以满地跑。
graph LRA[ESP-VISION<br/>视觉识别] --> D[ESP32-S3<br/>主控]B[ESP-SR<br/>语音识别] --> DC[云端大模型<br/>理解与生成] --> DD --> E[3D 打印外壳<br/>结构封装]E --> F[AI 桌面伙伴]style F fill:#0F4C81,color:#fff

模块说明
ESP-VISION | |
ESP-SR | |
云端大模型 | |
ESP32-S3 主控 | |
3D 打印外壳 | |
AI 桌面伙伴 |
| 语音对话 | ||
| 人脸识别 | ||
| 表情交互 | ||
| 远程遥控 | ||
| USB 副屏 | ||
| 体感游戏 |
最让我惊喜的是它的离线能力——语音唤醒、人脸识别、动作检测这些,全部在本地 ESP32-S3 上跑,不需要联网。只有大模型对话才走云端 API。
三、硬件清单:200 块能买到什么
以下是完整 BOM 清单,所有物料我都标注了购买渠道和参考价格:
| 合计 | ¥198 |
如果你有 3D 打印机,外壳成本还能省 25 块。没有的话走嘉立创 3D 打印,PLA 白色一套四件不到 30。
跟市面上成品对比:
| ESP-SparkBot(自建) | ||||
四、3D 打印外壳:从建模到实物
4.1 外壳结构拆解
ESP-SparkBot 的外壳由四部分组成,STL 文件全部开源在立创硬件平台:
┌─────────────────────────────────────┐│ 摄像头前盖(可折叠) ││ ┌───────────────────────────────┐ ││ │ 摄像头后盖 │ ││ └───────────────────────────────┘ ││ ┌───────────────────────────────┐ ││ │ │ ││ │ 主体前盖(带屏幕卡口) │ ││ │ ┌─────────┐ │ ││ │ │ OLED │ │ ││ │ │ 屏幕 │ │ ││ │ └─────────┘ │ ││ │ │ ││ └───────────────────────────────┘ ││ ┌───────────────────────────────┐ ││ │ 主体后壳(含 PCB 支撑柱) │ ││ │ ■ 扬声器孔 │ ││ │ ■ Type-C 充电口 │ ││ │ ■ 麦克风孔 │ ││ └───────────────────────────────┘ │└─────────────────────────────────────┘4.2 打印参数建议
4.3 外壳设计的几个用心细节
麦克风密封设计。这是最容易踩坑的地方。根据乐鑫 ESP-SR 官方文档(2026 年 5 月版),麦克风与外壳之间必须加硅胶套或泡棉进行密封和防震,且需要过盈配合——也就是说,硅胶套要比孔稍微大一圈,硬塞进去才密封。我第一版没做密封,结果语音识别率从 95% 掉到 60%,全是外壳共振的锅。
底部凸起留空间。如果你的麦克风是底部拾音,外壳底部必须设计一个凸起结构,让麦克风孔和桌面之间保持一定距离。否则放在桌上,麦克风孔被堵住,说什么都听不见。
触摸按键贴片。SparkBot 的顶部和侧面各有一个触摸按键,通过 FPC 软排线粘贴在外壳内侧。壳体的厚度直接影响触摸灵敏度——太厚了按不动,太薄了容易误触。官方推荐 1.2mm 壁厚。
五、硬件组装:一块板子搞定
如果你不想自己画 PCB,可以直接用立创开源平台上的工程文件下单打样。四层板,10cm×10cm 以内,嘉立创打样只要 20 块(还包邮)。
5.1 焊接顺序
焊接这个东西有个经验:先矮后高,先小后大。按这个顺序来,烙铁不会碰到已经焊好的元件:
1. 电阻、电容(0603 封装,先练手) 2. MEMS 麦克风(底部焊盘,烙铁从侧面加热) 3. 充电管理芯片 TP4056 4. 功放芯片 MAX98357 5. 排针/排母(连接各模块) 6. 电池座 7. 显示屏排线座 8. 摄像头排线座
5.2 容易翻车的三个地方
翻车点 1:ESP32-S3 模组焊反了。模组底部的天线区域要朝向 PCB 外侧,不能朝内。我第一次焊反了,结果 WiFi 信号弱到连不上路由器,排查了一整天。
翻车点 2:麦克风焊盘氧化。INMP441 底部有 6 个焊盘,间距只有 0.5mm。如果 PCB 放久了氧化,先上锡再拖平,否则必虚焊。显微镜下检查是必须的。
翻车点 3:电池正负极接反。TP4056 有防反接保护,但 ESP32 模组没有。接反了模组直接烧,40 块没了。建议在电池接口旁边贴个红色标签标记正负极。
graph TD A[PCB 到货] --> B[检查焊盘氧化] B --> C[先焊贴片电阻电容] C --> D[再焊芯片] D --> E[焊排针排母] E --> F[插接模块测试] F --> G{功能正常?} G -->|是| H[装入外壳] G -->|否| I[万用表逐点排查] I --> F六、固件烧录与配置
6.1 烧录方式
SparkBot 支持两种供电方式,烧录时建议用 USB 供电:
# 1. 安装 ESP-IDF 开发环境# 推荐使用 VSCode + ESP-IDF 插件,一键安装# 2. 克隆仓库git clone https://github.com/espressif/esp-sparkbot.gitcd esp-sparkbot# 3. 配置 WiFi 和 API Keyidf.py menuconfig# 进入 "SparkBot Configuration" 设置:# - WiFi SSID & Password# - OpenAI API Key / DeepSeek API Key# - 语音唤醒词(默认 "小乐小乐")# 4. 编译烧录idf.py build flash monitor6.2 大模型 API 配置
SparkBot 默认对接 OpenAI 兼容接口,这意味着你可以接入几乎所有主流模型:
api.deepseek.com/v1 | |||
dashscope.aliyuncs.com/compatible-mode/v1 | |||
api.siliconflow.cn/v1 | |||
api.openai.com/v1 |
6.3 首次启动验证
烧录完成、上电后,屏幕会显示一个笑脸表情,同时喇叭播放"你好,我是小乐"。如果没反应,按这个顺序排查:
1. 屏幕不亮 → 检查排线方向、背光引脚焊接 2. 没声音 → MAX98357 的 SD_MODE 引脚必须拉高,否则静音 3. WiFi 连不上 → 确认天线区域没有遮挡,2.4G 频段 4. 语音唤醒没反应 → 检查麦克风密封,串口输出看音量值
七、搞定外壳后,别忘了这些细节
7.1 散热问题
ESP32-S3 跑本地 AI 推理(人脸识别 + 语音识别同时跑)时,功耗大约 1.5W。塞在密闭的 PLA 外壳里,半小时后外壳温度能到 45°C——冬天暖手,夏天烫手。
解决方案:在主体后壳的顶部和底部各开几个 2mm 的散热孔。不用多,四五个就够了。PLA 的软化温度是 60°C,正常使用不会变形,但如果你打算跑满 24 小时,建议换成 PETG 材料。
7.2 喇叭音腔
很多 DIY 项目把喇叭直接塞进壳子里,声音又闷又小。SparkBot 的设计里,主体后壳有一个独立的密封音腔——喇叭前后的声波被隔开,低音效果提升明显。
如果你自己改外壳,记住一个原则:喇叭前腔和后腔必须密封隔离,否则声波短路,声音出不来的。
7.3 触摸按键灵敏度
SparkBot 通过 FPC 软排线把触摸焊盘贴在外壳内侧。如果外壳壁厚超过 1.5mm,触摸灵敏度会明显下降。官方推荐的壁厚是 1.2mm。如果已经打印好了太厚的壳子,可以在 ESP-IDF 里调高触摸阈值:
// 在 touch_config.c 中调整touch_pad_set_thresh(TOUCH_PAD_GPIO, 800); // 默认 1000,越小越灵敏八、进阶玩法:从桌面宠物到生产力工具
8.1 副屏模式
把 SparkBot 用 USB 线连到电脑上,它就变成了一块副屏。用途比你想的还多:
• 写代码时显示 CPU/GPU 温度(用 AIDA64 输出到副屏) • 开会时显示当前时间 + 计时器(提醒自己别超时) • 直播时显示弹幕(OBS 推流到副屏) • 挂机时当监控画面(摄像头画面实时预览)
8.2 接入 Home Assistant
SparkBot 的 ESP32-S3 自带 WiFi 和蓝牙,可以接入 Home Assistant 做智能家居中控:
# ESPHome 配置示例esphome: name: sparkbotesp32: board: esp32-s3-devkitc-1i2s_audio: i2s_lrclk_pin: GPIO4 i2s_bclk_pin: GPIO5microphone: - platform: i2s_audio id: sparkbot_mic adc_pin: GPIO6speaker: - platform: i2s_audio id: sparkbot_speaker dac_type: external i2s_dout_pin: GPIO7接入后,你可以对 SparkBot 说"关灯""开空调""拉窗帘",它通过 Home Assistant 控制全屋智能设备。
8.3 多机器人协作
SparkBot 支持 ESP-NOW 协议,多个机器人之间可以不经过路由器直接通信。乐鑫官方演示了一个"敲木鱼"场景:十几个 SparkBot 同步敲木鱼,功德翻倍。这个脑洞虽然搞笑,但技术上是实打实的——ESP-NOW 的延迟不到 2ms,比 WiFi 快 10 倍。
九、常见踩坑与避坑
坑 1:3D 打印精度不够,零件装不上
现象:外壳打印好了,PCB 塞不进去,摄像头盖扣不上。
原因:FDM 打印机的实际精度通常在 ±0.2mm,但外壳设计时的公差只有 0.1mm。加上 PLA 冷却收缩,实际尺寸和设计尺寸可能有 0.5mm 偏差。
解决:用砂纸打磨卡扣位置,或者切片软件里把 X/Y 补偿设为 +0.15mm。如果彻底装不上,切片时把外壳等比放大 1%-2% 重新打印。
坑 2:麦克风没做密封,语音识别率暴降
现象:裸板测试时语音识别率 95%,装进壳子后掉到 60%。
原因:外壳共振 + 麦克风孔漏音,导致声波在壳体内反射,信噪比大幅下降。
解决:麦克风孔周围必须加硅胶套或泡棉,做过盈配合密封。底部拾音的麦克风,外壳底部要设计凸起,保证麦克风孔不被桌面堵住。
坑 3:WiFi 天线被外壳屏蔽
现象:装进壳子后 WiFi 信号只剩一格,大模型对话经常超时。
原因:ESP32-S3 模组的天线在 PCB 边缘,装进外壳后被 PLA 和电池遮挡。
解决:模组天线区域朝向外壳外侧(不要朝向电池),天线区域的外壳壁厚减到 1mm 以下。如果还是信号差,外接一根 2.4G 陶瓷天线。
坑 4:电池鼓包
现象:用了一个月,外壳被撑开了。
原因:锂电池在密闭空间里反复充放电,温度升高 + 没有泄压空间,导致电池鼓包。
解决:外壳设计时预留电池仓 1-2mm 的膨胀空间,不要在电池周围填满热熔胶。过充过放也会加速鼓包,固件里设置充放电保护阈值(3.0V 关机,4.2V 停充)。
坑 5:OTA 升级失败变砖
现象:无线升级固件时断电,机器人变砖。
原因:ESP32 的 OTA 机制需要两个分区轮流写入,如果升级过程中断电,当前分区损坏。
解决:ESP-IDF 默认开启 OTA 回滚。变砖后,按住 BOOT 键再上电进入下载模式,用 USB 线重新烧录恢复。平时 OTA 升级前确保电池电量 > 50%。
十、从裸板到"伙伴",这一步到底值不值
做完这个项目,我最大的感受是:当 AI 助手有了"肉身",它就不再是一个工具,而是一个"存在"。
裸板的时候,它只是一个随时可以拆掉的实验品。但装进外壳、贴上屏幕、连上大模型之后,它开始有了"性格"——屏幕上的表情会变,你摸它头它会开心,你一天不理它它会委屈。它还会在你敲代码的时候默默显示 CPU 温度,在你开会超时的时候提醒你。
这不是什么玄学。外壳不只是保护电路,它定义了交互的边界。就像手机和中控屏的区别——同样的芯片,同样的系统,但一个拿在手里,一个挂在墙上,你的使用方式完全不同。
如果你上篇文章已经跟着搭好了 ESP-VISION + ESP-SR 的软件方案,这篇文章就是它的"最后一公里"。花一个周末,200 块预算,把它从实验板变成一个有模有样的桌面伙伴。
参考链接
• ESP-SparkBot 乐鑫官方博客[2] • ESP-SparkBot 立创开源硬件平台(含 PCB + 3D 文件)[3] • ESP-SparkBot 复刻指南 CSDN[4] • ESP-SR 语音识别用户手册(2026.05)[5] • ESP-WHO 人脸识别框架[6] • SparkBot 复刻交流社区[7] • DIY 大模型机器人方案(知乎)[8] • 乐鑫 ESP-NOW 协议文档[9]
标签:ESP32-S3、3D打印、AI桌面机器人、ESP-SparkBot、DIY、大模型、语音助手、开源硬件
声明:本文基于 ESP-SparkBot 开源项目 v1.2 版本编写,硬件成本为 2026 年 7 月参考价格,实际价格以购买时为准。3D 打印文件、PCB 设计、固件源码均遵循开源协议,可自由复刻和修改。
💬 互动时间:你给 AI 助手做过"外壳"吗?是 3D 打印、乐高拼接,还是纸盒+胶带?评论区晒出你的作品,最走心的三位送出 ESP32-S3 开发板一块(下周开奖)。
👇 觉得有用,点个在看,转发给那个一直在裸板跑 AI 的朋友。下期见!
引用链接
[1] TOC: 文章目录[2] ESP-SparkBot 乐鑫官方博客: https://developer.espressif.com/blog/2025/04/esp32-s3-sparkbot/[3] ESP-SparkBot 立创开源硬件平台(含 PCB + 3D 文件): https://oshwhub.com/esp-college/esp-sparkbot[4] ESP-SparkBot 复刻指南 CSDN: https://blog.csdn.net/weixin_47560078/article/details/146501677[5] ESP-SR 语音识别用户手册(2026.05): https://docs.espressif.com/projects/esp-sr/zh_CN/latest/esp32s3/[6] ESP-WHO 人脸识别框架: https://github.com/espressif/esp-who[7] SparkBot 复刻交流社区: https://www.sparkbot.com.cn/[8] DIY 大模型机器人方案(知乎): https://zhuanlan.zhihu.com/p/12904743536[9] 乐鑫 ESP-NOW 协议文档: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/network/esp_now.html
夜雨聆风