Project tutorial
AI-Thinker AI-cloud inside esp8266 update firmware

AI-Thinker AI-cloud inside esp8266 update firmware

This project explains how to update ESP8266 firmware to support AT commands of AI-Thinker vendor.

  • 8 respects

Components and supplies

About this project

Required Components:

1. ESP8266 – Al Cloud Inside (I used this model that has black color)

2. Breadboard

3. LED;

3. Arduino UNO;

4. Wires;

5. Laptop;

6. Patient (a lot).

About this project

Hi. Short history: when I bought this module and plug its pins of Arduino, nothing happened. A lot of forums recommended update the firmware. OK, but the problem is that these forums forgot to say that you will need the vendor firmware, too. Without it you will be able to deploy programs inside it with Arduino IDE, but without AT commands. This is a problem if you want that your Arduino to task when receives AT commands from ESP8266 module. Finally, AT commands are working after firmware update.

This project is based on this youtube video (but I changed your method a lot):

ESP 01 ESP8266 WiFi IOT Flashing Firmware Update Ai Thinker (512kBytes4Mbits) Tutorial 1


I put a led in circuit just to know that ESP8266 is really powered with 3.3V, but you can use a multimeter to verify voltage.

I used a solderless breadboard due multiple connections.

I tried to use an Arduino breadboard shield to avoid solderless breadboard, but this module only does software deploy directly with Arduino board.

ESP8266 -- Arduino

VCC 3.3V

CH_PD 3.3V

GPIO2 3.3V





I not observed problems to keep GPIO0 pluged even after sketch deploy, but most authors recommend remove it after deploy, because GPIO0 in GND is to enable programming in this module.

Power up ESP8266: ESP8266 module works on 3.3V, then connect VCC, CH_PD and GPIO2 to 3.3V. I used a 10K resistor only to avoid high amperage to my led.

TX/RX pins are used to program this module, for serial I/O, and debugging (but I’m not confidence about other alternatives instead serial monitor). When I flash the ESP8266 it is need to use GPIO0 in GND to put this module in programming model. My suggestion is put wiring according its connections, i.e., power wiring, ground wiring, and tx/rx wiring.

After upload with flash technique, i.e., transfer code to module you can remove GPIO0 (it is used to bootloader and programming tasks). Also, you can reset module by disconnecting the CH_PD (Chip Power Down), or use reset button, or unplug USB cable. I prefer this latter to avoid remove thin cables from module, and unplug USB is simpler when I need to upload code again.


- Manufacturer firmware: ai-thinker-v1.1.1.bin. (Available at:


- AT_v0.51_on_ESP8266_NONOS_SDK_V1.5.0

- Termite (Serial monitor), or puTTY.

1) Make the wiring of your ESP8266 module as illustrate in figure.

2) Open the FLASH_DOWNLOAD_TOOLS_v2.4_150924/ESP_DOWNLOAD_TOOL_V2.4.exe.

3) Test your serial COM port. Just click over START button, but uncheck the download path config checkboxes. DETECT INFO and MAC Address areas should display ESP8266 information.

3) Now, check the path boxes as follow, as illustrated in figure:

* AT_v0.51_on_ESP8266_NONOS_SDK_V1.5.0\at\esp_init_data_default.bin -->>> 0xfc000

* AT_v0.51_on_ESP8266_NONOS_SDK_V1.5.0\at\blank.bin >>> 0xfe000

* AT_v0.51_on_ESP8266_NONOS_SDK_V1.5.0\at\boot_v1.4(b1).bin >>> 0x00000

* AT_v0.51_on_ESP8266_NONOS_SDK_V1.5.0\at\512+512\ >>> 0x01000

* ai-thinker-v1.1.1.bin >>> 0x00000

4) Click START and wait SYNC until complete flash of firmware files.

5) Close FLASH_DOWNLOAD_TOOLS_v2.4_150924/ESP_DOWNLOAD_TOOL_V2.4.exe. Open Termite serial monitor. Set your COM number and 115200 baud rate value.

6) Disconnect only the GND wire whilst Termite is open, and reconnect GND. Termite should display the message ‘Ready’:

7) Digit “AT” to confirm if your update your firmware properly. You should receive a “OK” message.

8) Digit “AT+GMR” to confirm the version of your new updated firmware.

9) Close Termite.

10) Next, follow this project () to upload software from Arduino IDE to your ESP8266 module.

Final remarks

I tested this module with 115200 baud rate. The red light must be on ever time, even when you plug your module by first time. This simple observation saves a lot of time to beginners. After flash code, the blue light should blink periodically to show module activity.

Afterthese stepes , if you want to use Arduino IDE to programming, remember to unplug TX/RX wiring before power off your module, but keep (GND+All 3.3V wiring). If you don’t do this you will need to re-deploy your Arduino program when you power on your module again. This is not necessary to the manufacturer firmware: after use ESP Flash Tools, you won’t need to re-flash it if your power down your module.

Thanks. Please, give me suggestions about this text. I’m still trying to move a robot car with this module, but still no sucess.


esp8266 AI-Cloud inside


Add projectSign up / Login