In this blog, we will show you how to get started with a simple home automation project wherein you will be able to control your home appliances with the help of your smartphone using Bluetooth.

We will be using the Arduino UNO development board as the microcontroller in this tutorial, however, it can be easily swapped for a micro-controller of your choice ( Note that though if you use a controller outside the Arduino family, the code will have to be appropriately modified).

To add Bluetooth functionality, we will use the HC-05 Bluetooth module. This will help us to communicate with other Bluetooth devices such as your smartphone and exchange messages between your smartphone and the Arduino UNO development board.

Since we are controlling AC appliances, we will require a Relay module as well because AC appliances work on a much higher voltage and cannot be directly controlled by the Arduino UNO development board (or any other embedded device). Ensure that the maximum voltage and current ratings of the appliance being controlled are well within the range of the rated voltage and current of the relay module.

Components Required

  1. Arduino UNO
  2. Relay
  3. HC-05 Bluetooth Module


Circuit Diagram

robocraze home automation blog image
  1. Connect the TX pin of the HC-05 module to pin number 10 on the Arduino UNO
  2. Connect the RX pin of the HC-05 module to pin number 11 on the Arduino UNO
  3. Connect one of the relays signal pins to pin number 5 and the other relays signal pin to pin number 6 on the Arduino Uno 
  4. Connect the Vcc pins of the Bluetooth module and relays to the Vcc of the Arduino UNO
  5. Connect the GND pins of the Bluetooth module and relays to the GN pin of the Arduino UNO 


#include <softwareserial.h> //Software Serial Library
SoftwareSerial EEBlue(10, 11); // RX | TX
int relayPin1 = 5;
int relayPin2 = 6;
String command;
void setup()
  EEBlue.begin(9600);  //Default Baud for comm, it may be different for your Module.
  Serial.println("The bluetooth gates are open.\n Connect to HC-05 from any other bluetooth device with 1234 as pairing key!.");
  pinMode(relayPin1, OUTPUT);
  pinMode(relayPin2, OUTPUT);
  digitalWrite(relayPin1, HIGH);  //Relay Pins are active LOW
  digitalWrite(relayPin2, HIGH);
void loop()
  // Feed any data from bluetooth to Terminal.
  if (EEBlue.available()){
    String command = EEBlue.readStringUntil("\r\n");
    if (command.indexOf("ON1") >= 0) { 
      digitalWrite(relayPin1, LOW);
      Serial.println("Turning ON Relay 1");
    if (command.indexOf("OFF1") >= 0) {
      digitalWrite(relayPin1, HIGH);
      Serial.println("Turning OFF Relay 1");
    if (command.indexOf("OFF2") >= 0) {
      digitalWrite(relayPin2, HIGH);
      Serial.println("Turning OFF Relay 2");
    if (command.indexOf("ON2") >= 0) {
      digitalWrite(relayPin2, LOW);
      Serial.println("Turning ON Relay 2");
  // Feed all data from terminal to bluetooth
  if (Serial.available())


Product Showcase

See more

1 comment

  • Good projects


Leave a comment

Please note, comments must be approved before they are published