Hướng dẫn làm một chatbot AI luyện nghe tiếng Anh trên board Freenove ESP32-S3 Display 2.8 inch (màn hình cảm ứng ILI9341 320×240, codec ES8311, khe microSD). Thiết bị vừa trò chuyện với trợ lý AI, vừa phát bài nghe, hiện phụ đề Anh – Việt và hỗ trợ luyện tập.

1. Linh kiện cần chuẩn bị
- Board Freenove ESP32-S3 Display 2.8″ — ESP32-S3, màn hình cảm ứng 2.8 inch, loa, micro, khe microSD.
- Pin LiPo 1S (tùy chọn) để dùng di động, sạc qua USB-C.
- Nút nhấn (nếu cần thêm nút ngoài; board đã có nút BOOT).
- Dây điện / dây dupont và mỏ hàn để đấu nối.
- Thẻ microSD FAT32 để chứa bài nghe và phụ đề.



2. Sơ đồ hàn & đấu nối
Hàn/đấu nối theo sơ đồ dưới đây. Kiểm tra kỹ cực nguồn trước khi cấp điện.

Bảng chân GPIO (theo config.h của board)
| Khối | Tín hiệu | GPIO |
|---|---|---|
| Codec ES8311 (I2S) | MCLK | GPIO4 |
| BCLK / SCK | GPIO5 | |
| DIN | GPIO6 | |
| WS / LRC | GPIO7 | |
| DOUT | GPIO8 | |
| PA (ampli) | GPIO1 | |
| Codec ES8311 (I2C) | SCL | GPIO15 |
| SDA | GPIO16 | |
| LCD ILI9341 (SPI3) | SCLK | GPIO12 |
| MOSI | GPIO11 | |
| MISO | GPIO13 | |
| CS | GPIO10 | |
| DC | GPIO46 | |
| Đèn nền (BL) | GPIO45 | |
| microSD (SDMMC 1-bit) | CLK | GPIO38 |
| CMD | GPIO40 | |
| D0 | GPIO39 | |
| Nút BOOT | BOOT | GPIO0 |
| LED onboard | LED | GPIO42 |
Board dùng màn hình ngang 320×240. Cấp nguồn cho pin đúng cực +/−; không cấp 5 V vào chân GPIO.
3. Nạp firmware
Nạp firmware Xiaozhi kèm công cụ English cho board freenove-esp32s3-display-2.8-lcd:
- Trang nạp firmware & chương trình
- ESP Web Flasher — nạp trực tiếp qua trình duyệt.
- ESPHome Web — kèm hướng dẫn driver.
Nếu máy không nhận cổng COM, giữ nút BOOT khi cắm cáp USB-C để vào chế độ nạp.
4. Chuẩn bị thẻ microSD
Tắt nguồn trước khi lắp/tháo thẻ. Dùng thẻ FAT32, tạo thư mục english ngay thư mục gốc (không tạo thêm thư mục tên sdcard):
english/ lessons.json best-friend.mp3 best-friend.srt best-friend.vi.srt
- MP3/WAV: file âm thanh bài nghe.
- SRT: phụ đề tiếng Anh, UTF-8, cùng tên với file âm thanh.
- .vi.srt: phụ đề tiếng Việt (tùy chọn), thêm hậu tố
.vi.
Ví dụ lessons.json:
{
"lessons": [
{"id": 103, "title": "Best Friend", "file": "/english/best-friend.mp3", "level": "A1"}
]
}
Dùng ID nguyên dương khác nhau cho từng bài; đường dẫn phải khớp file thật. Khởi động lại sau khi thay đổi thư viện.
5. Giao diện luyện nghe

Vuốt ngang từ mép trái màn hình vào trong để mở trang English. Tại đây bạn chọn bài, xem phụ đề và điều khiển phát.
6. Phát bài và điều khiển

- Play/Pause: tạm dừng hoặc tiếp tục bài nghe.
- Repeat: phát lại câu hiện tại (hoặc câu vừa nghe), dừng ở cuối câu; bấm Play để nghe tiếp.
- Back: dừng bài và quay về trang English.
- BOOT nhấn 2 lần: dừng âm thanh thẻ SD.
- Giữ BOOT: mở trang phát English.
- Vuốt lên/xuống: tăng/giảm âm lượng. Vuốt ngang (vùng khác mép trái): chỉnh độ sáng.
7. Danh sách bài nghe

Chọn bài trong danh sách, hoặc nói với trợ lý “Cho tôi danh sách bài nghe tiếng Anh” rồi “Mở bài nghe số 103”.
8. Các chế độ luyện
Trong màn hình phát, bấm Chế độ để mở menu luyện tập:
| Mục | Cách dùng |
|---|---|
| EN / VI | Bật/tắt độc lập phụ đề Anh và Việt. |
| Thường (Normal) | Nghe liên tục. |
| Nhắc lại (Shadow) | Dừng sau mỗi câu để đọc theo. Chờ thủ công hoặc 3 / 5 / 8 giây. |
| Đoán (Guess) | Ẩn phụ đề và dừng cuối câu. Chạm vùng phụ đề lần 1 hiện tiếng Anh, lần 2 hiện tiếng Việt. |
| Lưu câu khó | Lưu câu hiện tại/vừa nghe vào thẻ SD (tối đa 64 câu). |
| Ôn câu đã lưu | Chọn câu để nghe lại; không tính vào số bài hoàn thành. |
| Câu hỏi hiểu bài | Gọi trợ lý và nói “Hỏi tôi về đoạn vừa nghe”. |
9. Câu lệnh giọng nói gợi ý
| Nói với trợ lý | Chức năng |
|---|---|
| “Cho tôi bài nghe tiếp theo” | Chọn và phát bài kế tiếp |
| “Liệt kê các bài nghe” | Xem danh sách bài |
| “Dừng bài nghe tiếng Anh” | Dừng bài đang phát |
| “Tiến độ học của tôi thế nào?” | Xem mục tiêu, chuỗi ngày học |
| “Đặt mục tiêu hai bài mỗi ngày” | Đặt mục tiêu 1–10 bài/ngày |
| “Giải thích câu tôi vừa nghe” | Giải thích câu hiện tại |
| “Nghe lại câu vừa rồi” | Lặp lại câu vừa nghe |
| “Bật phụ đề tiếng Việt” | Hiện bản dịch tiếng Việt |
| “Chế độ nhắc lại, chờ năm giây” | Chuyển Shadow, chờ 5 giây |
| “Chuyển sang chế độ đoán” | Chuyển Guess |
| “Hiện đáp án” | Hiện phụ đề trong Guess |
| “Lưu câu này” | Lưu câu khó vào SD |
| “Học từ vựng bài này” / “Mở flashcard” | Học từ vựng, flashcard |
| “Kiểm tra nghe” | Bài tập nghe |
10. Mẹo & xử lý sự cố
- Không có trang English: kiểm tra firmware đã bật English tool và thẻ SD mount thành công.
- Danh sách trống: kiểm tra thư mục gốc
english, filelessons.json, đường dẫn và khởi động lại. - Có tiếng nhưng không có chữ: kiểm tra tên SRT trùng tên MP3, UTF-8 và mốc thời gian.
- Không lưu được câu: kiểm tra thẻ còn chỗ, ghi được và chưa đủ 64 câu.
- Không hỏi đáp được: kiểm tra Wi-Fi và kết nối dịch vụ trợ lý AI.
Thư viện ảnh giao diện




Nếu hướng dẫn hữu ích, bạn có thể ủng hộ tác giả hoặc liên hệ để được hỗ trợ.
