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
- Hardware
- ESP8266 ESP-12 WiFi Transceiver
- USB to serial converter like 3.3V FTDI board / CP2102 Basic
- Power source capable of providing 3.3V @ 300mA (recommended minimum)
- Jumper Wires
- PC
- Softwares
- ESP flasher
- Firmware (bin file)
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
Leaving…
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.
Resources:
- Firmware (9.5.0)
- AT Command Set
Shop with us
Leave a Reply
You must be logged in to post a comment.