Firmware Updation of ESP8266 ESP-12 WiFi Transceiver

This Post is to help people struggling with ESP8266 ESP-12 WiFi Transceiver module. We have been selling this module for quite some time. Recently we have got repeated complaints that the module failed to respond to any AT commands.

So, we decided to provide a permanent solution to this. We wired up a module in here & as expected, the module didn’t respond to any AT commands. So we tried communicating with the module at all possible baudrates. Finally we got a response @ 115200 bps that contained a lot of junk data followed by an  “Invalid“. Probing deeper into this issue, we understood that the module lacked any firmware rather than its boot-loader. ie. its firmware was Dead On Arrival (DOA).

Out there in the web, we found a lot of interesting posts regarding firmware updation. But we weren’t satisfied with those & we were also pretty confusing. After some research on this topic, we finally figured it out. Now this post is to help those out there to bring back their bricked ESP12 module back to life.

Module pinout

To update the firmware, we have used the following items

Please take a look at the following link as we have found this website ” here ” pretty interesting. It does have a lot of firmware versions for your ESP. By the time you read this, there could be even newer versions available out there. We have worked our way with AI-v0.9.5.0 AT Firmware.BIN (firmware) and ESP8266_flasher_V00170901_00 (Uploader)

Connection Diagram

The working voltage of the module is 3.3V. It’s recommended that the esp8266 be powered by an independent power supply, capable of providing at least 300mA. Here we have used an arduino uno board powered externally with a 9V 1A power adapter. To communicate with the ESP8266, we used a 3.3V FTDI board (USB to serial converter) since the ESP8266 pins are not 5V tolerant. CP2102 Basic also works fine with the jumper set to 3.3V.

Connect the following pins to 3.3V

  • CH_PD
  • GPIO2
  • Vcc

Connect the following pins to GND

  • GND
  • GPIO15
  • GPIO0

If needed, you can reset the module by tying the RST pin to ground.

Now power up the module. You can see the Blue LED flashing 2-3 times

Launch esp8266 flasher. The opening window looks like this

Click Bin button in top left corner (encircled in red) to browse for firmware file.

Select the desired firmware from the correct location

Check Device Manager and get the COM assigned to the device. Use the same COM in the box provided

Click Download button and the firmware updation gets started. Initially, the flash memory gets erased. The flasher will show you the status of download and also your esp 8266 module led will blink very fast.

And the new firmware gets updated. But this takes a bit of time. Be patient enough to get everything completed.

In the end, you can see a warning as
Failed to leave Flash mode

You can neglect the warning

Sometimes things won’t go smoothly as explained above. While trying to download the firmware, we got the following error message many times. Don’t give up!!
Just restart the module or try reconnecting your USB – serial converter.

After successfully flashing the firmware, now its time to test the AT commands.

Disconnect GPIO0 from GND. You can connect it to Vcc or leave it open. Also repower the module and connect it to any suitable terminal software at 9600 baud rate.

We got some strange characters along with ready indication

Enter “AT” in serial port and you will get “OK“. Now enter “AT+GMR” and check the firmware version. Similarly you can give different other AT commands and get the corresponding responses.


Shop with us

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">