Team for developers working on the ESP8266 WiFi SOC. **AT Thinker Firmware**

Firmware Update


The ESP8266 is a 5$ wifi module (in low quantities) that can communicate over UART by AT Commands to the host microcontroller. This page talks about the firmware update process for the ESP8266 module.

The Process

To update the firmware on your ESP8266 device please follow these steps:

  1. Download ESP8266 Firmware . This zip contains only the necessary binaries taken from here.
  2. Download the flash download tool
  3. Compile / Load Serial Passthrough example to the mbed board
  4. Put ESP8266 into firmware update mode (GPIO0 ->GND) (either push button or jumper)
  5. Launch the flash download tool

mbed board as serial passthrough

Import, compile, and load the serial passthrough code onto your mbed board. The serial passthrough code will allow the computer to talk directly to the ESP8266 chip and vice versa. This will be necessary for the esptool python script to load the firmware update into the ESP8266 chips memory.

Import programSerialPassthrough

Serial Passthrough program

ESP8266 Firmare Update Wiring

To connect the ESP8266 to the mbed board, make the following connections:

Seeed Grove UART Wifi

Push the reset button untill the light goes red.

Standalone module

Wire up the ESP8266 chip to be in firmware update mode.


Now, we need to reset the chip. Pull down the RST pin to GND for 1 second, then reconnect it to 3.3V.

For a more detailed diagram see the getting started guide in the resources section.

load firmware with Flash Download tool

Download the flash download tool .

When you've launched the tool, select the ESP8266 downloader.


From the espressif firmware you just downloaded you will need to load 4 seperate files to the ESP8266 chip. You will need to write the blank binary twice.



Specify the Flash size as 32 Mbit.


Specify the COM port of your mbed board and 115200 baud.


Press START!


Now that you have completed updating the fimware, we need to put the chip in boot mode.

Booting ESP8266

Seeed Grove UART Wifi

Short press of the reset button until the red light goes off.

Standalone module

Wire up the ESP8266 chip for boot mode.


Now, we need to reset the chip. Pull down the RST pin to GND for 1 second, then reconnect it to 3.3V.


For example, if I have a FRDM-K64F board and a ESP8266 module and I want to update the firmware for the ESP8266, I would compile and load the Serial Passthrough program onto the K64F. Then I would connect the following pins together


Now, we need to reset the chip. Pull down the RST pin to GND for 1 second, then reconnect it to 3.3V.

Then I would use the flash download tool to download the binaries. Once they were all downloaded I would connect GPIO0 to 3.3V and reset the ESP8266. Now the board should be running in operational mode, usually this is 115200 baud. To test this I would load the program below onto the board. It has the AT+RST command already programmed, so just compile and run it and you should get valid output from the ESP Chip. If you do not get valid output, but instead a bunch of junk try changing the baud speed of the device.

Import programSerialDeviceTerminal

This program is designed to act as a serial terminal for interfacing with serial peripherals, such as the ESP8266, that support AT Commands.

That's it! Go build awesome!


Here are some other very useful resources for ESP8266 schenanigans.


  1. load serial passthrough onto mbed board
  2. hookup ESP8266 to serial port on mbed board and put into firmware update mode
  3. Flash all firmware files according to package instructions (may need to reset ESP8266 between each file and put into FW Update mode again)
  4. Go build awesome