news 2026/9/4 10:26:38

百元以内,用 ESP32-C3 从零搭一台会说话会走路的机器狗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
百元以内,用 ESP32-C3 从零搭一台会说话会走路的机器狗

百元以内,用 ESP32-C3 从零搭一台会说话会走路的机器狗

【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32

你不需要一块专用音频板,也不需要任何带音频芯片的开发套件。拾音靠 ESP32-C3 内置的 ADC,发声靠 PDM 直推小喇叭,两块"零成本"的外设就把语音链路搭起来了。这套方案出自小智固件仓库里的 ESP-Hi 机器狗(main/boards/espressif/esp-hi/),整台机器狗 BOM 压在百元以内,能唤醒、能对话、能走能跳,表情还能在 0.96 寸彩屏上动。

硬件清单与选型思路

模块型号数量用途大致价位
主控ESP32-C3 模块1RISC-V 主控,跑唤醒+音频+舵机约 15 元
舵机标准 5V 舵机(SG90 级别)4四条腿的步态驱动约 30 元
屏幕0.96 寸 SPI 彩屏(ILI9341)1表情动画显示约 10 元
拾音普通驻极体麦克风(接 ADC)1语音采集约 2 元
发声PDM 小喇叭1语音播报约 3 元
状态灯WS2812 灯珠4状态指示约 2 元
电源锂电池 + 升降压模块1 套整机供电约 10 元

选型逻辑就一条:能复用芯片内置外设的就不外加器件。音频走 ADC+PDM 后,硬件成本比传统专用音频方案降了约 80%;屏幕 SPI 直驱省掉驱动 IC,整机显示链路成本降约 75%;舵机用标准 PWM 控制,运动控制部分比专用驱动电路省约 70%。

环境与代码获取

需要:ESP-IDF 开发环境(含 Python 3)、一个 USB 转串口工具(或 USB 直连)、一台能连 Wi-Fi 的路由器。

git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 cd xiaozhi-esp32 python ./scripts/build.py espressif/esp-hi idf.py flash

ESP-Hi 涉及较多 sdkconfig 选项,所以仓库板级 README 建议直接用上面的编译脚本,它会自动带上 main/boards/espressif/esp-hi/config.json 里的配置。

组装与点亮

按从核心到外围的顺序来,出问题也好定位。

  1. 核心板:把 ESP32-C3 固定在头部结构件上,先不接身体,单独给头通电,确认 USB 能识别、串口有日志。
  2. 电源:电池加升降压模块给整机供电,注意舵机动作瞬间电流较大,供电不稳会先表现为复位。
  3. 拾音与发声:麦克风接 ADC 引脚,PDM 喇叭接 I2S PDM 通道,对着喊唤醒词验证拾音。
  4. 舵机:四路 PWM 依次接入,先逐个打角度做初始校准,再上步态程序。
  5. 屏幕:0.96 寸屏走 SPI 接到 C3 的 SPI 口,点亮后表情动画会随对话状态切换。

头身之间用排线连接。接线关系可以参考下面的原理图,重点是确认 USB 口在舵机使能后的去向(见下文故障一节)。

几个关键模块怎么实现的

音频:软件定义的低成本方案。采集端不用 I2S 麦克风,直接用 ESP32-C3 的 ADC(12bit 量化、单通道连续采集)读麦克风;发声端把 I2S 配成 PDM TX 模式,SINC 滤波器过采样后驱动喇叭。编解码全部在软件里做,代价是内存占用被优化过——唤醒词检测、外设驱动和这套音频链路要在 C3 的小 RAM 里同时跑,这是这套方案里最吃调优的地方。对应实现在 main/boards/espressif/esp-hi/adc_pdm_audio_codec.cc。

运动:四路 PWM 按相位差排表。所谓步态就是四路舵机角度的时间序列:两条腿交替,每步一个角度增量,循环推进即可。

// 前进:对角腿交替,伪代码示意 void dog_walk_forward() { for (int t = 0; t < steps; t++) { set_servo_sequence(walk_pattern[t]); // 四路角度 delay(step_interval); // 步频 } }

动作库由 servo_dog_ctrl 组件管理,仓库 README 里提到已实现数十种动作,连上了同一个 Wi-Fi 的手机访问http://esp-hi.local/还能通过内置 WebUI 遥控身体。

显示:SPI 直驱 ILI9341。屏是标准 SPI 接口,初始化序列就是 esp-hi 源码里那张vendor_specific_init命令表(0x11 唤醒、0xB1~0xC5 设伽马、0x29 点亮)。表情显示复用通用的 anim/EmojiWidget,不需要任何显示专用芯片,整条链路比"驱动 IC+TFT"的方案便宜且省口。

高频故障排查

  • 舵机使能后无法烧录/看日志→ 舵机信号占用了 USB Type-C 口,电脑识别不到板子 → 断电后只留头部不接身体,按住板上按钮再插电脑进入烧录模式;烧完重新上电。
  • 想看串口日志又不想丢舵机→ 默认 console 走 USB Serial/JTAG 与舵机互斥 → 在 menuconfig 的 ESP System Settings 里切换 console 通道(两者只能二选一,README 已注明)。
  • 上电就复位或随机重启→ 舵机动作瞬间拉低供电 → 电池容量或升压功率不足,换更大电池或加储能电容。
  • 拾音底噪大/唤醒率低→ ADC 增益与量化位数配置(默认 12bit、12dB 衰减)与麦克风位置有关 → 检查 mic 走线长度,缩短到主控 1cm 以内效果差异明显。
  • Wi-Fi 频繁掉线后设备无响应→ 断线重连参数未配 → 在 sdkconfig 里调连接重试参数,仓库自带重连机制,别自己裸重连。

还能怎么玩

  • 传感器扩展:接温湿度、光线、距离模块,把读数挂到 MCP 工具上,让"机器狗"能回答环境问题。
  • 云端 AI:固件本身就是 MCP-based 的,接上大模型后端即可加知识检索和更自然的对话。
  • 新动作:往 servo_dog_ctrl 的动作表里加序列,用 WebUI 或语音命令触发。

仓库还带了音频工具链,本地播报音效可以批量转 P3 格式再打进固件,界面和用法在 scripts/p3_tools/ 的 README 里。

你现在手里应该有:一台能唤醒、能对话、能做出数十种动作、百元以内造出来的 ESP32 机器狗,以及一套可复用的 ADC+PDM 音频链路代码。下一步最自然的是加传感器或改步态参数——这两处都不用动音频链路,改完重刷固件就能看到效果。

资源入口

git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32
  • 板级说明与 WebUI 用法:main/boards/espressif/esp-hi/README.md
  • 板级默认配置:main/boards/espressif/esp-hi/config.json
  • MCP 协议与用法:docs/mcp-protocol_zh.md、docs/mcp-usage_zh.md
  • 自定义开发板指南:docs/custom-board_zh.md
  • 音频转换工具:scripts/p3_tools/

【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 10:26:27

山水观心操作系统:一套构建内在秩序的正念觉察体系

1. 这个标题背后&#xff0c;藏的是一套自成体系的“内观架构”说实话&#xff0c;我第一次看到“山水观心操作系统”这个命名时&#xff0c;第一反应是愣了一下。做技术的人对“操作系统”四个字是有条件反射的——Linux、内核、进程调度、文件系统&#xff0c;脑子里瞬间全是…

作者头像 李华
网站建设 2026/9/4 10:26:07

误删Ubuntu分区卡在grub?双系统引导修复实战全攻略

直接讲结论&#xff1a;误删Ubuntu分区导致开机卡进grub&#xff0c;这个局是可以破的&#xff0c;而且修复思路并不复杂。核心问题是引导链断了&#xff0c;Ubuntu删了&#xff0c;但电脑固件仍然优先去找GRUB&#xff0c;GRUB又找不到已消失的Ubuntu内核&#xff0c;于是停在…

作者头像 李华
网站建设 2026/9/4 10:24:31

MATLAB水果识别高分项目:从像素到答辩的闭环实现

简介&#xff1a;本资源是一套面向本科生的数字图像处理课程实践项目&#xff0c;聚焦水果图像识别这一典型应用场景&#xff0c;适用于毕业设计、期末大作业及课程设计等高分需求场景。项目基于MATLAB平台实现完整识别流程&#xff0c;涵盖图像预处理、特征提取、分类识别与GU…

作者头像 李华
网站建设 2026/9/4 10:24:31

美式发音训练全攻略:60集系统教学与跟读技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 10:24:24

Excel与Word办公实战:从函数入门到数据的完整自学路线

很多朋友学 Excel 和 Word&#xff0c;一开始都是“用到哪查到哪”&#xff1a;今天遇到编号要下拉&#xff0c;明天复制表格到 Word 后格式乱了&#xff0c;后天又不知道怎么把数据做成部门汇报用的图表。学了一段时间&#xff0c;网上教程收藏了几百篇&#xff0c;真到做表时…

作者头像 李华
网站建设 2026/9/4 10:23:46

AI Agents 与人类监督失效:从原理到 HITL 工程防御

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华