TH-ESP32XIAOZHI · ESP32-S3
Đăng nhập Google
ESP32-S3 · VOICE AI · ROBOT

XiaoZhi Copper Robot

Hướng dẫn thực hành từ mua linh kiện, đấu dây, kiểm tra GPIO, nạp firmware, cấu hình Wi‑Fi/LAN đến chọn vai trò giọng nói trên XiaoZhi.

01 / SHOPPING LIST

Danh sách linh kiện và công cụ cần mua

Kiểm tra đúng ESP32‑S3 N16R8/16 MB và đúng điện áp trước khi đặt. Liên kết Shopee mở trang tìm kiếm để bạn so sánh shop, đánh giá và tồn kho hiện tại.

Hạng mụcThông số phải chọnSLLiên kết Shopee
ESP32‑S3ESP32‑S3‑WROOM‑1 N16R8, flash 16 MB, PSRAM 8 MB, USB‑C1Tìm ESP32‑S3 N16R8 ↗
Micro INMP441I2S, 3,3 V; chân SCK/WS/SD/L-R1Tìm INMP441 ↗
MAX98357AKhuếch đại I2S 3 W, nguồn 5 V1Tìm MAX98357A ↗
Loa4 Ω / 3 W, đường kính phù hợp vỏ1Tìm loa 4 Ω 3 W ↗
OLED SSD13060,96 inch, I2C, 128×64, 4 chân1Tìm OLED SSD1306 ↗
Cảm biến ToFVL53L0X/VL53L1X I2C; đối chiếu module trong sơ đồ1Tìm cảm biến ToF ↗
DRV8833Driver hai động cơ DC, logic 3,3 V1Tìm DRV8833 ↗
Động cơ giảm tốcN20 3–6 V, chọn cùng tỉ số truyền cho hai bên2Tìm động cơ N20 ↗
MicroSD SPIModule 3,3 V và thẻ microSD 8–32 GB FAT321Tìm module microSD ↗
LED3 LED rời + điện trở 220–330 Ω hoặc module tương đương sơ đồ3Tìm LED + điện trở ↗
Pin lithiumLi‑ion/LiPo 3,7 V có mạch bảo vệ; dung lượng theo vỏ1Tìm pin 3,7 V ↗
Nguồn nâng ápMạch sạc + nâng 5 V, tối thiểu 2 A1Tìm mạch 5 V 2 A ↗
Công tắcSPST mini, chịu được dòng nguồn toàn robot1Tìm công tắc ↗
Dây và đầu nốiDây silicone 24–28 AWG, Dupont/JST, ống co nhiệt1 bộTìm dây và đầu nối ↗
Dụng cụ hànMỏ hàn chỉnh nhiệt, thiếc, flux, hút thiếc1 bộTìm bộ hàn ↗
Đồng hồ đoĐo DC, thông mạch và điện trở1Tìm đồng hồ vạn năng ↗
Cáp USB‑C dataCáp có truyền dữ liệu, không dùng cáp chỉ sạc1Tìm cáp USB‑C ↗
An toàn nguồn: không cấp pin 3,7 V trực tiếp vào chân 5V; không cấp đồng thời USB và nguồn ngoài nếu mạch nguồn không có chống dòng ngược. Luôn đo 5 V, 3,3 V và kiểm tra chạm VCC–GND trước khi cắm ESP32.
02 / WIRING DIAGRAM

Sơ đồ đấu dây tham chiếu

Ảnh dưới đây là sơ đồ bạn cung cấp. Nhấp để mở kích thước đầy đủ; đấu theo tên tín hiệu và màu dây, sau đó xác nhận lại GPIO bằng Settings LAN.

Sơ đồ đấu dây XiaoZhi Copper Robot gồm ESP32-S3, INMP441, MAX98357A, OLED SSD1306, cảm biến khoảng cách, DRV8833, động cơ, LED, microSD và pinMỞ SƠ ĐỒ KÍCH THƯỚC ĐẦY ĐỦ ↗
Quy tắc bắt buộc: tất cả module phải chung GND. INMP441 và logic I2C dùng 3,3 V; MAX98357A và đường nguồn động cơ dùng nguồn phù hợp module. Tách dây motor khỏi mic/I2S, xoắn cặp dây motor và đặt tụ chống nhiễu nếu âm thanh bị rè.
03 / FIRMWARE PINOUT

Đọc chân thực tế từ firmware

Binary phát hành chứa lớp CopperRobotBoard và cho phép sửa pin tại runtime. Vì NVS có thể ghi đè giá trị mặc định, cột “đang hoạt động” trên robot phải đọc tại http://IP-ROBOT:8080/, không lấy từ ảnh trên mạng.

Danh sách GPIO theo sơ đồ Copper Robot V3

INMP441DIN GPIO4BCLK/SCK GPIO5WS GPIO6
MAX98357ADOUT/DIN GPIO7BCLK GPIO15WS/LRC GPIO16
OLED SSD1306SDA GPIO41SCL GPIO42Địa chỉ 0x3C
ToF I2CSDA GPIO39SCL GPIO40VIN + GND
DRV8833Trái IN1 GPIO1Trái IN2 GPIO2Phải IN3/IN4: đọc LAN
LEDGPIO12GPIO13GPIO14
MicroSD SPIMISO: đọc LANMOSI: đọc LANCLK/CS: đọc LAN
Công tắc / nguồnKhông phải GPIO điều khiểnNgắt đường pin/boost
Phạm vi xác nhận: các số trên được đọc từ nhãn chân và đường dây trong sơ đồ V3 mới. Các chân DRV8833 bên phải và SPI microSD không được ghi đủ số ngay trên ảnh, vì vậy trang không tự đoán; hãy đọc giá trị đang dùng tại Settings LAN trước khi hàn.
KhốiKhóa trong firmwareSơ đồ tham chiếuCách xác minh
Mic INMP441microphone_ws
microphone_bclk
microphone_din
microphone_channel
WS/SCK/SD theo ba dây I2S bên tráiSettings → Âm thanh I2S
Loa MAX98357Aspeaker_ws
speaker_bclk
speaker_dout
LRC/BCLK/DIN theo sơ đồSettings → Âm thanh I2S
OLED SSD1306oled_sda
oled_scl
oled_address
oled_face_only
I2C dùng chung bus; địa chỉ thường 0x3CSettings → Màn hình OLED
ToFtof_sda
tof_scl
tof_address
I2C dùng chung SDA/SCL với OLEDSettings → Cảm biến ToF
DRV8833motor_left_in1
motor_left_in2
motor_right_in1
motor_right_in2
Bốn ngõ IN1–IN4 trong sơ đồSettings → Motor DRV8833
LED / touchlistening_led_gpio
moving_led_gpio
touch_gpio
Cụm LED tham chiếu GPIO 12/13/14Settings → LED & cảm ứng
MicroSDsd_clk
sd_mosi
sd_miso
sd_cs
CLK/MOSI/MISO/CS theo moduleSettings → Thẻ SD
1

Đọc giá trị

Kết nối robot vào Wi‑Fi, tìm IP trong router hoặc Serial Monitor 115200, rồi mở http://IP:8080/.

2

Ghi lại pin

Mở tab Settings, chép toàn bộ giá trị OLED, audio, ToF, motor, LED/touch và SD vào bảng kiểm của bạn.

3

So với dây

Tắt nguồn, dùng chế độ thông mạch đo từng chân ESP32 đến module; sửa dây hoặc giá trị cấu hình nếu không khớp.

4

Lưu và khởi động lại

Chỉ thay một nhóm mỗi lần, lưu, reboot và chạy Self Test trước khi chuyển sang nhóm tiếp theo.

04 / ASSEMBLY

Quy trình lắp ráp và kiểm thử từng bước

  1. Chuẩn bị bo: chưa nối pin và motor; cắm ESP32 bằng USB data, nạp firmware và xác nhận Serial Monitor 115200 có log khởi động.
  2. Đấu nguồn: nối GND chung trước; đo đầu ra boost 5,0–5,2 V khi chưa gắn ESP32; kiểm tra không chạm 5V–GND và 3V3–GND.
  3. Đấu OLED: nối VCC/GND rồi SDA/SCL; bật nguồn, chạy OLED test. Nếu không thấy, kiểm tra địa chỉ 0x3C/0x3D và đổi SDA/SCL trong Settings.
  4. Đấu microphone: cấp 3,3 V, nối SCK/WS/SD, đặt L/R theo channel firmware; giữ dây ngắn, tránh motor và mạch boost.
  5. Đấu loa: nối MAX98357A với 5 V/GND, BCLK/LRC/DIN rồi mới nối loa 4 Ω; bắt đầu âm lượng thấp và chạy Audio Test.
  6. Đấu ToF: nối chung bus I2C, đặt cảm biến hướng xuống/ra trước theo chức năng an toàn; chạy đọc khoảng cách rồi hiệu chuẩn trên mặt phẳng sạch.
  7. Đấu DRV8833: trước tiên chưa gắn bánh xuống sàn; nối IN1–IN4, nguồn motor và motor trái/phải; chạy từng chiều ở tốc độ 20–30%. Đảo hai dây motor hoặc bật inverted nếu chiều sai.
  8. Đấu LED, touch, microSD: kiểm tra từng khối độc lập; định dạng thẻ FAT32, test mount/ghi/đọc trước khi lắp vào vỏ.
  9. Lắp cơ khí: cố định bo bằng trụ cách điện, chống kéo cáp, giữ anten ESP32 thoáng và tách mic khỏi loa/motor.
  10. Burn‑in: chạy hội thoại, loa và di chuyển 30 phút; theo dõi reset, sụt áp, nhiệt mạch boost/DRV8833 và nhiễu microphone.
05 / FLASH

Nạp firmware đúng cách

Cài trực tiếp trên web

  1. Dùng Chrome/Edge desktop và cáp USB data.
  2. Đóng Arduino IDE, Serial Monitor và mọi app đang giữ COM.
  3. Mở trang Tải xuống, chọn XiaoZhi Copper Robot 2.4.0.
  4. Nhấn Chọn COM và cài đặt; chọn cổng USB/JTAG của ESP32‑S3.
  5. Nếu không nhận: giữ BOOT, nhấn RESET, thả RESET rồi thả BOOT.
  6. Không rút cáp đến khi tiến trình hoàn tất; nhấn RESET sau khi cài.
MỞ TRÌNH CÀI

Kiểm tra sau khi nạp

  1. Mở serial 115200 và xác nhận board là CopperRobotBoard.
  2. Kiểm tra không có boot loop hoặc brownout.
  3. Chạy Self Test: OLED → audio → ToF → LED → SD → motor.
  4. Ghi MAC, IP LAN và phiên bản firmware vào hồ sơ thiết bị.
  5. Chỉ gắn bánh xuống sàn sau khi motor và ToF hoạt động đúng.
TẢI GÓI OFFLINE
06 / WI‑FI SETUP

Cấu hình Wi‑Fi lần đầu

  1. Vào chế độ cấu hình: khi chưa có mạng, robot tự mở AP; nếu đã có mạng, dùng lệnh enter_wifi_config hoặc nút “Vào cấu hình Wi‑Fi” trong Settings LAN.
  2. Kết nối AP của robot: trên điện thoại/laptop mở Wi‑Fi và chọn mạng XiaoZhi do robot phát. Tạm tắt dữ liệu di động/VPN nếu trang không mở.
  3. Mở captive portal: truy cập http://192.168.4.1/. Nếu trình duyệt báo không có Internet, vẫn chọn giữ kết nối.
  4. Chọn mạng: quét lại, chọn SSID Wi‑Fi 2,4 GHz, nhập đúng mật khẩu; tránh SSID ẩn trong lần thiết lập đầu.
  5. Chờ kết nối: robot lưu cấu hình vào NVS, tắt AP và vào mạng nhà. Xem Serial Monitor hoặc danh sách DHCP của router để lấy IP.
  6. Xử lý lỗi: đưa robot gần router, kiểm tra WPA2/WPA3 compatibility, bỏ ký tự lạ tạm thời trong SSID, rồi vào lại config mode và thử lại.
07 / LAN SETTINGS

Cấu hình robot qua mạng LAN

Mở trang điều khiển

  1. Máy tính và robot phải cùng LAN/VLAN.
  2. Lấy IP robot từ router hoặc serial log.
  3. Mở http://IP-ROBOT:8080/.
  4. Tab Điều khiển dùng thử chuyển động; tab Settings chỉnh GPIO và tham số.
  5. Sau khi Save, reboot robot và chạy lại Self Test.

Nhóm cấu hình trong firmware

OLED · I2S loa/mic · ToF và ngưỡng an toàn · bốn chân DRV8833 · đảo chiều motor · LED/touch · SPI microSD.

Không public cổng 8080 ra Internet. Chỉ dùng trong LAN tin cậy; không port-forward trên router. Sao chép giá trị cũ trước khi sửa và chỉ thay một nhóm mỗi lần.
08 / VOICE ROLE LIBRARY

Bộ Voice Role theo chủ đề và vai trò

Chọn một vai trò, sao chép prompt rồi mở XiaoZhi.me → Thiết bị/智能体 → Cấu hình vai trò. Website không ghi trực tiếp vào tài khoản bên thứ ba để không thu thập mật khẩu hoặc phiên đăng nhập của bạn.

education

Gia sư tiếng Anh thiếu nhi

Nói chậm, câu ngắn, sửa lỗi nhẹ nhàng; dùng trò chơi từ vựng, hỏi một câu mỗi lượt và khen nỗ lực của trẻ.

MỞ XIAOZHI.ME ↗
education

Thầy cô Toán vui

Dạy toán theo độ tuổi bằng đồ vật quen thuộc; gợi ý từng bước, không đưa đáp án ngay và luôn kiểm tra trẻ đã hiểu.

MỞ XIAOZHI.ME ↗
education

Nhà khoa học nhí

Giải thích khoa học bằng thí nghiệm an toàn với đồ gia dụng; luôn yêu cầu người lớn hỗ trợ khi có nhiệt, điện hoặc vật sắc.

MỞ XIAOZHI.ME ↗
education

Người kể chuyện tương tác

Kể truyện ngắn phù hợp trẻ em, dừng ở các nút lựa chọn để trẻ quyết định; không có bạo lực, kinh dị hoặc nội dung người lớn.

MỞ XIAOZHI.ME ↗
family

Trợ lý gia đình

Nhắc lịch, danh sách việc nhà, mua sắm và sinh hoạt; xác nhận trước mọi thay đổi quan trọng, không tiết lộ dữ liệu riêng tư.

MỞ XIAOZHI.ME ↗
family

Bạn đồng hành người cao tuổi

Nói rõ, chậm, kiên nhẫn; hỗ trợ nhắc lịch và trò chuyện tích cực nhưng không chẩn đoán bệnh hay thay thế bác sĩ.

MỞ XIAOZHI.ME ↗
work

Trợ lý kỹ thuật IoT

Hỗ trợ ESP32, điện tử và kiểm thử theo từng bước; nêu giả định, cảnh báo nguồn điện và ưu tiên tài liệu chính thức.

MỞ XIAOZHI.ME ↗
work

Điều phối công việc

Biến yêu cầu thành danh sách ưu tiên, thời hạn và bước tiếp theo; hỏi lại khi thiếu dữ kiện và tóm tắt ngắn cuối phiên.

MỞ XIAOZHI.ME ↗
work

Phiên dịch Việt–Anh

Dịch đúng ngữ cảnh, giữ thuật ngữ kỹ thuật; khi nghe chưa rõ phải hỏi lại thay vì đoán.

MỞ XIAOZHI.ME ↗
fun

MC đố vui gia đình

Tổ chức câu hỏi nhiều cấp độ, lần lượt từng người, chấm điểm vui vẻ và công bố đáp án kèm giải thích ngắn.

MỞ XIAOZHI.ME ↗
fun

DJ và người dẫn chương trình

Giới thiệu nhạc, tạo không khí và nhận yêu cầu; chỉ sử dụng nguồn phát hợp pháp, không đọc toàn bộ lời bài hát có bản quyền.

MỞ XIAOZHI.ME ↗
wellbeing

Người bạn bình tĩnh

Lắng nghe, phản hồi đồng cảm và hướng dẫn thở ngắn; không tự nhận là chuyên gia y tế, khuyến nghị tìm người thật khi có nguy cơ khẩn cấp.

MỞ XIAOZHI.ME ↗
Cách cập nhật: đăng nhập XiaoZhi.me → chọn đúng thiết bị → Cấu hình vai trò → đặt tên → dán prompt → chọn model và giọng nói → nghe thử → Lưu. Đánh thức lại robot để nhận cấu hình mới. Tên vai trò không thay đổi từ đánh thức ngoại tuyến.
09 / TOOLS

Công cụ mở, không cần kích hoạt

Tải phần mềm, cài firmware và sử dụng các API công khai. Đăng nhập Google chỉ để quản lý hồ sơ và thiết bị của bạn.

1

Cài firmware

Chọn đúng ESP32-S3 và cổng USB tại trang cài đặt.

Mở trình cài
2

Đặt địa chỉ API

Dùng địa chỉ triển khai của chính ứng dụng này cho các công cụ robot.

https://esp.th.io.vn/api/xiaozhi
3

Khám phá công cụ

Tra cứu web, tin tức, nhạc và các tích hợp được quản trị viên cấu hình.

Xem công cụ