Flashing Espressif and NodeMCU Firmware to ESP8266

Flashing Espressif and NodeMCU Firmware to ESP8266


In the earlier articles, we have written our own program in Arduino IDE to access GPIO pins of ESP8266 or to interface sensors to ESP8266. But if we write our own program to access GPIO Pins, the existing firmware will be completely erased and the new program will be written on the ESP8266.

So in this article, we will explain how to flash the Official Espressif and NodeMCU Firmware to ESP8266. This can also be used to update to the latest ESP8266 Firmware.

Current Firmware Version

Before installing the new firmware into ESP8266, we can check the current firmware version of ESP8266 module by using Arduino IDE serial monitor.

If ESP8266 is flashed with Arduino program to access GPIO pins, then the existing firmware of ESP8266 will be completely erased and Arduino code will be uploaded to that module. So in this case we can’t check the current firmware version for that module.

In Arduino IDE, select the correct COM Port ex”: COM3″, open the Serial Monitor, set the baud rate to 115200 and select Both NL and CR option in the serial monitor.

To RESET: Press the RST Button of ESP8266 for a second and release. The ESP8266 Module will reset and display “ready” after some garbage data on the serial monitor.

ESP8266 Module Reset_Flashing Firmware
ESP8266 Module Reset-Flashing Firmware

To check Current firmware version: we need to type “AT+GMR” Command and click on send icon. This command will return the current firmware version of ESP8266 Module.

Current Firmware Version_Flashing Firmware
Current Firmware Version-Flashing Firmware

Download Latest Version Firmware

There are two types of Software Development Kits(SDK) for ESP8266:

  • Non-OS SDK: It’s not based on any OS.
  • RTOS SDK: It’s based on FreeRTOS.

The ESP8266 Module comes with an AT Command Firmware and the Firmware files are in the form of Binary Files i.e. .bin files. Here we are using Firmware Version 1.5.1, which is of the type Non-OS SDK.

ESP8266 Latest Firmware_Flashing Firmware
ESP8266 Latest Firmware-Flashing Firmware

Visit the official link, in order to download the AT Commands Firmware for ESP8266 or directly download from this link.

As soon as we click on download, Zip file will be downloaded and extract the file.

Flash memory addresses for Bin Files which will be flashing into ESP8266.

File Address in Flash Memory
boot_v1.7.bin 0x00000
user1.1024.new.2.bin 0x10000
esp_init_data_default.bin 0xFC000
blank.bin 0xFE000

Flashing Firmware to ESP8266

Espressif Firmware

Tool Downloading

The ESP8266 is a low-cost Wi-Fi microchip produced by Espressif Systems. Espressif Systems also developed a ESP Flash Download Tool to update the firmware of ESP8266.

ESP8266 Firmware can be installed for two reasons: If we want to install the new firmware or to update the ESP8266 Firmware to its latest version.

Espressif Systems_Flash Download Tool_Flashing Firmware
Espressif Systems-Flash Download Tool-Flashing Firmware

visit the official link, in order to download the ESP Flash Download Tool, click on Tools section to select the tool or you can directly download from this link.

Tool Installation

After Downloading the tool, extracts the files and open the “flash_download_tools_v3.6.5” application file.

Flash Download Tool v3.6.5_Flashing Firmware
Flash Download Tool v3.6.5-Flashing Firmware

After opening the application file, it will display various options like ESP8266 Download Tool, ESP8285 Download Tool, ESP32 Download Tool and ESP32D2WD Download Tool. Now click on “ESP8266 Download Tool” because we are flashing the firmware to ESP8266.

Tool Settings

As soon as the ESP8266 Download Tool opens, we have to select and upload the four firmware bin files at four different addresses under “SPIDownlaod“. Select SPI SPEED as “40MHz”, SPI MODE as “QIO”, FLASH SIZE as “8Mbit”, COM as “COM3” and BAUD as “115200”.

For bin file addresses refer the above table at “Download Latest Version Firmware” section.

Flash Download Tool_ Settings_Flashing Firmware
Flash Download Tool-Settings-Flashing Firmware

Now click on START icon to begin the firmware flashing to ESP8266. As soon as the flashing process starts, the tool will display two MAC Addresses as AP and STA and also displays the information about Module in the DETECTED INFO section.

Flash Download Tool_Flash Processing_Flashing Firmware
Flash Download Tool-Flash Processing-Flashing Firmware

While flashing firmware if we get any error, disconnect the ESP8266 connected USB, reconnect it and again click on START icon to begin the flashing.

If we didn’t get any error, the module will be updated with new firmware and “FINISH” message will be displayed on tool.

Flash Download Tool_Flash Completed_Flashing Firmware
Flash Download Tool-Flash Completed-Flashing Firmware

After completion of firmware flashing, close the tool, open Arduino IDE serial monitor, press RST butoon on ESP8266 and check for new firmware.

In order to check the updated firmware version, type “AT+GMR” in serial monitor and click on send icon. We will get a response with the AT Version number and the SDK Version number.

ESP8266 Updated Firmware_Flashing Firmware
ESP8266 Updated Firmware-Flashing Firmware

NodeMCU Firmware

NodeMCU flasher is a firmware programmer for NodeMCU DEVKIT V0.9.

Tool Downloading

Firstly we have to download the NodeMCU flasher. It’s a .exe file that we can download using one of the following links.

Flashing Firmware

Double click on the downloaded .exe file to open the flasher, Select the COM Port.

NodeMCU Firmware Programmer_Flashing Firmware
NodeMCU Firmware Programmer-Flashing Firmware

Click on “Config” icon, browse and upload the four bin files from downloaded firmware. For bin file addresses refer the above table at “Download Latest Version Firmware” section.

NodeMCU Firmware Programmer_Configuration_Flashing Firmware
NodeMCU Firmware Programmer-Configuration-Flashing Firmware

Click on “Flash(in Operation tab)” to start the flashing process. As soon as the flashing process starts, the tool will display two MAC Addresses as AP and STA. After the successful completion of firmware flashing process, the tool should appear a green circle with a check icon.

NodeMCU Firmware Programmer_Flash Completed_Flashing Firmware
NodeMCU Firmware Programmer-Flash Completed-Flashing Firmware

By this we will complete the Flashing or updating firmware of ESP8266 by using Espressif and NodeMCU Flasher.

Share this post