Esp8266 based home automation system using wifi
It is also cheap and be used for making cool projects connected to the Internet .Learn how to make a simple IOT Project with it .The ESP8266 WiFi Module is a self contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. Each ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers (and that’s just out of the box)! The ESP8266 module is an extremely cost effective board with a huge, and ever growing, community.
Step 1: Components and Connection

ESP8266 Pinouts
Vcc -power supply 3.3 v
Gnd – Ground
RST- reset
CH-PD-Chip power Down- Connected to 3.3V
Rx-Recieve
Tx – Transmit
GPIO 0- Normal mode for HIGH Programming Mode for LOW
GPIO 2 General purpose 2
Step 2: Making the Esp 8266 Bread Board Friendly
Esp 8266 esp 1 is badly famous for being rude to the Bread board .
Here is a small hack to make it convert into a DIP pack.
You only want a 4x 4holes perf section with 4 rows of copper track of length four holes.
see the photos and you’d understand what I mean by that.
Cut two Strips of 4 Male Header pins each.
Cut two Strips of 4 Female Header pins each.
Push the 4-Pin Female header pins
Solder the Female Header (4-Pins each)
Push the 4 pin male all the way down until they are invisible in one side of the plastic frame.
Solder the male Header (4-Pins each) and join female together with it
Connections
Vcc and ch_pd to vcc
Gnd to gnd
Rst to button 1
GPIO0 to button 2
Note While uploading Program press reset once while holding GPIO Button as long as the program uploads.
Step 3: Setting Up the Arduino Environment

https://github.com/esp8266/Arduino
Installing with Boards Manager for Arduino
Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).
- Install Arduino 1.6.8 from the Arduino website.Start Arduino and open Preferences window.
- Enter http://arduino.esp8266.com/stable/package_esp8266… into Additional Board Manager URLs field.
- You can add multiple URLs, separating them with commas.
- Open Boards Manager from Tools > Board menu and install esp8266 platform (and don’t forget to select your ESP8266 board from Tools > Board menu after installation).
Boards manager link: http://arduino.esp8266.com/stable/package_esp8266…
Step 4: Trying the Blink Sketch
Connections
TThe led is connected to the GPIO 2
Tx is connected to Rx
Rx is connected to Tx
Vcc to 3.3v gnd to gnd
Ch_pd to 3.3v
GPIO 0 to gnd while programing
int ledPin=2; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Step 5: Making a Web Controlled Home Automation
Connections
The led is connected to the GPIO 2
Tx is connected to Rx
Rx is connected to Tx
Vcc to 3.3v gnd to gnd
Ch_pd to 3.3v
GPIO 0 to gnd while programing