Đang tải quảng cáo...

Hướng dẫn DIY Xiaozhi AI trên breadboard ESP32 classic (không S3/C3)

adminQuản trị viên
👁️ 67👍 0
Tự làm Xiaohi Ai

Làm loa Xiaozhi trên ESP32 4MB: bảng GPIO INMP441/MAX98357A, OLED, ASR-Pro, 4G, LCD ST7789, nạp firmware bread-compact-esp32.

Đang tải quảng cáo...

Bài viết dịch và biên soạn từ ESP32 breadboard — Xiaozhi AI (Feishu), thuộc bộ tài liệu DIY Xiaozhi AI.

Tổng quan

Hướng dẫn này dành cho ESP32 classic (không phải ESP32-S3 hay ESP32-C3) — bo phổ biến, rẻ, thường có 4 MB Flash, không PSRAM. Dự án Xiaozhi đã hỗ trợ nhánh breadboard riêng để bạn làm loa AI giá thấp thay vì mua ESP32-S3 đắt hơn.

Firmware tương ứng trong mã nguồn: bread-compact-esp32 (OLED 0.96"), bread-compact-esp32-lcd (LCD ST7789 1.3"), có thêm biến thể 4G và module wake word ASR-Pro.

So sánh phiên bản Xiaozhi DIY trên ESP32 classic

Board ESP32 classic cho Xiaozhi AI

Kit breadboard Xiaozhi ESP32 phiên bản cơ bản

Kit Xiaozhi ESP32 phiên bản mở rộng

1. Board và phiên bản firmware

1.1 Board được hỗ trợ

  • ESP-32S, ESP32-DevKitC, NodeMCU-32S
  • Flash 4 MB SPI (2 MB chưa hỗ trợ)
  • Firmware trong nhóm chia sẻ tương thích ngược — bản mới vẫn chạy được kit cơ bản không có phụ kiện nâng cao

Màn hình OLED 0.96 inch trên breadboard ESP32

Module ASR-Pro wake word tùy chỉnh

Sơ đồ nối module ASR-Pro với ESP32

Module 4G ML307 trên breadboard Xiaozhi

1.2 Tính năng mở rộng (phiên bản “cao”)

  • Màn OLED 0.96" SSD1306 I2C — đã hỗ trợ
  • Module wake ASR-Pro — wake word tùy chỉnh, không khóa model cụ thể; nối PA2 → GPIO19, module cần xung thấp ngắn (~1 giây) tương đương một lần nhấn nút
  • 4G ML307 — firmware dual 4G + Wi-Fi; mặc định 4G, nhấn BOOT 2 lần khi màn hình khởi động để chuyển Wi-Fi
  • LCD ST7789 1.3" — cả phiên bản 7 chân8 chân; tham số xoay màn hình chỉnh trong config.h khi build (7 chân thường không cần xoay, 8 chân cần cấu hình DISPLAY_SWAP_XY, DISPLAY_MIRROR_*, DISPLAY_OFFSET_*)
  • TF card, Bluetooth ngoài — đang phát triển

Màn LCD ST7789 1.3 inch 7 chân

Màn LCD ST7789 1.3 inch 8 chân

Linh kiện breadboard Xiaozhi ESP32 classic

Module INMP441 và MAX98357A

2. Bắt đầu — phần cứng cơ bản

2.1 Linh kiện tối thiểu

  • Breadboard, bo ESP32 (4 MB Flash)
  • Micro INMP441, module loa MAX98357A
  • Loa 3020 (8Ω), dây dupont
  • Tùy chọn: OLED 0.96", module ASR-Pro, ML307R, LCD ST7789

Sơ đồ đấu dây mic INMP441 ESP32

Sơ đồ đấu dây MAX98357A và loa

2.2 Bảng chân GPIO (bread-compact-esp32)

Trên bo Espressif, chữ G trên sơ đồ tương đương D/GPIO in trên board.

ModuleChân moduleESP32 GPIO
INMP441WSGPIO25
SCKGPIO26
SD (DIN)GPIO32
L/RGND
VDD3.3 V
GNDGND
MAX98357ADIN (DOUT)GPIO33
BCLKGPIO14
LRCKGPIO27
GAIN / SDkhông nối
VIN / GND3.3 V / GND
OLED I2CVCC3.3 V
SCLGPIO15
SDAGPIO4
NútToggle (boot)GPIO0 — có sẵn trên board
Giữ để nóiGPIO5
IoT test LEDGPIO12
ASR-ProVCC5 V
PA2GPIO19

LCD ST7789 dùng bus SPI — chân cụ thể xem bảng trong tài liệu gốc (P/GPIO trên DevKit). Tham khảo thêm bread-compact-esp32-lcd/config.h trong repo Xiaozhi.

Đấu dây OLED SSD1306 I2C trên ESP32

Nút bấm và chân IoT trên breadboard

Nối module ASR-Pro (PA2 → GPIO19)

Bảng chân phiên bản 1 — breadboard thuần

Bảng chân phiên bản 2 — thêm OLED 0.96

Kit Xiaozhi phiên bản plug-and-play V1.2 trên breadboard

2.3 Nạp firmware

Không có ESP-IDF vẫn nạp được bằng Flash Download Tool của Espressif:

  1. Tải flash_download_tool
  2. Mở tool → chọn chip Develop → OK
  3. Chọn file firmware .bin tại địa chỉ 0x0
  4. Bấm ERASE xóa firmware cũ (nếu cần)
  5. Bấm START để nạp

Hoặc dùng Flash Tool web / ESP-Launchpad — chọn board bread-compact-esp32 hoặc bread-compact-esp32-lcd tùy phần cứng.

Sau khi nạp dual 4G+Wi-Fi: nhấn BOOT hai lần lúc khởi động để chuyển sang Wi-Fi, rồi cấu hình Wi-Fi.

Bảng chân LCD ST7789 1.3 inch

Kit plug-and-play V1.2 hoàn chỉnh

Flash Download Tool — chọn Develop

Chọn file firmware địa chỉ 0x0

Nút ERASE xóa firmware cũ

Nút START nạp firmware Xiaozhi

3. Biên dịch firmware (ESP-IDF)

Nếu tự sửa mã hoặc đổi wake word / màn hình: cài ESP-IDF, clone xiaozhi-esp32, chọn board bread-compact-esp32 hoặc bread-compact-esp32-lcd, chạy idf.py set-target esp32, idf.py menuconfig (chọn OLED/LCD), rồi idf.py build flash.

Màn hình sau khi nạp firmware thành công

Chuyển firmware 4G sang Wi-Fi bằng nút BOOT

4. FAQ

Nạp lỗi / không erase được? Rút board khỏi breadboard đã đấu dây — nạp khi board không cắm trên breadboard đầy linh kiện thường ổn định hơn.

Khác ESP32-S3? Xem loạt bài ESP32-S3 DIY — chân GPIO và firmware khác hoàn toàn.

Lỗi nạp firmware khi board cắm trên breadboard

Bo mạch plug-and-play Xiaozhi ESP32

5. Bo mạch plug-and-play (tùy chọn)

Tác giả tài liệu gốc còn thiết kế bo plug-and-play — cắm trực tiếp ESP32 classic (NodeMCU-32S / GOOUUU / DevKitC), tích hợp sạc pin 14500, jack 3.5 mm, mở rộng ASR-Pro, OLED, 4G, LCD ST7789, RF 433. Kit breadboard ở trên vẫn là cách DIY chuẩn trong repo chính thức Xiaozhi.

  • Hỗ trợ wake word ASR-Pro tối ưu môi trường ồn
  • Dual 4G + Wi-Fi, pin, LCD 1.3" 7/8 pin, OLED 0.96"

Mặt trước bo plug-and-play V1.2

Mặt sau bo với pin 14500

Cổng tai nghe 3.5 mm trên boplug-and-play

Toàn cảnh kit Xiaozhi ESP32 classic hoàn chỉnh

Liên kết

Đang tải quảng cáo...
👁️67 lượt xem