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.

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.



  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest
  • Arduino Contest 2019

    Arduino Contest 2019
  • Party Challenge

    Party Challenge

6 Discussions


3 years ago

Nice, it worked. I'm not sure what the issue was, but the tip to, "Close down the entire XTCOM_UTIL program, and unplug the USB", seemed to be key. What up with that. Other tutorials did not include this important step. Thank you,

1 reply

3 years ago

Excellent. Of course it had to happen to me... I managed to brick an ESP8266 trying things I did not really understand... BUT thanks to you I have been able to unbrick it

1 reply

3 years ago

Ahh, this is where I made a mistake. With my ESP03, I was going off of ESP-01 instructions which do not have or mention GPIO15 needing to be connected to GND. Also I hadn't used a 2.2Kohm resistor, which this image shows me I need. Thanks for this instructable!

1 reply