Programming ESP8266-01 With Arduino Uno



Hi, Most of us think we need special device to programme ESP-01 chip like usb to TTL converters,but we can do the same with the help of Arduino uno board.We going to make use FTDI chip which there with the board to 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 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 resistors.Connection from arduino to ESP01 is as follows

Arduino --------------------------- ESP-01

Tx ------------------------------------> Tx

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.3v(on board)-----------------------> Vcc,CH-PD

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 the board .


If any goes wrong verify the following

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

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

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



    • IoT Challenge

      IoT Challenge
    • Arduino Contest 2019

      Arduino Contest 2019
    • Woodworking Contest

      Woodworking Contest