ESP 12E Home Automation Board (Control Relays Over the Internet)




About: Hi, I am Abhinn Pattani working as System Integrator at Infinium Solutionz Pvt. Ltd. , Ahmedabad, India.

Hi Dear all Friends,

This is my first Instructables.

I decide to make this instuctables for those who don't want to buy LinkNode R4, rather want to make it own their own. Anyone with the basic knowledge of soldering, PCB making and programming with Arduino IDE can make it.

Making your own design to control appliances will give you the feasibility and flexibility. SO lets begin!!!!

Step 1: Gathering Hardware

1. ESP - 12e (1) & CP2102 USB to TTL converter (For Programing)

2. 5v Relay (4)

3. BC547 (4)

4. 470 Ohm Resistors (8)

5. 1N4007 diode (4)

6. LM1117 3V3 IC (1)

7. 3v LED (4)

8. 3 pin terminals (4)

9. Some budstrips

10. 2 pin terminals (1)

11. PCB

12. Acrylic or any other Conformal Coating Spray (For PCB insulation coating on signal side, not mandatory)

13. Capacitors 0.1uF and 1uF (1 each)

14. Tools like wire cutter, wire stripper, soldering ion etc (All tools you can get for making a PCB and soldering)

15. Gloves, Eye protection etc as safety equipment.

Step 2: Required Software

1. NodeMCU bootloader for ESP8266

By default ESP 12E comes with AT command firmware (I don't know the name of the firmware), but for this project we need to flash NodeMCU firmware. Here is the link where you can find the instructable to do the same. This instructable is by Arunmozhi Rajavel.

2. Arduino IDE with ESP library on it.

Now there is awesome Instructable by jainrk on how to install ESP library on Arduino IDE and upload simple program on ESP8266.

You can find it here.

3. DipTrace (Freeware) PCB designing Software

Now for fabricating PCB, we need a PCB designing software. I use DipTace so the file that I'll be providing in this instructable will be .pcb file which is supported by DipTrace.

Step 3: PCB Etching

Here is an Instructable by dannewoo on etching a PCB.

Step 4: DipTrace File and Arduino Program(Sample)

Here are the required PCB design and basic arduino code for controlling relay within a LAN. Before burning the code to ESP 12E, make the changes in the code i.e. change the SSID and Password as per your wifi connection. Also dechange the Stattic IP in the code as per your wifi gateway. Now burn the code on ESP 12E and provide 5V power supply to the board. Now you can go in any web browser in your Laptop/Mobile phone and open the IP address that you have assigned in the programming. The HTML page will Open and you can control relays from there.

P.S. - In the .dip file all the component mounting details are given.

All the very best. If you like this instructable Please give Likes. Suggestions are appreciated.

Step 5: Controlling Relay From Internet (Literally From Internet Not LAN)

Now I hope you are doing well till this step. We will be using framework to control our relays.

Here is the instructable by Jhon_Control where you can learn how to use framework. It is extremely easy and awesome. You can assign buttons to any process you want to. Please go through THIS instructable.

Step 6: Adding Dashboard of

Use a suitable name (as you wish) for the Dashboard name.

Step 7: Adding Relays to Dashboard

Now when you click on your Dashboard it will show you editing option.

1. Open Edit Mode

2. Add the events.


Relay - PIN

01 - 16

02 - 14

03 - 12

04 - 13

Step 8: Conclusion

Thus we can conclude that controlling appliances over the internet or in a LAN is a piece of cake. Don't worry try and you'll definitely make it. Thanks for watching mt Instructable. Please give your opinions in comments.

All the very best. If you like this instructable Please give Likes. Suggestions are appreciated.



    • Backyard Contest

      Backyard Contest
    • Sensors Contest

      Sensors Contest
    • Classroom Science Contest

      Classroom Science Contest

    13 Discussions


    1 year ago

    Thanks for this precious share..can you plzz upload the video demo would be a great help


    1 year ago

    The sketch is missing directive to set output pins as output


    2 years ago

    Nice work! I am facing a problem:-

    whenever a load is connected to the relay(AC side), the esp resets itself.

    I am using 700mA power supply, 5 Volts. Please help.

    2 replies

    Reply 2 years ago

    Please share you project Images if possible. I'll be happy to see them.


    Reply 2 years ago

    Use 1A (or more - upto 3A) Power supply. As esp12e is a wifi chip it will consume power so it is important to provide sufficient power. In my project I'm using 9V 2A adapter (LM1117 will convert it to 3.3V). And it is working efficiently.


    2 years ago

    Cool project!!!

    Please publish the video of the project!!!

    1 reply

    Reply 2 years ago

    Sure, I'm going to publish a video soon.

    abhinnkpSuraj Bhawal

    Reply 2 years ago

    Hi Suraj,
    I have given a sample code in which you can configure SSID and Password of your network. Once code is burned on ESP 12E, all you need is to connect your android/iOS phone in the same network and open the IP address of ESP 12E which is defined in the code. You'll see the website with 4 on/off switch. You can ON/OFF relays from there.