ESP8266-01 LED Control




About: Electronics & Telecommunication Engineer

ESP8266 is a wifi SOC (system on a chip) produced by Espressif Systems . It is an highly integrated chip designed to provide full internet connectivity in a small package. And it can be also controlled by our smartphone by using an App. In this toturial I'm going to show that how you can control four LEDs connected to ESP8266-01 through your android app. ESP8266-01 having two gpios but here we are using RX & Tx of the esp as a gpio for controlling the LEDs. Also on the place of LED you can control your home appliances using relay module, I also going to give a ckt diagram of relay module. I hope you have lots of fun making this project. It is cheap, easy & useful.

Lets begin....

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Parts You Need:

1. ESP 8266 programming board

here is the link how you can make it

2. A breadboard

3. asm1117 3.3v regulator

4. 10uf capacitor

5. LED x4

6. Some wires

7. 9v Battery

For Relay Board

1. Small dot matrix PCB

2. Relay 9v or any

3. Bc547 transistor

4. 10k ohm resistor x2

5. 1k ohm resistor x1

6. LED x1

7. Male & female headers

8. Wires

9. 9v Battery

Step 2: Flashing ESP With Nodemcu:

Extract The given folder

if your system is 32bit > Open folder Win32

if your system is 64bit > Open folder Win64

> Release

> Run Espflasher.exe

Connect gpio0 to gnd of your Esp programming board And then Connect it to your Laptop or pc.

> Select COM Port

> Click On Flash

Wait for process to be completed

After green tick appear your esp8266 is flashed with node mcu.

Step 3: Uploading Sketch :

>Connect your esp programming board to pc

>Extract ESPlorer.rar

>Run ESPlorer.jar

if you don't having java in your pc download from here

>Click on open

>Select init.lua file

>Open it

>Change "rishabh" with your SSID

>Change "12345678" with your Password

>Select Port in my case it is com10

>Click Open Port

> When it Show Communicating with MCU

Connect and remove reset pin to ground

>Now it shows your node mcu version

>Click on Save to ESP

Wait till upload is complete

Step 4: Circuit on Breadboard

Make a connector for Esp to make esp breadboard friendly.

And Assemble the Circuit.

Step 5: Android App

Install the App

Type your esp8266 ip address and save it.

Now you can control four leds from your smartphone.


Step 6: Relay Board

Instead of LEDs you can control four relays.

Circuit for Relay board is given assemble it on pcb and the relay board is ready.

Enjoy switching your appliances wirelessly.

Hope you Like the Project....

Step 7:

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    21 Discussions


    2 years ago

    Good job. I made it and working fine the only issue is " ESP is not connecting or working after off and on the system or rest. something is wrong ?

    7 replies

    Reply 2 years ago

    When using a generic ESP8266 module, make sure you have a 100nf capacitor or similar over the power lines, as close to the chip as possible and Sufficient current supply.


    Reply 2 years ago

    Use battery with voltage regulator asm1117 with capacitor. Remove ftdi or usb to ttl cable after programming esp8266..


    Reply 2 years ago

    Now every thing working fine but when I restart the esp it get freeze on load(LEDs) and without load(LEDs) restart also fine. restart without LEDs and than connect the LEDs also working fine. Some thing is wrong?


    Reply 2 years ago

    No .. All fine.. Turning on esp with load make esp stuck that is drawback of that esp. You can do one thing connect a single switch between gnd terminal of all leds with gnd.


    Reply 2 years ago

    Finally get another solution with add one delay on relay at GND So, when power up the system esp will get connection after 02 sec delay relay will activate which will connect GND to GND.Furthermore modify the lua sketch to fix the IP of esp. Still i am looking for another smart way to solve this. Thanks for the idea


    Reply 2 years ago

    Yes it is working but it is not possible when project is installed. Is there any other solution for smooth operation. I also try to add diode but it is working only with GPIO 2 pin.


    1 year ago

    Hi RishabhL!

    Thanks for this awsome tutorial, I have tried many other, but this was the fastest easiest, and best becouse of the 4 pin control, not only 1 or 2.

    I would like to have web URL shortcuts on my phone's homescreen, but for that, i have to know what web codes does your app send to the ESP. So could you help me with writing down the codes please?
    This is what I mean: or

    Thank you again!

    1 reply

    Reply 1 year ago

    for eg....
    pin number will change from 1 to 8


    Question 1 year ago

    Hello. Does the nodemcu bin file have a sequence?


    1 year ago


    serial out >>>>Esp8266

    TX>>>>>>>>Rx,--------, RX>>>>>>>>Tx,------,3.3v>>>>> CH_PD & vcc,-----,GND>>>>>GND & Gpio2. when i click "FLASH" nothing happens , 5-10 mins , help

    1 reply

    Reply 1 year ago

    try process after connecting gpio0 to ground. and reset the esp while flashing..


    2 years ago

    Communication with MCU proccess take too much time.

    Is it normal ? Where am I doing wrong ?

    1 reply

    Reply 2 years ago

    Reset the Esp8266 by connecting rst pin to gnd. Or connect a push button between gnd & rst pin... While it takes too much time press the reset button.


    2 years ago


    Thanks for your kind descriptions

    I have two problems:

    1- would you please share your MIT app inverter file

    2- when I want to upload code to ESP, ESPlorer gives this message:

    Communication with MCU...




    ......Got answer! AutoDetect firmware...

    Communication with MCU established.

    Can't autodetect firmware, because proper answer not received (may be unknown firmware).

    Please, reset module or continue.

    ŒcŒûg'Ÿlogœãäcp8ä‡lrl;lWaiting answer from ESP - Timeout reached. Command aborted

    1 reply

    Reply 2 years ago

    Check port selected correctly. Reset eap8266 several times when error occure. Again flash the esp8266. Connect gpio0 to gnd then plug into ur pc.

    zoha imran

    2 years ago

    Aoa sir my project is remote control of home appliance with arduino through webpage for interfacing arduino with webpage i am using esp8266 esp project i am using master slave technique ...which means webpage will interface with master arduino through esp8266 then that master arduino will send signal to slave arduino through rf module ..and this slave will now light up the main issue is i have made webpage communication between master slave has been done ...but interfacing of arduino with webpage is making problem code is correct connections are correct but the code is not burning in wifi module it is giving error "

    Error : failed to open com6
    Error: espcom_open failed
    Error: espcom_upload_mem failed "
    Do you have some idea about it ?
    Moreover sir i wana ask we have to remove arduino chip when we are buring code in esp8266 ?
    Or we have to write the code in the same arduino file which we have developed while communication between master and slave ?


    2 years ago

    Can you please provide a screenshot of the app? this is really cool.