ESP8266 Reset & Flash Firmware

In case you want to upgrade your firmware for baud rate support (and you have the binary) or worst case your ESP8266 is in bad state because of wrong wiring or programming the following steps will help you to do a hardware reset of ESP8266 and download a fresh (and upgraded) firmware on the same.

Needed Components

  1. ESP8266 (duh)
  2. USB to Serial Converter with Pins for TX, RX, VCC and GND
  3. Breadboard
  4. Two Push buttons
  5. Two Resistors (2.2K value)
  6. Arduino Uno/Mega (if your USB to Serial does not supply 3.3V)
  7. Lots of wires


USB To SerialUnoBreadboardBreadboardESP8266
GND Switch 1 input  
GND Switch 2 input  
  Switch 1 output GPIO ‘0’
  Switch 2 outputPoint A 
  Point A RST
  Point A (Resistor 2.2k)Point B 
 3.3V  VCC
 3.3VPoint B  
  Point B (Resistor 2.2k) CH_PD


  1. Do the above connections and connect the USB to Serial to PC
  2. When pressing the Switch 1 (PROG), press and release switch 2 (RST). The blue LED in ESP8266 flashes momentarily.
  3. Without altering the connection, do the steps below
  4. Download the package available here [wpdm_package id=’579′]
  5. Unzip it to find “esp8266_flasher.exe” and “v0.9.2.2 AT Firmware.bin”
  6. In your PC, open device manager and find what COM port is associated to your USB to Serial
  7. If the number is more than 6, like COM20 for example, double click and change the COM port to something within COM6 like say COM 2
  8. Double click the “esp8266_flasher.exe” application
  9. Click on ‘Bin’ and browse to the “v0.9.2.2 AT Firmware.bin” file
  10. Change COM0 to the COM port that you found/gave in step 6
  11. Click ‘Download’ and you should see ‘Erasing…’ and eventually programming in the log box
  12. Once it is done (after few minutes), you can disconnect and check your ESP8266
  13. NOTE: You might have to connect the ESP8266 using 115200 baud
  14. It should respond for AT commands and also support AT+CIOBAUD commands now

Leave a Reply