乐于分享
好东西不私藏

把 AI 助手塞进 3D 打印外壳——200 块做出一个能看、能听、能聊的桌面伙伴

把 AI 助手塞进 3D 打印外壳——200 块做出一个能看、能听、能聊的桌面伙伴

一、当 AI 助手有了"肉身"

上篇文章我们用 ESP-VISION 和 ESP-SR 搭了一套"能看、能听、能说"的 AI 助手方案——摄像头做眼睛,麦克风做耳朵,喇叭做嘴巴,大模型做大脑。跑起来之后,所有见过它的人问的第一句话都是同一句:

"能不能给它装个壳子?"

一块裸露的 PCB 板、几根杜邦线、一个歪歪扭扭的摄像头模块——功能是有了,但摆在桌上像电路板坟场。别说家人嫌弃,我自己看着都难受。

所以这篇文章,就是把上篇的软件方案,装进一个3D 打印的机器人外壳里,做成一个真正能拿在手里的 AI 桌面伙伴。全程开源,硬件成本控制到 200 块左右,零基础也能跟着做。


二、先看看成品长什么样

这个项目在开源社区里有个名字,叫 ESP-SparkBot,由乐鑫官方团队开源。截止 2026 年 7 月,GitHub 上已经积累了 3000+ Star,立创开源硬件平台上有 200+ 人成功复刻。

它的样子不是那种工业风的铁盒子,而是圆润、小巧、带点萌的设计——大概一个拳头大小,正面是一块圆形屏幕(显示"眼睛"),头顶有个可折叠的摄像头,底部有履带可以满地跑。

graph LR  A[ESP-VISION<br/>视觉识别] --> D[ESP32-S3<br/>主控]  B[ESP-SR<br/>语音识别] --> D  C[云端大模型<br/>理解与生成] --> D  D --> E[3D 打印外壳<br/>结构封装]  E --> F[AI 桌面伙伴]  style F fill:#0F4C81,color:#fff

模块说明

模块
作用
ESP-VISION
负责视觉识别,例如人脸、物体、手势或场景感知
ESP-SR
负责语音识别与唤醒,让设备具备听懂指令的能力
云端大模型
负责语义理解、对话生成和复杂任务处理
ESP32-S3 主控
作为核心控制单元,负责连接视觉、语音和云端能力
3D 打印外壳
完成硬件结构封装,让原型具备产品形态
AI 桌面伙伴
最终形成可交互、可陪伴、可扩展的智能桌面设备
功能
说明
一句话感受
语音对话
接入 DeepSeek / OpenAI / 文心一言
跟它聊天比跟 Siri 有意思多了
人脸识别
离线识别,记住家人
你走近它就知道是你
表情交互
OLED 屏幕显示表情动画
摸它头会笑,不理它会委屈
远程遥控
Web 端遥控小车移动
办公室巡逻神器
USB 副屏
一根线变电脑副屏
写代码时显示 CPU 温度
体感游戏
摇骰子、敲木鱼、2048
摸鱼的时候打发时间

最让我惊喜的是它的离线能力——语音唤醒、人脸识别、动作检测这些,全部在本地 ESP32-S3 上跑,不需要联网。只有大模型对话才走云端 API。


三、硬件清单:200 块能买到什么

以下是完整 BOM 清单,所有物料我都标注了购买渠道和参考价格:

序号
物料
规格
数量
单价
购买渠道
1
主控模组
ESP32-S3-WROOM-1-N16R8
1
¥45
淘宝/立创商城
2
显示屏
1.28 寸圆形 TFT(240×240)
1
¥28
淘宝
3
摄像头
OV2640(200W 像素)
1
¥22
淘宝
4
MEMS 麦克风
INMP441(I2S 接口)
1
¥8
立创商城
5
功放芯片
MAX98357(I2S 3W)
1
¥6
淘宝
6
喇叭
3W 4Ω 直径 28mm
1
¥5
淘宝
7
锂电池
2000mAh 3.7V
1
¥18
淘宝
8
充电管理
TP4056 Type-C 模块
1
¥3
淘宝
9
触摸按键
电容触摸焊盘(PCB 自带)
3
¥0
PCB 集成
10
六轴传感器
MPU6050
1
¥8
淘宝
11
PCB 打样
嘉立创 4 层板
1
¥20
嘉立创
12
3D 打印外壳
PLA 材质(四件套)
1
¥25
嘉立创 3D 打印
13
排线/电阻/电容
被动元件
若干
¥10
立创商城
合计¥198

如果你有 3D 打印机,外壳成本还能省 25 块。没有的话走嘉立创 3D 打印,PLA 白色一套四件不到 30。

跟市面上成品对比

产品
价格
开源
可定制
离线能力
ESP-SparkBot(自建)
¥198
✅ 全部开源
✅ 随便改
✅ 离线语音+人脸
小米小爱音箱
¥199
❌ 全部云端
Vector 机器人
¥2000+
部分
EMo 桌面宠物
¥599
同样的价格,小爱音箱只能当闹钟用;SparkBot 能做 AI 对话、人脸识别、遥控小车、副屏投屏——关键是你还能随便改代码、换外壳颜色、加新功能。

四、3D 打印外壳:从建模到实物

4.1 外壳结构拆解

ESP-SparkBot 的外壳由四部分组成,STL 文件全部开源在立创硬件平台:

┌─────────────────────────────────────┐│           摄像头前盖(可折叠)          ││  ┌───────────────────────────────┐  ││  │         摄像头后盖              │  ││  └───────────────────────────────┘  ││  ┌───────────────────────────────┐  ││  │                               │  ││  │     主体前盖(带屏幕卡口)        │  ││  │        ┌─────────┐            │  ││  │        │  OLED   │            │  ││  │        │  屏幕   │            │  ││  │        └─────────┘            │  ││  │                               │  ││  └───────────────────────────────┘  ││  ┌───────────────────────────────┐  ││  │     主体后壳(含 PCB 支撑柱)     │  ││  │         ■ 扬声器孔             │  ││  │         ■ Type-C 充电口         │  ││  │         ■ 麦克风孔             │  ││  └───────────────────────────────┘  │└─────────────────────────────────────┘

4.2 打印参数建议

参数
推荐值
原因
材料
PLA+
强度够,好打印,没异味
层高
0.16mm
精细度和速度的平衡点
填充
20% 网格
够结实,不浪费材料
支撑
主体前盖需要
屏幕卡口位置有悬空
打印时间
约 5 小时(全套)
适合晚上挂机打

4.3 外壳设计的几个用心细节

麦克风密封设计。这是最容易踩坑的地方。根据乐鑫 ESP-SR 官方文档(2026 年 5 月版),麦克风与外壳之间必须加硅胶套或泡棉进行密封和防震,且需要过盈配合——也就是说,硅胶套要比孔稍微大一圈,硬塞进去才密封。我第一版没做密封,结果语音识别率从 95% 掉到 60%,全是外壳共振的锅。

底部凸起留空间。如果你的麦克风是底部拾音,外壳底部必须设计一个凸起结构,让麦克风孔和桌面之间保持一定距离。否则放在桌上,麦克风孔被堵住,说什么都听不见。

触摸按键贴片。SparkBot 的顶部和侧面各有一个触摸按键,通过 FPC 软排线粘贴在外壳内侧。壳体的厚度直接影响触摸灵敏度——太厚了按不动,太薄了容易误触。官方推荐 1.2mm 壁厚。


五、硬件组装:一块板子搞定

如果你不想自己画 PCB,可以直接用立创开源平台上的工程文件下单打样。四层板,10cm×10cm 以内,嘉立创打样只要 20 块(还包邮)。

5.1 焊接顺序

焊接这个东西有个经验:先矮后高,先小后大。按这个顺序来,烙铁不会碰到已经焊好的元件:

  1. 1. 电阻、电容(0603 封装,先练手)
  2. 2. MEMS 麦克风(底部焊盘,烙铁从侧面加热)
  3. 3. 充电管理芯片 TP4056
  4. 4. 功放芯片 MAX98357
  5. 5. 排针/排母(连接各模块)
  6. 6. 电池座
  7. 7. 显示屏排线座
  8. 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 monitor

6.2 大模型 API 配置

SparkBot 默认对接 OpenAI 兼容接口,这意味着你可以接入几乎所有主流模型:

模型服务
API 地址
免费额度
推荐理由
DeepSeek-V3
api.deepseek.com/v1
送 10 元额度
中文对话最自然,便宜
阿里云百炼
dashscope.aliyuncs.com/compatible-mode/v1
送 200 万 token
生态好,ModelScope 集成
硅基流动
api.siliconflow.cn/v1
送 14 元
模型最多,切换方便
OpenAI
api.openai.com/v1
注册送 $5
综合能力最强

6.3 首次启动验证

烧录完成、上电后,屏幕会显示一个笑脸表情,同时喇叭播放"你好,我是小乐"。如果没反应,按这个顺序排查:

  1. 1. 屏幕不亮 → 检查排线方向、背光引脚焊接
  2. 2. 没声音 → MAX98357 的 SD_MODE 引脚必须拉高,否则静音
  3. 3. WiFi 连不上 → 确认天线区域没有遮挡,2.4G 频段
  4. 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