Introduction: How to Unbrick an ESP8266 – Using ESP-03 As Example

In the past couple of days, I've been sifting through tons of ESP8266 websites trying to make my ESP-03 module work because I couldn't detect its WiFi signal nor could I access it using AT command ever since I received them from the supplier in China. Finally, I've managed to make it works and here is a summary of my steps:

Step 1: Determine the Flash Size.

It's hard to read the marking on the flash chip (the one on the right). By using phone camera as magnifying glass,I could see "W25Q40BV" on top of the chip. Googling it on the net and we could see that it's a 3V serial flash from Winbond with 4M-bit (512K-byte) capacity.

Due to the limitation of the flash size, it's not possible to flash V1.0 or later firmware to it because they require at least 1M-byte of capacity.

Step 2: Connect ESP-03 According to the Below Diagram.

Step 3: Connect ESP-03 to USB – UART Module (using CP2102 As Example).

The TX & RX voltage of CP2102 is at 3.3V and can be directly connected to the TX & RX pins of ESP-8266. The GND pin of CP2102 is to be connected to the GND. The 3.3V pin of CP2102 is not connected.

The ESP8233 module is powered by external 3.3V source (via LM3940-3.3 or LM1117-3.3).

Step 4: Flashing Firmware According to the Instruction at the Below Site.

https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware

Step 5: Power Down ESP-03, Remove CP2102 and Unground GPIO0.

Step 6: Open PUTTY and Set the Configuration According to the Photos Below (the COM Port Should Be Changed to the Port Used).

Step 7: Type “AT+GMR” Follow by Ctrl-M Ctrl-J Then Hit Enter to Check the Firmware Version.

Yeah!! Now we have a working ESP-03 that responds to AT command. In addition, the WiFi signal of the module can now be detected using a smartphone, tablet or a computer that supports WiFi.