Tại sao khi nạp firmware AT cho esp8266 lại hiển thị chờ cấp điện

Đặt IO0 ở mức thấp, sau đó cấp nguồn lại cho mô-đun để vào chế độ ghi firmware

Khi sử dụng công cụ FLASH DOWNLOAD TOOL cho ESP8266 để nạp firmware AT, nếu xuất hiện thông báo “Chờ đồng bộ cấp nguồn”, thường là do module ESP8266 chưa vào chế độ nạp firmware, hoặc có sự cố trong truyền thông nối tiếp. Dưới đây là các nguyên nhân và cách khắc phục chi tiết:


:magnifying_glass_tilted_left: Nguyên nhân phổ biến

  1. Chưa vào chế độ nạp firmware
    Để ESP8266 vào chế độ nạp firmware cần đáp ứng điều kiện phần cứng cụ thể:

    • Khi cấp nguồn hoặc reset, chân GPIO0 phải được kéo xuống thấp (nối mass).
    • Nếu GPIO0 không bị kéo thấp, module sẽ khởi động bình thường thay vì vào chế độ nạp, dẫn đến công cụ luôn chờ đồng bộ mà không thành công.
  2. Sự cố kết nối cổng nối tiếp

    • Đảo nhầm chân TX/RX: TX của máy tính phải nối với RX của ESP8266, và RX của máy tính nối với TX của ESP8266.
    • Chưa nối chung mass: Chân GND của cổng nối tiếp máy tính phải được nối với GND của ESP8266, nếu không tín hiệu sẽ không truyền đúng.
    • Thiếu driver cổng nối tiếp: Nếu dùng module chuyển USB sang nối tiếp như CH340/CP2102, cần cài driver tương ứng trước.
  3. Lỗi cấu hình công cụ hoặc phần cứng

    • Sai tốc độ baud hoặc COM port: Cần xác nhận cổng COM và tốc độ baud (thường dùng 115200) trong công cụ phải khớp với thực tế.
    • Nguồn điện không đủ: ESP8266 cần nguồn ổn định 3.3V khi nạp firmware, nếu dòng điện không đủ sẽ không thể đồng bộ.
    • Cấu hình SPI không phù hợp: Các thông số như SPI SPEED, SPI MODE phải phù hợp với loại Flash của module (ví dụ chế độ QIO/DIO).

:white_check_mark: Các bước khắc phục

  1. Buộc vào chế độ nạp firmware

    • Trước tiên, nối chân GPIO0 của ESP8266 xuống GND (dùng dây jumper nối với GND).
    • Nhấn nút START trong công cụ, sau đó reset ESP8266 (chạm nhẹ chân RST xuống GND) hoặc cấp điện lại.
    • Sau khi công cụ bắt đầu dò tìm, mới bỏ kết nối GPIO0 (hoặc giữ nguyên đến khi quá trình nạp bắt đầu).
  2. Kiểm tra kết nối cổng nối tiếp

    • Xác nhận kết nối TX ↔ RX, RX ↔ TX chính xác và đã nối chung GND.
    • Kiểm tra số cổng COM trong Device Manager và đảm bảo chọn đúng cổng này trong công cụ.
  3. Điều chỉnh cấu hình công cụ

    • Giữ mặc định SPI SPEED (26.7MHz) và SPI MODE (QIO/DIO, tùy theo loại module).
    • Xác nhận địa chỉ firmware là 0x00000 (firmware AT thường được nạp vào địa chỉ này).
  4. Kiểm tra phần cứng

    • Đảm bảo nguồn cấp cho ESP8266 là 3.3V và đủ dòng (tránh dùng trực tiếp nguồn từ cổng USB, nên dùng nguồn ổn áp ngoài).
    • Thử đổi module chuyển USB sang nối tiếp hoặc dây cáp dữ liệu để loại trừ lỗi phần cứng.

Nếu đã thực hiện các bước trên mà vẫn không thể đồng bộ, bạn có thể thử giảm tốc độ baud (ví dụ xuống 9600), hoặc chuyển sang dùng công cụ nạp khác như esptool.py (dạng dòng lệnh) để kiểm tra sâu hơn.

Thông báo “SYNC” và dòng chữ Trung Quốc “等待上电同步” nghĩa đen là phần mềm đang chờ ESP8266 khởi động lại vào chế độ UART Download Mode.

Công cụ này về cơ bản đang “lắng nghe” một tín hiệu cụ thể từ chip, cho biết: “Tôi đã sẵn sàng để được nạp firmware.” Nếu màn hình dừng ở đây, tức là chip chưa gửi tín hiệu đó.


Cách khắc phục

Để vượt qua màn hình này, bạn cần kích hoạt bộ nạp khởi động (bootloader) theo cách thủ công. Hãy thử các bước sau theo thứ tự:

1. Thao tác reset bằng hai nút (“Two-Button” Reset - Phổ biến nhất)

Nếu bo mạch của bạn có hai nút FlashReset:

  1. Giữ nút Flash (hoặc Boot).
  2. Nhấn và thả nút Reset (RST) một lần.
  3. Thả nút Flash ra.
    Công cụ sẽ lập tức chuyển từ “SYNC” sang “FINISH” hoặc hiển thị thanh tiến trình.

2. Kiểm tra kết nối chân GPIO0

Nếu bạn đang dùng chip ESP-01 hoặc ESP-12 trần (không có nút bấm):

  • Chân GPIO0 phải được nối với GND (mát) khi cấp nguồn hoặc reset chip.
  • Nếu GPIO0 để hở hoặc nối với VCC, chip sẽ khởi động vào chế độ “Flash Mode” (chạy chương trình hiện tại), thay vì “Download Mode” (nhận firmware mới).

3. Vấn đề nguồn điện

ESP8266 rất “ngốn” điện trong giai đoạn đồng bộ.

  • Nếu bạn chỉ cấp nguồn qua bộ chuyển đổi USB-to-TTL giá rẻ, có thể dòng điện không đủ (~cần đỉnh khoảng 300mA trở lên).
  • Hãy thử dùng nguồn 3.3V bên ngoài (đảm bảo nối chung GND với bộ chuyển đổi USB).

4. Xác minh cổng COM

Hãy chắc chắn rằng COM3 thực sự là thiết bị ESP8266 của bạn.

  • Rút thiết bị ra; nếu COM3 biến mất khỏi Device Manager, thì đó là cổng đúng.
  • Nếu vẫn còn, bạn đã chọn nhầm cổng.

Kiểm tra nhanh cài đặt

Nhìn vào ảnh chụp màn hình của bạn, các địa chỉ và tệp tin dường như phù hợp với module 1MB (8Mbit), nhưng hãy lưu ý những điểm sau:

  • SPI MODE: Nếu “QIO” thất bại, hãy thử “DIO”. Nhiều module ESP8266 (đặc biệt là ESP-01) chỉ hỗ trợ DIO.
  • Tốc độ Baud: 115200 là an toàn. Nếu bạn dùng cáp chất lượng cao, có thể tăng tốc hơn (ví dụ: 921600), nhưng hãy giữ ở 115200 cho đến khi đồng bộ thành công.