Có rất nhiều phiên bản firmware khác nhau cho ESP8266, tuy nhiên firmware sử dụng AT command là được sử dụng khá phổ biến hiện nay với các modul ESP8266 có trên thị trường. Nếu trong quá trình lập trình cho ESP8266 bạn có xóa hết firmware cũ sau đó lại muốn nạp lại thì mình xin hướng dẫn cho các một cách dễ dàng trong bài viết này.

Các phiên bản

  • Bản Offical từ Espressif, bản này chỉ sử dụng được cho các modul ESP8266 có bộ nhớ flash lớn, thường là từ v12 trở lên, được phát triển bởi Espressif.
  • Bản của ai-thinker, bản này phù hợp với mọi phiên bản ESP8266, thường được dùng với ESP8266v1 dung lượng flash nhỏ.

Chuẩn bị

  • Modul ESP8266 và mạch USB2UART PL2303 hoặc NodeMCU, ở đây mình dùng ESP8266v1 và PL2303
  • Nguồn 3v3 cho ESP8266.
  • Tool Flash ESP8266.
  • File firmware blank và firmware ai-thinker.

Tất cả đồ nghề flash có thể tải tại

hocarm/ESP8266-Tools
Contribute to hocarm/ESP8266-Tools development by creating an account on GitHub.

Kết nối phần cứng

  • Với NodeMCU thì quá đơn giản, chỉ cần cắm nguồn qua cổng USB là có thể flash được rồi.
  • Với ESP8266v1 thì cần kết nối chân như sau
ESP8266 PL2303 Nguồn 3.3V Ghi chú
VCC x VCC Nối VCC của ESP với nguồn 3V3
GND GND GND Nối chung GND của ESP,PL2303 và GND của nguồn 3V3
RST x x Khi ESP bị treo hoặc không nạp được thì nối với GND sau đó ngắt kết nối
CH_PD x VCC Nối với 3V3 cho phép kích hoạt phát wifi
TXD RXD x Nối ESP với PL2303 để giao tiếp nạp firmware
RXD TXD x Nối ESP với PL2303 để giao tiếp nạp firmware
GPIO0 GND GND Nối xuống GND để có thể update được firmware
GPIO2 x x

Flash firmware

  • Mở phần mềm ESP8266Flasher, chọn cổng COM
  • Cấu hình chọn mục Config, sau đó chọn đường dẫn file flash blank_1MB.bin, địa chỉ lần lượt là 0x000000, 0x100000, 0x200000 and 0x300000, trở về thẻ Operation, ấn flash để xóa sạch sẽ firmware cũ

Lưu ý 1: Chân GPIO0 phải được nối với GND trước khi flash. Nếu thấy thanh trượt bắt đầu chạy nghĩa là đã flash được, còn không có thì bạn phải reset lại ESP8266 bằng cách nối chân RST với GND sau đó thả ra và ấn nút flash lại.
Lưu ý 2: nếu bạn chưa sử dụng nhiều bộ nhớ flash của ESP8266 thì có thể bỏ qua bước xóa sạch sẽ firmware.

Thêm firmware mới, ở đây phần địa chỉ ta giữ nguyên là 0x000000 và có 2 firmware cho bạn lựa chọn

  • ai-thinker-0.9.5.2-9600.bin – Tốc độ baud rate mặc định là 9600
  • ai-thinker-0.9.5.2-115200.bin – T Tốc độ baud rate mặc định là 115200 (mình sử dụng bản này)

Sau khi nạp hoàn thành thì phần mềm tự ngắt kết nối với ESP8266, bạn thực hiện reset lại và kiểm tra hoạt động bình thường thôi, bạn có thể xem thêm ở phần Log để biết quá trình flash đã tới đâu, có lỗi lầm gì không.

Tạm kết

Thế là mình đã hướng dẫn xong phần nạp firmware AT Command cho các loại ESP8266, việc còn lại là kiểm tra hoạt động của nó như thế nào, bạn có thể xem thêm cách kiểm tra lệnh AT của ESP8266.