Updating ESP8266 Firmware to rev 020 (AT_0.20_14_11_28)

I find myself needing to update several ESP8266s to rev 0.20 of the firmware). I found myself wandering around trying find the files are and how to do the update again (turns out the procedure I wrote 6 months ago for rev 018 can’t be applied at all to the rev 020 update. Aargh!)

I am expecting to ‘standardize’ on firmware version 0.20_14_11_28 for the foreseeable
future, so I’m documenting how I did the rev 0.20 update so I can repeat it as necessary.


  • I am using this website as the primary explanation for updating the firmware. My procedure is more or less a terse summation that website. If you’ve not updated ESP8266 firmware before, I suggest you follow that procedure or at least read through it as it will be more detailed than what I’m doing.
  • The updated firmware is available here.
  • If unavailable from the above, I will keep a copy of the firmware here. At least until I no longer need it.
  • The ESP8266 flashing utility is available here. NOTE: Version v0.20_14_11_28 of the firmware is currently included with the flasher utility.
  • and I will keep a copy of it here as well.

Determine Current Version of ESP8266 Firmware

  • Connect esp8266 to 3.3V FTDI cable. I use a esp8266 breadboard adapter with a 5V FTDI cable (the adapter has a voltage regulator).

  • Check the assigned COM port. If it is > COM6, you need to use device manager to lower the COM port number (this will be required by the flashing software).
  • Use AT+GMR to determine current version (remember to use <CR>+<LF> to terminate each AT command:

  • In the above illustration, the version is < 0020 (0018) and is a candidate to update.

Prepare the Hardware

  • Disconnect power (USB cable) from ESP8266 before performing the next step.
  • Ground the GPI0 pin.
  • Connect USB cable to the ESP8266.

Flash the ESP8266

  • If you haven’t done so already, download and extract the firmware update, and the flasher software. You don’t install the flasher software. You will just run it straight out of the extracted directory.
  • Take a look at the esp_flasher readme.txt file. It will have addresses where each bin file is loaded. At time of writing, the locations are:
Bin                           Address
  • Run the flasher, xtcom_util.
  • Click tools | config device. Select appropriate COM port and baud rate must be 9600.
  • Click on open then connect.  It is normal for it to take several tries (like 15).
  • Do not click on Close button. That just closes the COM port. Close the window using the X in the top right corner.
  • Click API Test | Flash Image Download.
  • You are now going to browse for each image file, and use the Program Offset as specified in the readme.txt file you examined above.
  • For example, click on browse, navigate to the bin folder, and select the boot_v1.1.bin file. Then enter the offset for boot_v1.1.bin which is 0x00000. Finally, click on the download button.
  • At this point, you MUST EXIT the flasher program, remove power to the ESP8266, restore power, and restart the flasher program before downloading the next file. Be sure to leave GPIO0 grounded the entire time.
  • Proceed with downloading user1.bin, esp_init_data_default.bin, and blank.bin.
  • After the last file is downloaded, unplug USB, remove GPIO to ground jumper, and reconnect USB back again.
  • Connect to terminal emulator and verify operation. NOTE that baud rate will now be 115200 now, NOT 9600.




This entry was posted in c-esp8266 and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.