LƯU Ý! Nguồn điện đầu ra 3,3V của bộ chuyển đổi USB sang TTL quá yếu để chạy ESP-12E/ESP-12F. Bạn cần sử dụng nguồn điện 3,3V bên ngoài.
Bản đầy đủ (tự động reset) - Nếu bộ chuyển đổi USB sang TTL có chân RTS, khi bạn kết nối chân này và "Upload" trong Arduino IDE, nó sẽ tự động reset module ESP và vào chế độ lập trình. Sau khi upload thành công, nó sẽ reset lại và chương trình của bạn sẽ chạy.

Bản rút gọn (reset thủ công) - Nếu bộ chuyển đổi USB sang TTL không có chân RTS, bạn cần kết nối chân GPIO_0 với GND khi Upload. Sau khi Upload thành công, bạn cần ngắt kết nối chân GPIO_0 khỏi GND.

ESP8266 có ba chế độ khởi động khác nhau được chọn theo trạng thái của GPIO_15, GPIO_0 và GPIO_2 khi khởi động.
MODE | GPIO_15 | GPIO_0 | GPIO_2 |
---|---|---|---|
SDIO (Boot SD Card) | 1 | x | x |
UART (Upload Code) | 0 | 0 | x or 1 |
FLASH (Normal Running) | 0 | x or 1 | x or 1 |
1. SDIO (Boot SD Card) - Bỏ qua.
2. UART (Upload Code) - chúng ta cần kích hoạt chế độ này để Upload. Cả 2 chân GPIO_15 và GPIO_0 cần phải nối với GND. GPIO_2 có thể không kết nối (hoặc được kéo lên đến 3,3V).
3. FLASH (Normal Running) - chế độ này để chạy ESP khi đã upload thành công. GPIO_15 phải được nối với GND, GPIO_0 và GPIO_2 có thể không kết nối hoặc kéo lên 3,3V. Chân "chip enable" (EN/CH_PD) phải được kéo lên đến 3,3V. Nếu không, ESP8266 sẽ không chạy.
Lưu ý: về mặt kỹ thuật, bạn cũng có thể kết nối GPIO_15 trực tiếp với GND mà không cần điện trở. Nhưng nếu bạn vô tình định nghĩa GPIO_15 là đầu ra ở mức HIGH, nó sẽ tạo ra một mạch ngắn và có thể làm hỏng bộ vi điều khiển.

2. Kết nối RX với RX và TX với TX.
3. Kết nối RESET với RESET và D3 (GPIO_0) của bo NodeMCU với GPIO_0.
4. Kéo EN/CH_PD của mô-đun ESP bên ngoài lên 3,3V và GPIO_15 xuống GND.
5. Và cuối cùng, kết nối chân 3.3V của mô-đun NodeMCU với VCC và GND với GND.