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
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.