Nạp bản build Factory vào ESP32-S3 / T-Display S3 qua cổng USB Serial trực tiếp từ trình duyệt Chrome / Edge mà không cần cài đặt Python hay môi trường ESP-IDF.
Target bắt buộc: ESP32-S3 (Offset: 0x0)
Kéo thả hoặc bấm để chọn file .bin
Chỉ nạp file Factory BIN đã gộp (Full Image @ 0x0)
💡 Lưu ý khi tự nạp file của bạn:
File BIN phải là bản Factory All-in-one (đã chứa bootloader + partition table + OTA data + app ở offset 0x0). Không sử dụng file app-only OTA BIN vì sẽ làm board không khởi động được.
Hỗ trợ file Factory BIN all-in-one cho bo mạch ESP32-S3 tại offset 0x0
{
"name": "WazeHUD Firmware",
"version": "1.0.0",
"new_install_prompt_erase": true,
"builds": [
{
"chipFamily": "ESP32-S3",
"parts": [
{
"path": "waze-hud-production-factory-1.0.0.bin",
"offset": 0
}
]
}
]
}Web Serial trong trình duyệt Chrome sử dụng cơ chế toggle DTR/RTS tương tự esptool CLI để tự động đưa ESP32-S3 vào Download Mode. Tuy nhiên, trên một số máy tính hoặc bo mạch T-Display S3 có chip chuyển đổi USB-UART đặc thù, trình duyệt có thể bị kẹt vô tận ở trạng thái "Connecting..." hoặc báo "Failed to initialize".
Cấu trúc nhị phân hoàn chỉnh
• Factory BIN là image đã được đóng gói gộp: Bootloader (0x0) + Partition Table (0x8000) + OTA Data (0xe000) + Application binary.
• Khi nạp factory BIN tại offset 0x0, thiết bị được thiết lập layout phân vùng hoàn toàn mới và sạch sẽ, thích hợp cho máy cài mới hoặc máy bị bootloop muốn khôi phục.
• Các thông số flash_mode, flash_freq, flash_size đều được esptool-js đọc tự động từ 4 byte header đầu của file BIN.
Chỉ áp dụng khi cập nhật không dây
• File OTA BIN (thường sinh ra riêng lẻ trong thư mục build/ lúc compile) chỉ chứa mã ứng dụng, KHÔNG có bootloader và bảng phân vùng.
• Nếu dùng Web Flasher nạp file OTA BIN vào offset 0x0, bo mạch sẽ ghi đè bootloader bằng mã ứng dụng và bị brick (treo chip) ngay lập tức.
• Hãy luôn dùng lệnh esptool.py merge_bin hoặc lấy đúng file Factory phát hành từ tác giả.
Nếu bạn quen dùng PowerShell / Terminal trên máy tính
# Lệnh nạp Factory BIN ESP32-S3 tại offset 0x0 qua cổng COM
esptool.py --chip esp32s3 -b 460800 --before default_reset --after hard_reset write_flash 0x0 waze-hud-production-factory-1.0.0.bin
# Lệnh xoá sạch flash trước khi nạp nếu gặp lỗi phân vùng cũ
esptool.py --chip esp32s3 erase_flash