返回 Buddy 主页

Build Your Own Buddy

Follow these steps to assemble and set up your AI English companion

预计组装时间 2-3 小时·总物料费约 ¥193

物料清单 (BOM)

点击分类展开查看详细配件

名称数量单价
ESP32-S3-DevKitC-11¥28
PCA9685 16路PWM驱动板1¥8
预估总成本¥193

硬件组装步骤

按顺序完成以下 7 个步骤

1

准备主控板

将 ESP32-S3-DevKitC-1 插入面包板中央位置,确保两排引脚分别在面包板两侧的独立行上。识别 GPIO 引脚编号,USB 口朝上放置。建议在面包板两侧连接 3.3V 和 GND 电源轨。

GPIO 接线参考
电源轨:3.3V → 面包板正极,GND → 面包板负极
2

连接音频系统

先接 INMP441 数字麦克风(I2S 输入),再接 MAX98357A 功放模块(I2S 输出)并连接扬声器。两个模块共享 I2S 总线但使用不同引脚组。注意麦克风的 L/R 引脚决定左右声道,接 GND 为左声道。

GPIO 接线参考
INMP441 麦克风:SCK→GPIO4, WS→GPIO5, SD→GPIO6
MAX98357A 功放:BCLK→GPIO15, LRC→GPIO16, DIN→GPIO17
3

安装眼睛显示屏

两块 GC9A01 圆形 LCD 通过 SPI 总线连接,共享 SCK 和 MOSI 线,各有独立的 CS/DC/RST 引脚。先接左眼确认显示正常,再接右眼。注意 SPI 速率可设到 40MHz 获得流畅动画。

GPIO 接线参考
左眼 LCD:SCK→GPIO12, MOSI→GPIO11, CS→GPIO10, DC→GPIO9, RST→GPIO46
右眼 LCD:CS→GPIO3, DC→GPIO8, RST→GPIO18 (共享 SCK/MOSI)
4

连接舵机驱动

PCA9685 通过 I2C 连接到 ESP32-S3,提供 16 路独立 PWM 输出。将 4 个 SG90 舵机分别接到通道 0-3。注意 PCA9685 需要独立的 V+ 供电(5V),不要用 ESP32 的 3.3V。

GPIO 接线参考
I2C 总线:SDA→GPIO1, SCL→GPIO2
PCA9685 地址:默认 0x40(A0-A5 全接 GND)
5

安装电机驱动

DRV8833 双 H 桥驱动两个 N20 减速电机。AIN1/AIN2 控制左轮,BIN1/BIN2 控制右轮。通过 PWM 调速实现差速转向。在底部安装万向球轮作为第三个支撑点。

GPIO 接线参考
电机驱动:AIN1→GPIO38, AIN2→GPIO39, BIN1→GPIO40, BIN2→GPIO41
6

连接传感器

VL53L0X 激光测距挂在 I2C 总线上(与 PCA9685 共享)。两个 TTP223 触摸传感器安装在头部外壳内侧。三个 TCRT5000 红外传感器安装在底盘边缘,用于桌面防坠落检测。

GPIO 接线参考
VL53L0X 测距:I2C 总线 (SDA→GPIO1, SCL→GPIO2), 地址 0x29
触摸传感器:Touch1→GPIO42, Touch2→GPIO47
防坠落传感器:Cliff1→GPIO48, Cliff2→GPIO7, Cliff3→GPIO14
7

电源系统搭建

18650 电池 → TP4056 充电板 → MT3608 升压至 5V → 拨动开关 → 系统供电。TP4056 的 Type-C 口对外露出用于充电,MT3608 输出调节到稳定 5V。LED 状态灯接 GPIO21 用于指示工作状态。

GPIO 接线参考
供电链路:18650(3.7V) → TP4056 → MT3608(5V) → 开关 → ESP32 5V/GND
状态 LED:GPIO21 → 220Ω电阻 → LED → GND

GPIO 引脚总览

所有接线引脚速查表

I2S 音频输入 (INMP441)SCK=GPIO4, WS=GPIO5, SD=GPIO6
I2S 音频输出 (MAX98357A)BCLK=GPIO15, LRC=GPIO16, DIN=GPIO17
SPI 左眼 LCDSCK=GPIO12, MOSI=GPIO11, CS=GPIO10, DC=GPIO9, RST=GPIO46
SPI 右眼 LCD (共享总线)CS=GPIO3, DC=GPIO8, RST=GPIO18
I2C 总线 (PCA9685 + VL53L0X)SDA=GPIO1, SCL=GPIO2
电机驱动 (DRV8833)AIN1=GPIO38, AIN2=GPIO39, BIN1=GPIO40, BIN2=GPIO41
触摸传感器Touch1=GPIO42, Touch2=GPIO47
防坠落传感器 (TCRT5000)Cliff1=GPIO48, Cliff2=GPIO7, Cliff3=GPIO14
状态 LEDGPIO21

软件配置

硬件组装完成后,进行固件烧录和联网

8

烧录固件

Buddy 使用开源固件 xiaozhi-esp32,有两种烧录方式:

方式一:Web Flash(推荐)
  1. 用 Chrome 浏览器打开 xiaozhi.me
  2. 用 USB 数据线连接 ESP32-S3
  3. 点击 "Connect" 选择串口设备
  4. 选择固件版本和板型 "buddy-pet"
  5. 点击 "Flash" 等待完成
方式二:ESP-IDF 命令行
git clone xiaozhi-esp32
idf.py set-target esp32s3
idf.py menuconfig
# → Select board: buddy-pet
idf.py build flash monitor
9

WiFi 配网 & 设备注册

拨动开关通电,Buddy 的眼睛亮起表情

手机 WiFi 列表中找到 "Buddy-XXXX" 热点并连接

在弹出的配网页面输入你家的 WiFi 名称和密码

Buddy 自动连接网络并注册,眼睛显示笑脸即成功

配网成功后,访问 Buddy Dashboard 查看设备在线状态和学习数据。

10

第一次对话

一切就绪!现在试试跟 Buddy 说话吧:

说 "Hey Buddy!" 或轻触头部触摸传感器

Buddy 的眼睛会变成期待的表情,耳朵竖起

尝试说 "Hello! My name is [你的名字]"

Buddy 会用英语回应并记住你的名字

说 "Let's learn something new!"

Buddy 进入学习模式,开始你的英语之旅

Congratulations! Your Buddy is ready!

Buddy 会随着对话越来越了解你,自动调整难度和话题

进入学习面板