Introduction: Home Automation With ESP8266 WiFi Without Using Blynk!

Picture of Home Automation With ESP8266 WiFi Without Using Blynk!

Firstly, I want to THANK everyone for making me a winner in Automation Contest 2016 for this INSTRUCTABLE. So, as I promised you, here's the instructable for controlling home appliances with ESP8266 WiFi module.

*** If you like this project, please like, share and VOTE***

Step 1: Next in Home Automation

In order to stay on the couch and control all electrical appliance with just a TV remote, I created an instructable for that and now it's time to upgrade to WiFi. Now you'll be able to control everything with your smartphone. Sounds complicated!!! But very easy to make!!!

Step 2: Why ESP8266?

Picture of Why ESP8266?

Now you might be thinking why I'm using WiFi here? I would have used Bluetooth or RF but why just Wifi with the ESP8266?
The Simple answer is :


• ESP8266 would be cheaper than Bluetooth module (on eBay, it's just around $2)
• By using the ESP8266, you can connect the module to internet and control it from any part of the world.

Step 3: Which ESP Module I Should Buy?

Picture of Which ESP Module I Should Buy?

Now there is a new question raised here Which ESP8266 module I should buy?

Well by now there are many variations of this module. Here in this instructable, I've used ESP-01 module. This was the first module introduced and also the cheapest one so if you are a beginner to IoT, then you better go for this. The module you should buy depends on how many gpio (general-purpose-input-output) pins you need. This will decide how many things you would be able to control through WiFi. For beginners I would recommend ESP-01 module.

Step 4: Some Basic Info on WIFI!!!

Picture of Some Basic Info on WIFI!!!

WiFi is a technology that allows electronic devices to connect to a Wireless LAN (WLAN) network, mainly using the 2.4 gigahertz (12 cm) UHF and 5 gigahertz (6 cm) SHF ISM radio bands.

Wi-Fi is the name of a popular wireless networking technology that uses radio waves to provide wireless high-speed Internet and network connections. A common misconception is that the term Wi-Fi is short for "Wireless Fidelity", however this is not the case. Wi-Fi is simply a trademarked phrase that means IEEE 802.11x.

Step 5: No Blynk!!!

Picture of No Blynk!!!

You can find Home Automation with esp8266 all over the Instructables but a common thing is that they control their esp through Blynk app. Well, Blynk app is also a good thing for the ESP but there are still some cons.



• Firstly, it requires an internet connection so that the app can be connected to it's server.
• Second, like other methods, the Blynk app as well as the Esp would have to connect to a WiFi Hotspot.


So, people who don't have a permanent net connection or a router as a hotspot cannot use the Blynk app.

Step 6: Then What's So Special in My System!!!

In my system, I've created an android app which directly connects to your esp instead of connecting to a hotspot. This also requires no internet connection or any external wifi hotspot as the two machines would connect directly resulting into fast reaction of the ESP.

Step 7: Gather All Parts

Picture of Gather All Parts

Here all the parts you would need in this Project are mentioned and the links from where you can buy them but I recommend that you should first try to find the components locally because this way you could buy them faster and maybe cheaper but if they are not available locally you can always buy them with the links provided. I always buy everything from ebay 'cause it's the cheapest. For this project you will need:

Step 8: Make It Breadboard Friendly

Picture of Make It Breadboard Friendly

By now, you may have noticed that the ESP-01 cannot fit on breadboard so we have to make it Breadboard Friendly.

The steps are simple you just have to cut a 4 x 4 dots pcb, solder the male headers and female headers as shown in the pictures above.

Step 9: The Android Application

Picture of The Android Application

For controlling the ESP8266 directly from your mobile phone, I've created an app using MIT app inventor. You can find the app here.

First you need to connect your smartphone to esp8266 WiFi and then set ip address to your module's ip address in the app. In my case, it was 192.168.4.1

Step 10: TIME TO START BUILD!!!

First we have to connect the ESP module to the computer to update the firmware as well as to program it.

Step 11: Convert 5v to 3.3v!!!

Picture of Convert 5v to 3.3v!!!

The most importaqnat thing is that the esp8266 module works only with 3.3v and not 5v.

5v can kill it, so in order to convert 5v to 3.3v we have to create a voltage divider.

Create a voltage divider by connecting a 1K and 2K resistor as shown in the pic.

Step 12: Connect FTDI to Esp!!!

Picture of Connect FTDI to Esp!!!

Just follow the schematic to connect your esp to an FTDI breakout. Make sure to use 3.3v only on your FTDI breakout.

Step 13: You Don't Have an FTDI Breakout!

Picture of You Don't Have an FTDI Breakout!

If in case you don't have an FTDI breakout just like me, you can also use your arduino to program the esp.

REMOVE THE ATMEGA 328 IC FROM THE ARDUINO BOARD BEFORE PROGRAMMING.

DONT FORGET THAT ESP8266 WORKS ON 3.3v AND NOT ON 5v.

ARDUINO ESP8266

3.3v ---------------- VCC

GROUND------------GROUND
3.3v ---------------- CHP_PWD(CHIP POWER DOWN)

TX --------------- TX

RX --------------- RX

Step 14: Flash Your ESP

Picture of Flash Your ESP

Flash your ESP to the latest firmware.

Download the necessary software.

Flasher.exe

Make sure to connect gpio 0 to ground. This will enable the flash mode in your esp.

Download the files . >>>>>The files would be in zip file so unzip them and open the esp8266_flasher.exe>>>>>You can use the .bin firmware already provided in the zip file.>>>>>Then select your COMMUNICATION (COM) PORT, and enter 0x00080 in the other column.>>>>>>> Hit Download.

Step 15: Check If Everything's All Right!!!

Picture of Check If Everything's All Right!!!

After flashing the ESP, it's time to check if everything's all right.

  • Go to Arduino IDE
  • Go to serial monitor
  • Select baud rate 115200
  • Now enter the following commands.

AT

After entering this command press SEND and if you recieve OK then you are all set to go.

You can play with the module with other AT Commands as shown in the pics above.

Step 16: Pre-Coding

Picture of Pre-Coding

To program the ESP from Arduino IDE, you have to install some necesary softwares.



1. Go to Arduino IDE
2. Go to File >>>> Preferences
3. In the text box of ADDITIONAL BOARDS MANAGER URL, copy and paste the path below

http://arduino.esp8266.com/package_esp8266com_inde...


4. Go to TOOLS >>>>> BOARD >>>>> BOARD MANAGER

5. Type esp in the searchbox and only one option would be left.

6. Install that ESP8266 PACKAGE.

Step 17: Time for Coding!

After installing the ESP8266 Package,

GO TO TOOLS >>>>> BOARDS >>>>> Select the module you have (If you have the esp-01 module like me, select the GENERIC ESP8266 MODULE)


Now change the Properties according to your module in the tools menu.


Now make sure you have the ESP8266WIFI library.

Upload the code to your esp.

Step 18: Make the Circuit!!!

Picture of Make the Circuit!!!

First try to make the circuit on breadboard and then make it permanent on pcb board.

But the biggest problem is that the ESP8266 needs 3.3v and not 5v.

Don't underestimate the power of 5v, it's enough to kill your ESP module.

***Hey! strucked somewhere??? I am always there to help you in the comments below!!!***

Step 19: CAUTION!!! HIGH VOLTAGE!!!

Picture of CAUTION!!! HIGH VOLTAGE!!!

WARNING!!!

Incorrect or Improper use can lead to:

  • Serious injuries or Death.
  • Physical Damage to the Product.
  • Creating dangerous Hazards.

***I TAKE NO RESPONSIBILITY OF ANY OF YOUR ACTIONS***

Step 20: How to Use This at Your HOME!!!

Picture of How to Use This at Your HOME!!!

Let's say you want to control your light and fan of your bedroom, you can install this circuit on the switch board. Just open the switch board that controls your lights and fans and you will find that two wires are attached to the switch. Just remove those wires from switch and connect them to the PCB terminals and you're done. Super Simple yet Efficient.

***Kids, stay away from live electric wires. Have an adult beside to do the high voltage electric work***

Step 21: TroubleShooting!@#$%

Picture of TroubleShooting!@#$%

Hmm... Not working as Expected???

Try this Trouble Shooting guide so you can make your project work like a charm!!

  • First check the code. Make sure that you have all the libraries installed correctly. If not then you have to download them first.
  • Make sure that the Connections are correct. Using the continuity function of your multimeter check for any wrong connections or short circuits!!!
  • Make sure you have working ESP and relays.
  • Make Sure you have placed the diode in correct polarity.
  • Make sure that you have connected your phone to esp through WiFi.

*** If you have any doubts regarding this you can always ask me in the comments below ***

Step 22: Check These Points!!!

  • Before testing the circuit, double check all connections with continuity function of multi meter for any wrong connections or short circuits.
  • Install the diode between the coils in correct polarity as it will protect our circuit from any reverse current.
  • I recommend that before testing the circuit with HIGH AC VOLTAGE, first try it with a simple LED.
  • Also never use such appliances that draws more current than your Relay's ratings.

Step 23: What's Happening Here???

Hmm... confused by now... let me tell you What's happening here???

When you press the button ON on the WiFi controller app, it sends a signal ON to the ESP. The module is programmed in such a way that when it receives the ON signal, it turns it's gpio state to HIGH. By doing so, the relay gets activated and so the appliance turn ON. In the same way when you press OFF, the esp turns it's gpio state to LOW, and so the relay turns off so the appliance. The working principle is very simple as compared to the complication in Blynk app.

If you want more info check GreatScott's tutorial on this.

*** If you still have some doubts, feel free to ask in the comment section below***

Step 24: Conclusion!!!

Picture of Conclusion!!!

Hey!!! Good Luck for creating this on your own. If you are strucked somewhere, feel free to ask me in the comments sections below. I 'll always be there to help. If you have any suggestions tell it to me, and if you like the project hit the like button, share the project as fas as you can and please VOTE in the contests.

Thanks for reading,

YAVNIK SHARMA

Comments

Ramesh Ahir (author)2017-09-20

Good afternoon i want to make these. can i use relay board?

LUIZ CARLOSM6 (author)2017-09-01

Good night, can you help me, I downloaded the WifiWebServer code on my ESP8266-01 to use the two GPIO's to control a double relay, so that's fine, but after some time my ESP8266 stops communicating with my network, only going back to work when I take power from it, if you can help me I'll be grateful, thank you

SteveT142 (author)2017-08-13

Can I do this project with a iphone? Thanks for sharing your project.

Yavnik (author)SteveT1422017-08-15

Sorry, I haven't developed an iOS app for this project yet...

rukkumajumder (author)2017-08-02

Hi, I am getting

"raise in device connect

chip sync error.

baudrate sync fail"

this error while trying to flash at firmware through flash tool. Any idea how to solve this?

abdelmonaim (author)2017-07-26

hi there,

I made it, and now I want to modify the android program, as a start I guess you used socket API, but I don't know how to go on from there.

can you share some kind of source code for the android app, or point me in the right direction to make my app (I don't want to use app inventor :D ).

thanks in advance

GPSSerbia (author)2017-07-06

Hello Yavnik,

first of all, congratulations for very nice and useful instructable!

Are you willing to share your appinventor source file for this?

Thank you.

iTECHKING (author)2017-01-29

Hi there,
I just wanna know I've 3 ESP8266 boards connected to my router.
Each board can be accessed by putting their individual IP and thus the corresponding devices can be controlled.
But if I wanna access all the boards simultaneously, what Have I to do for that??
I'm asking this question because the 3 ESPs are controlling each of my room. If I've to control the appliances of my room-1, I need to connect to corresponding ESP8266. For room-2, need to connect to corresponding ESP8266 and so on. But what if I wanna control all rooms simultaneously.


Any suggestion would be appreciable..

FasihZ (author)iTECHKING2017-03-22

Looks like a job for MQTT.

Yavnik (author)iTECHKING2017-02-03

Hi,

I think you should use other ESP8266 boards like the esp-12 or NODE MCU. By doing so, you'll get access to more GPIO pins and thus you would be able to control more appliances with just 1 esp.

If you have any other doubts, you can always ask me by sending a private message or by writing here at the comments section.

Best Luck for your build,
Yavnik Sharma

hemanth kumar reddy (author)2017-03-14

Can you plz look at this

https://www.instructables.com/community/security-s...

small help thanks

Joja_al7rbi (author)2017-02-14

Hi

Can i use ESP8266 to control the setting of any device? For exmple chane the AC temprature. Or it just used for ON/OFF application?.

If i can use it to control can you please tell me how and which program should i use?

musthtc (author)2016-12-26

Good job! but I still had some problems with this inst. For example if I need to control many devices and there're separated with some distance,for wireless purpose I had to used many ESP to control then. Under this circumstances, the smartphone&APP had to switch the WIFI connection frequency,and that was too inconvenient! Do you have any ideal to solve the problem?

jduf (author)2016-12-23

Only 2 IO's is not enough.

Try using I2C, it works on esp8266, so you can control a lot of devices.

kmanchanda (author)2016-12-21

Hey great build here !

Help me out on this , after rebooting my ESP-01 (remove power and attach again) the program is lost ! What should I do ? TX,RX,RESET are free. GPIO is attached to led , rest connections are same

Kanha2020 (author)2016-12-18

the AT command worked, but the code is not getting uploaded. the following is the error message i'm getting -

warning: espcomm_sync failed

error: espcomm_open failed

error: espcomm_upload_mem failed

error: espcomm_upload_mem failed

.

How can i upload the code?

Kanha2020 (author)2016-12-18

The flasher is showing ''Leaving...

Failed to leave Flash mode'' after 99% update, what should i do? pls reply, its urgent

Yavnik (author)Kanha20202016-12-18

No problem! It's the way that flasher works! After uploading just remove the wire that is between GPIO pin 0 and ground and reset the module and you're done!!!

IF YOU STILL FACE ANY PROBLEM, FEEL FREE TO CONTACT ME.

Kanha2020 (author)Yavnik2016-12-18

how to reset the module? i have connected the reset pin to ground and then taken out, but after that when i sent AT command to the module, it didn't respond. How to bring the module to user mode?

Yavnik (author)Kanha20202016-12-18

To bring the ESP to user mode, just remove the wire between GPIO 0 and ground, turn it off and then turn it on. If you still face problems with AT commands, make sure you have selected the correct bbaudrate in the serial monitor.(Normally it is 9600 or 115200)

Kanha2020 (author)Yavnik2016-12-18

it is not responding to AT command at any baud arte even after disconnecting the gpio 0 and rebooting.. Where is the problem?

Soumojit (author)2016-12-08

Where I can buy wifi module cheap in india? and If I need some more output oins can I connect I with arduino and use arduinos pins for on and off?

Yavnik (author)Soumojit2016-12-09

1. Try ebay.in I always buy my module from there.

2. If you need more output pins you can use other popular WiFi boards like NodeMCU or other boards like that.

Soumojit (author)Yavnik2016-12-09

I want to connect it with arduino to tx and rx and use its pins

ashu cool (author)2016-12-06

bro i really wanna make this project but m really confused about the coding part......as i am not very good with ardiunos plzzz help mee.....nd explain it in detail

and also for using this for ac....do i need different relays or the same can be used

vhajar (author)2016-12-06

i use slack app to control my iot, look weird but its work..

https://www.instructables.com/id/Lumen-Histoire-IoT-App/

Yavnik (author)vhajar2016-12-06

Awesome!!!

habaoanh (author)2016-11-20

where is an app using MIT app inventor please give me the link

Yavnik (author)habaoanh2016-11-21

I attached the app that I made in step 9. If you want to make your own app then go to http://ai2.appinventor.mit.edu

dbuckley6 (author)2016-11-20

Great job, will definitely try this. Can't vote on mobile app, but will go on full site to do so. Another winner for you I think. ..

Yavnik (author)dbuckley62016-11-20

Thanks and Good luck for your build!!!

About This Instructable

24,963views

239favorites

License:

More by Yavnik:Home Automation With ESP8266 WiFi Without Using Blynk!Control your Home appliances with TV Remote!!
Add instructable to: