Introduction: ESP8266 Firmware Update Using USB-TTL

Picture of ESP8266 Firmware Update Using USB-TTL

In this post, we are going to upload firmware to ESP8266 (ESP-01) . The firmware can be updated by both arduino as well as usb-ttl module.

ESP-01 is wifi SoC module and it has two GPIO pins i.e. GPIO0 AND GPIO2

For using ESP8266, we can use either AT commands using any terminal software/ esplorer ide (it supports lua programmming and AT commands) or we can use arduino library.

ESP8266 is a 8-pin SoC having two GPIO pins, it requires 3.3 volt and the current consumed by wifi module can't be attained through arduino. Therefore, if we are using arduino we need external 3.3 volt power supply.

Esp8266 wifi module can act as STA as well as AP or both

Step 1: Things Required:

Picture of Things Required:

1. USB-TTL module

2. Perfboard

3. Male and female berg strip

4. Female to female jumper wires

5. ESP-01

6. Nodemcu flasher

7. Firmware to be updated

8. Little bit of patience :)

Step 2: Connections

Picture of Connections

Make connections as given below:

ESP8266 side USB-TTL module

Rx Tx

Tx Rx

CH_PD and Vcc 3.3 volt provided by the usb-ttl module


GPIO0 GND (while updating the firmware only)

We had connected switch to GPIO0, by pressing the switch it GPIO0 will be grounded

Step 3: Updating the Firmware

Picture of Updating the Firmware

In order to update the firmware, make the connections on perfboard. In this circuit, we are using two switches

one for GND and other for GPIO0.

Download Nodemcu flasher from the link below:


Download firmware from the link below:


Make settings as given in the picture. Browse the firmware file (ends with .bin)

Note: GPIO0 should be grounded while updating the firmware.

Vcc and CH_PD should be connected to 3.3 volt only

Step 4: Check Wifi Module

Picture of Check Wifi Module

Now check wifi module, using any terminal software e.g. Bray's terminal

Download Bray's terminal:

Bray's Terminal

Open Bray's terminal, rescan for the comport. Select comport and baud rate should be 9600

send AT and it will respond OK

Note: Baud rate depends on the firmware. You can change it by using AT commands


tytower (author)2016-12-31

You are not updating the firmware .

You are uploading a program to the memory of the chip and can change it at any time to any program you wish

DIY Tutorials (author)tytower2017-01-01

It's firmware updation

tytower (author)DIY Tutorials2017-01-02

No its not mate . As I said you can put any program on you wish . new or Old or different That is not "updating" that is "changing "

About This Instructable




Bio: Loves electronics, science fascinates me
More by DIY Tutorials:ESP8266 Firmware Update Using USB-TTLLED cube using arduinoDIY Jumper Wire Male to Male
Add instructable to: