Main Content

Restore or Upgrade Firmware on ESP8266 (ESP-01) Module Using Arduino UNO

The ESP-01 module that i used originally came with older AI Thinker firmware, which limits its capabilities since many useful AT commands are not supported.
It is generally a good idea to upgrade your firmware for bug fixes and also depending on the functionalities needed from the ESP module, a more complete set of supported AT commands might be required. This tutorial also explains how to restore or flash original Espressif firmware if you happen to mess up your ESP firmware, for example, through some wrong AT commands. This is what happened when i tried to change the default baud rate from 115200 to 9600. I used the following command (based on a quick Google search):
AT+IPR=9600This bricked the ESP-01 module. No AT commands worked anymore, which prompted me to do more research and after many hours, i finally found a way to restore my ESP-01 and install the latest compatible firmware. So, i decided it was worth sharing the whole process.
Caution: Based on my experience, i would highly advise not to use the command AT+IPR to change your baud rate as it will most likely require you to re-flash your firmware. However, there are many different variants of the ESP-01 module with different flash size and factory firmware version, so your experience might vary.
The ESP-01 module is not 5 V-compliant and requires 3.3 V to power it but also to work properly on the logic level. To communicate with the computer, the module additionally needs a USB to serial converter. So, instead of using a voltage converter and a USB to serial adapter, i decided to opt for a simpler solution. Since i already have an Arduino UNO, i used the latter to power the ESP-01 module and establish communication between the ESP-01 and the computer, effectively operating as a serial bridge.

ESP-01 module
Arduino UNO (with USB cable)
Jumper DuPont wires

Link to article