Giới thiệu
Sau khi đã nhận diện đúng board ở Bài 01, bước quan trọng tiếp theo là kiểm tra nhanh board mới mua để đảm bảo phần cứng hoạt động đúng trước khi đi sâu vào pinout, camera hay microSD.
Rất nhiều lỗi thường gặp (không nhận USB, reset ngẫu nhiên, camera không lên, PSRAM không nhận…) không phải do code, mà do:
- Cấp nguồn chưa đúng
- Cấu hình Arduino IDE sai
- Board lỗi sớm nhưng chưa được phát hiện
Bài 02 cung cấp một checklist thực chiến 10–15 phút, giúp bạn xác nhận:
- Board còn “zin” và hoạt động ổn định
- Đúng cấu hình N16R8 (16MB Flash + 8MB PSRAM)
- Sẵn sàng cho các bài pinout và ngoại vi ở các chặng tiếp theo
Checklist tổng quát (làm theo thứ tự)
Khuyến nghị: dùng cổng USB-C TTL (USB-UART) cho toàn bộ bài test này.
- Kiểm tra ngoại hình & linh kiện
- Kiểm tra cấp nguồn an toàn
- Kiểm tra cổng USB & Serial
- Kiểm tra Flash / PSRAM (N16R8)
- Test LED & reset
- Kiểm tra nhanh các chân “nhạy cảm” (liên quan pinout)
1. Kiểm tra ngoại hình & linh kiện
Những điểm bắt buộc phải có
- Module ESP32-S3-WROOM N16R8 (anten PCB tích hợp)
- 2 cổng USB-C (OTG + TTL)
- Socket camera DVP 24-pin
- Khe microSD (TF Card) (thường ở mặt sau)
- Nút BOOT và RESET
- LED nguồn + LED TX/RX + WS2812 (GPIO48)
⚠️ Nếu thiếu bất kỳ thành phần nào ở trên, rất có thể không đúng phiên bản DevKitC N16R8 CAM.
2. Kiểm tra cấp nguồn an toàn
Nguyên tắc
- ✅ Cấp nguồn qua USB-C TTL là an toàn nhất
- ❌ Không cấp trực tiếp pin Li-ion/LiPo 3.7V vào chân 3V3
- ❌ Không cấp nguồn ngoài và USB cùng lúc (nếu không hiểu mạch nguồn)
Dấu hiệu nguồn không ổn định
- Board reset liên tục
- LED nhấp nháy bất thường
- Máy tính mất kết nối USB khi bật WiFi/Camera
3. Kiểm tra cổng USB & Serial
Kiểm tra cổng COM (USB-UART)
- Cắm cáp → máy tính phải nhận cổng Serial mới
- Mở Serial Monitor (115200)
- Nhấn RESET → phải thấy log boot
Nếu không thấy cổng COM
- Kiểm tra cáp USB (rất hay lỗi)
- Đổi cổng USB trên máy
- Cài driver USB-UART (CH343 / CP210x / CH9102 tùy board)
4. Kiểm tra Flash & PSRAM (chuẩn N16R8)
Cấu hình Arduino IDE khuyến nghị
- Board: ESP32S3 Dev Module
- PSRAM: Enabled
- USB CDC On Boot: Disabled (dùng cổng TTL)
Code test nhanh
#include <Arduino.h>
void setup() {
Serial.begin(115200);
delay(1500);
Serial.println("=== ESP32-S3 Board Hardware Check ===");
Serial.printf("Chip model: %s\n", ESP.getChipModel());
Serial.printf("CPU freq: %u MHz\n", ESP.getCpuFreqMHz());
Serial.printf("Flash size: %u MB\n",
ESP.getFlashChipSize() / (1024 * 1024));
bool hasPsram = psramFound();
Serial.printf("PSRAM found: %s\n", hasPsram ? "YES" : "NO");
}
void loop() {}
Kết quả mong đợi
- Flash size: 16 MB
- PSRAM found: YES
⚠️ Nếu PSRAM = NO → 90% do chưa bật PSRAM trong Tools.
5. Test LED & reset
LED trạng thái
- LED nguồn sáng ổn định
- LED TX/RX nhấp nháy khi có Serial
Test WS2812 (GPIO48)
- Có thể dùng FastLED/Adafruit_NeoPixel để test nhanh
- Nếu LED không sáng → kiểm tra lại nguồn (WS2812 rất nhạy)
Test RESET
- Nhấn RESET → Serial log xuất hiện lại
6. Kiểm tra nhanh các chân “nhạy cảm” (liên quan pinout)
Dù chưa đi sâu pinout, bạn nên kiểm tra sớm những nhóm chân sau:
Chân Boot / Strapping
- GPIO0 không bị kéo LOW lúc boot
- Không gắn module ngoài vào chân BOOT khi test
Chân Camera / microSD
- Không có dây hàn thừa, chân gãy, socket lỏng
- Không gắn thiết bị ngoài vào các chân này khi test
? Phân tích chi tiết pinout theo nhóm an toàn vs xung đột sẽ được trình bày ở Bài 05.
Khi nào KHÔNG nên tiếp tục?
Ngưng ngay và xử lý nếu gặp:
- Flash < 16MB
- PSRAM không nhận dù đã cấu hình đúng
- Board reset liên tục ngay cả khi chưa bật WiFi
- USB mất kết nối ngẫu nhiên
Chuẩn bị cho bài tiếp theo
Ở Bài 03, chúng ta sẽ đi sâu vào:
- So sánh COM vs USB (Native/OTG)
- Khi nào nên dùng từng cổng
- Các lỗi thường gặp khi chọn sai cổng nạp code


