Arduino UNO Bluetooth Home Automation System

Home automation allows you to control electrical devices such as lights, fans, and appliances remotely. Using Arduino UNO with a Bluetooth module, you can create a low-cost system controlled from your smartphone.

This tutorial covers step-by-step wiring, code, working principle, and applications for a complete beginner-friendly Bluetooth-controlled home automation system.

You can expand this project to control multiple devices or integrate it with IoT platforms for remote access over the internet.

Why Build a Bluetooth Home Automation System?

Controlling home devices remotely saves energy, enhances convenience, and introduces beginners to wireless communication and automation concepts.

This project teaches Arduino digital output control, Bluetooth serial communication, relay operation, and mobile app integration.

Required Components

Arduino UNO board

HC-05 or HC-06 Bluetooth module

Relay modules (1-channel or 2–4 channels depending on devices)

Jumper wires and breadboard

LEDs for testing (optional)

Smartphone with Bluetooth control app (e.g., Arduino Bluetooth Controller)

Power supply for Arduino and relay-controlled devices

About HC-05/HC-06 Bluetooth Module

The HC-05 and HC-06 modules enable wireless communication between Arduino and smartphones via serial UART.

HC-05 can act as both master and slave, whereas HC-06 is slave-only. For this project, either module works for receiving commands from a phone.

Data from the phone is received as serial input on Arduino, which then triggers relays to turn devices ON or OFF.

Circuit Connections

Bluetooth Module:

VCC → 5V, GND → GND, TX → Arduino RX (Pin 0), RX → Arduino TX (Pin 1) with voltage divider if needed

Relay Module:

VCC → 5V, GND → GND, IN → Arduino digital pins (e.g., Pin 7 for Relay 1, Pin 8 for Relay 2)

Appliances or LEDs can be connected to relay terminals. Ensure proper isolation and follow relay current limits.

Optional: Use a separate power supply for relays to prevent Arduino reset due to high current.

Arduino Code

Program: Bluetooth-controlled home automation
char command;
int relay1 = 7;
int relay2 = 8;

void setup() {
  Serial.begin(9600);
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, LOW);
}

void loop() {
  if (Serial.available()) {
    command = Serial.read();

    switch(command) {
      case 'A': digitalWrite(relay1, HIGH); break; // Turn ON Device 1
      case 'B': digitalWrite(relay1, LOW); break;  // Turn OFF Device 1
      case 'C': digitalWrite(relay2, HIGH); break; // Turn ON Device 2
      case 'D': digitalWrite(relay2, LOW); break;  // Turn OFF Device 2
    }
  }
}

This code reads serial commands from the smartphone app and switches relays accordingly to control connected devices.

Working Principle

When a button is pressed in the Bluetooth app, it sends a character command via Bluetooth to Arduino.

Arduino reads this serial input, matches it in a switch statement, and switches the corresponding relay ON or OFF.

The relay acts as a switch for electrical devices, providing electrical isolation and allowing safe control of high-current devices.

This process enables real-time control of home appliances wirelessly from a smartphone.

Key Features

Wireless control of devices using smartphone Bluetooth

Expandable to multiple devices with multi-channel relay modules

Low-cost, beginner-friendly home automation system

Real-time response and easy to implement

Can be integrated with sensors for automated smart home

Applications

Controlling lights, fans, and small appliances in homes

DIY smart home automation for beginners

Educational electronics and IoT experiments

Remote device switching in labs or offices

Integration with voice control using Bluetooth-enabled apps

Common Mistakes

Connecting HC-05/HC-06 TX/RX directly to Arduino Uno 5V RX without voltage divider may damage the module

Exceeding relay current limits when switching devices

Not pairing the Bluetooth module correctly with the smartphone app

Incorrect pin assignments leading to relay not responding

Powering multiple relays from Arduino 5V line without external supply causing resets

Frequently Asked Questions

Q1: Can I control more than 2 devices? A: Yes, use a multi-channel relay module and extend the code to match additional commands.

Q2: Can I use this system with a home fan? A: Yes, ensure the relay rating matches the fan’s voltage and current requirements.

Q3: Is HC-06 different from HC-05? A: HC-06 is slave-only, HC-05 can act as master or slave. For simple control, either works.

Q4: Can this project be integrated with voice commands? A: Yes, by using a smartphone app or additional voice recognition modules that send Bluetooth commands.

Conclusion

The Arduino UNO Bluetooth home automation system is a simple, practical project for wireless control of home devices.

It teaches key concepts such as serial communication, relay switching, and smartphone interface with Arduino.

This project can be expanded to include sensors, timers, or IoT integration for a complete smart home solution.

Building this system provides practical experience in electronics, wireless communication, and home automation for beginners.