Home Automation Using Arduino With Wifi, Bluetooth and IR Remote Control




Introduction: Home Automation Using Arduino With Wifi, Bluetooth and IR Remote Control

About: An Electronics and communication engineer !!!

This is a tutorial to show how to build a home automation system using arduino with Wifi [ESP8266-01], bluetooth (HC-05) and IR remote control. Home automation results in a smarter home and is used to provide a higher and healthier standard of living. The beauty of a home automation system is that it is highly scalable, flexible and its capabilities are limited only by our imagination.

Step 1: Overview of the Home Automation System

This systems consists of 3 custom built arduino uno boards, two of which are connected to each other via I2C bus, one of which acts as a "master sender" and the other a "slave reciever". Home automation system can be controlled using Internet, which is achieved by using ESP8266-01 and blynk libraries. It also allows us to control the system by giving voice commands using HC-05 bluetooth module and AMR voice app.

I have explained interfacing each of the components to the microcontroller.

Materials needed:

* 3x arduino uno or Atmega328 / Atmega328p



*TSOP IR receiver

*IR remote.

*nokia 5110 display

* RTC (DS1307) real time clock

To build your own 5V Power supply from 230v / 110v ac-

*12-0-12 1A step down transformer

*Bridge rectifier / 4x diodes(1N4001)

*1000uF, 25v capacitor

*DC-DC stepdown buck convertor

*LM1117 or LM317 to get 3.3V power supply for ESP8266-01


*PIR (passive infrared)

*DHT11(Temperature and humidity)

* other materials such as breadboard, strippers, wires, jumpers, glue, sticky tapes etc..

Step 2: Circuit Diagram

The main control center of system are the three ATmega328p microcontroller. This part of the system manages the controllers and gets the commands from the user. It also sends temperature and humidity measurement to the mobile application. ATmega328p also gets sensor data and processes them to perform useful functions. The microcontroller also switches the relays to turn on/off the electrical devices when required. It displays the date and time using the RTC and the LCD display device.


The micro controllers need 5V DC power supply, this is obtained from 230V AC supply.

* A 12-0-12, 1A STEP DOWN transformer converts 230v AC to 12V AC.

*12V AC is converted to unregulated DC by passing it through a BRIDGE RECTIFIER and A 1000uF capacitor.

*12V DC (unregulated) is applied at the inputs of a DC-DC step down BUCK CONVERTER.The buck converter is adjusted to get output voltage of 5V DC.

* Buck converters are highly efficient over linear regulators(LM7805).

Step 4: Connecting ESP8266-01 to Arduino Uno

The following tutorial by me shows how to flash firmware and upload code to ESP8266-01 using uno and mega.


and then create a project in Blynk app

I've used DHT11 data to be transmitted to blynk app and used 3 buttons to control the 230v bulbs using relay.

Use the DHT11 files to send data via esp-01 to blynk app.

Step 5: Bluetooth Voice Control

Android Meets Robots: Voice Recognition, Uses android phone’s internal voice recognition to send voice commands to the microcontroller via bluetooth module. It pairs with Bluetooth Serial Modules and sends in the recognized voice as a string. The voice to text conversion requires an internet connection to the android device. For example if you say Hello the android phone will return a sting *Hello# to your bluetooth module *and # indicate the start and stop bits

check out this tutorial for connections


Step 6: IR Controller

Use this library and the hex codes given in the image to program the uno to perform specific functions when key is the pressed.


Step 7: Connecting Nokia 5110 LCD and RTC



clk-- 8

MOSI/Din- 9

DC-- 10

RST -- 11

CS -- 12

RTC -- arduino

SCL --- A5

SDA-- A4

Then use the code given to display the time from RTC on nokia 5110.

Step 8: RELAYS

A relay is basically an electrically controlled mechanical switch. Inside that harmless looking plastic box is an electromagnet that, when it gets a jolt of energy, causes a switch to trip. The microcontroller provides 5V signal to the relay it is converted to a 12V signal by the driver circuit which consists of a transistor and a diode.

Step 9: I2C Communication

This library allows you to communicate with I2C / TWI devices. On the Arduino boards with the R3 layout (1.0 pinout), the SDA (data line) and SCL (clock line) are on the pin headers close to the AREF pin.

use the master writer and slave receiver codes. The Uno with WIFI and DHT acts as master sender and the uno with bluetooth, IR receiver acts as slave receiver.


Step 10: Home Automation System

The final system is as shown.

Step 11: Code

You can find the code to this project in the following link


Automation Contest 2016

Runner Up in the
Automation Contest 2016



    • Fix It! Contest

      Fix It! Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest

    27 Discussions

    Great bro
    Keep it up.:)
    I think you made it as a final year project.:D

    1 reply

    can you add the videos

    can you addthe youtube videos


    10 months ago

    Very Nice.

    can we access in this WiFi (arduino) from other network or from anywhere??

    1 reply

    Aoa sir my project is remote control of home appliance with arduino through webpage for interfacing arduino with webpage i am using esp8266 esp 12...in 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 appliances....now main issue is i have made webpage communication between master slave has been done ...but interfacing of arduino with webpage is making problem ....my 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 ?

    1 reply


    nice explanation.. also plz give me the code and circuit diagram for voice controlled home automation using arduino uno and esp8266 01..thanku

    1 reply


    ESP8266-1 needs 3.3v power supply. The whole system is running on 5V supply so I've used a Linear voltage regulator LM317.

    1 reply

    sir can you show us the LM317 connection or show atleast a circuit diagram how will I connect the LM317.. i think there is 2 resistor connected and a capacitor? what are the value of used components?

    why it is that the ESP8266-1 on the video it has capacitor and resistors,, that is not on the circuit diagram? I want to make this as my project i just need your help.

    another thing sir you said you used 3 atmega328 but i can only see a 2 atmega328 on the circuit diagram.

    Can you add up more on the circuit diagram sir/madam? Can you complete the circuit diagram?

    sar have u done any tutorial in youtube for it so that I can see how it is working if yes plz send me the link of it sar

    1 reply