Overview
In this guide, we will learn how to Flash or Upgrade Firmware on a generic ESP8266 module also known as ESP-01 or ESP8266-01. The generic ESP8266-01 is the best module for simple IoT projects used with Arduino. But sometimes it doesn’t work and therefore we need to flash compatible firmware on it so it can work smoothly with the hardware. The ESP-01 is currently the old chip and therefore it has very old default firmware.
Updating or flashing the firmware on an ESP8266-01 is about maintaining the module’s efficiency, security, and compatibility with the evolving needs of IoT applications. In this guide, we will cover the hardware connection with the FTDI Module and also download the latest firmware and the flash download tool. Using the flash downloader tool, we will flash or upgrade the firmware on ESP8266 (ESP-01).
Tools Required
We need the following tools for this tutorial. You can purchase all the tools from given links:
| S.N. | Components | Quantity | Purchase Links |
|---|---|---|---|
| 1 | ESP8266-01 Module | 1 | Amazon | AliExpress |
| 2 | FTDI Module (USB-to-TTL Converter) | 1 | Amazon | AliExpress |
| 3 | Connecting Jumper Wires | 10 | Amazon | AliExpress |
| 4 | Micro-USB Cable | 1 | Amazon | AliExpress |
| 5 | Breadboard | 1 | Amazon | AliExpress |
ESP8266-01 Module (ESP-01)
The ESP8266-01 or ESP-01 is a Wi-Fi module that allows microcontrollers access to a Wi-Fi network. This module is a self-contained SOC (System On a Chip) that doesn’t necessarily need a microcontroller to manipulate inputs and outputs as you would normally do with an Arduino.
Depending on the version of the ESP8266, it is possible to have up to 9 GPIOs (General Purpose Input Output).
Thus, we can give a microcontroller internet access like the Wi-Fi shield does to the Arduino, or we can simply program the ESP8266-01 to not only have access to a Wi-Fi network, but to act as a microcontroller as well. This dual functionality not only makes the ESP8266 highly adaptable for various projects but also offers a cost-effective and space-saving solution.
Why do we need to flash or upgrade firmware on ESP8266 Module?
There are several reasons why we need to flash or upgrade firmware on ESP8266 (ESP-01) Module. Some of the common reasons are:
- Enhanced Features and Performance: New firmware versions often come with new features, improvements, or optimizations that can enhance the performance of your ESP8266-01 module.
- Bug Fixes: Firmware updates usually fix known bugs and issues in previous versions. This can lead to more stable and reliable operation of your device.
- Compatibility: Updating the firmware can ensure compatibility with newer software, libraries, or IoT platforms.
- Custom Firmware: Sometimes, you might want to flash custom firmware that is tailored to specific needs or projects, offering more flexibility and control over the module’s functionality.
- Overcoming Limitations of Factory Firmware: The default firmware on ESP8266 modules might have limitations in terms of functionality or performance. Flashing a new firmware can overcome these limitations.
How to Flash or Upgrade Firmware on ESP8266 (ESP-01)
Now lets see how we can update of flash firmware on generic ESP8266-01 Module using the FTDI Module (USB-to-TTL Converter). We need to do the hardware connection first and then go through the flashing process
Step 1: Connecting ESP8266-01 to FTDI Module
Here is the connection diagram for connecting the ESP8266-01 Module to FTDI Module.
Here’s a table showing the connections between the ESP8266-01 module pins and the FTDI module pins:
| ESP8266-01 Pin | FTDI Module Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| TX | RX |
| RX | TX |
| CH_PD | 3.3V |
| GPIO0 | GND |
You can use a breadboard to connect the ESP8266-01 with FTDI Module as multiple GND and VCC are used.
Step 2: Downloading Bin File and ESP8266 Flasher Tool
We need two files for firmware flashing. From the following links download the bin file and firmware flasher tool.
Using the ESP8266 Flasher Tool, we can flash or upgrade the Ai-Thinker ESP8266 bin file to the ESP8266-01 Board
Step 3: Connect FTDI Module to Computer
Now connect the FTDI Module to the computer using the USB Cable.
Go to the Device Manager of your computer and find the right COM port for your FTDI Device.
Step 4: Firmware Flashing
In this step, we will upgrade Firmware for ESP8266-01 using the ESP8266 Flasher Tool.
Therefore open the ESP8266 Flasher Tool.
Click on Bin option and Select the Bin File that you downloaded earlier.
Also change the COM port number as allocated in Device Manager.
Click on Download option, so that the firmware flashing begins.
It will take some time to flash the complete firmware.
Once it reaches 99%, assume that the flashing is completed.
Ignore the “Failed to Leave Flash mode” message that appears at the end. This message means the flashing has been completed.
This is how you can Flash or Upgrade Firmware on generic ESP8266 board (ESP-01 or ESP8266-01). Now you can use it with Arduino or for stand alone applications.


















