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?
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?
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!!!
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!!!
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
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
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
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!!!
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!!!
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!
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.
3.3v ---------------- VCC
3.3v ---------------- CHP_PWD(CHIP POWER DOWN)
TX --------------- TX
RX --------------- RX
Step 14: Flash Your ESP
Flash your ESP to the latest firmware.
Download the necessary software.
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!!!
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.
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
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
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!!!
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!!!
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!!!
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!@#$%
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!!!
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,