Introduction: Flashing/Programming ESP8266(ESP-01) With Arduino Uno

Hi, Most of us think that we need special device to programme ESP-01 chip like usb to TTL converter,but we can do the same with the help of Arduino uno board.Here ,We are going to make use of FTDI chip which is there with the board to program the ESP chip.

There are two ways to make use FTDI chip on Arduino

1.Removing the ATMEGA328 chip

2.connecting RST of Arduino to ground.

We ,in this tutorial we opt for second method

Step 1: Procedure

Components Required:

1. Arduino uno


3.1k resistors-3

4.connecting wires.

First and foremost we need to disable the on board IC by connecting RST pin of Arduino to ground.Now the board is ready to work as a ESP programmer.we should also note that ESP01 works on 3.3v ,so we need to reduce 5V of Rx pin of Arduino to 3.3 V using 3 --1K resistors.

Connection from arduino to ESP01 is as follows

Arduino Board Pins --------------------------- ESP-01 Board Pins

1. Tx ------------------------------------> Tx.

2.Rx -------------------------------------> Rx (get 3.3 v from 5 V using Voltage divider circuit ,arrange three 1K resistors in series from Rx of arduino to ground ,get a tap across 2k and give this voltage to ESP01's Rx pin)

3. 3.3v(on board)-----------------------> Vcc,CH-PD.

4.Ground----------------------------------> Ground,GPIO0.

Now select the corresponding com port in arduino IDE & Make these changes in IDE under tools section.

Board:Generic ESP8266 Module

Flash mode:DIO

Flash size:1M(SPIFFS)


Programmer:Arduino ISP

Keep all other remaining settings as it is. If every thing goes fine you will see code uploading to the board (see the image).


If anything goes wrong verify the following

1.Have you added ESP8266 library to IDE or not.

2.Is RST pin of arduino is connected to Ground pin or not.

3.Is voltage divider network providing 3.3 v to Rx of ESP or not.

Thank you.