A low-cost, wireless home automation system using Arduino UNO and HC-05 Bluetooth module to control household appliances via a smartphone.
- Project Overview
- Block Diagram
- Components Used
- Circuit Connections
- Working Principle
- Features
- Arduino Code
- Bluetooth Commands
- How to Use
- Project Structure
- Future Scope
- Applications
- Resume Summary
- License
This mini project demonstrates wireless control of home appliances using the Bluetooth protocol. A smartphone communicates with an HC-05 Bluetooth module interfaced with an Arduino UNO microcontroller. Based on the received character commands, the Arduino toggles a 4-channel relay module that switches connected electrical appliances (bulbs, fans, etc.) ON or OFF.
This project is designed to be affordable, scalable, and easy to implement, making it an ideal starting point for home automation using embedded systems.
| Parameter | Details |
|---|---|
| Microcontroller | Arduino UNO (ATmega328P) |
| Communication | Bluetooth (HC-05 Module) |
| Control Unit | 4-Channel Relay Module (5V) |
| Frequency | 2.4 GHz ISM Band |
| Range | Up to 10 metres (Class 2) |
| Power Supply | 5V DC (via USB or adapter) |
| IDE | Arduino IDE 2.x |
| Language | C/C++ (Arduino Framework) |
+-------------+ Bluetooth +------------------+
| Smartphone | ββββββββββββββββββββββ> | HC-05 Module |
| (Control | (2.4 GHz) | (Slave Mode) |
| App) | +--------+---------+
+-------------+ |
UART (RX/TX)
|
+--------v---------+
| Arduino UNO |
| (ATmega328P) |
+--------+---------+
|
Digital Output Pins
______|_____|_____|______
| | | | |
Relay1 Relay2 Relay3 Relay4
| | | | |
Bulb1 Bulb2 Fan1 Fan2
| S.No | Component | Quantity | Approximate Cost (INR) |
|---|---|---|---|
| 1 | Arduino UNO (ATmega328P) | 1 | βΉ450 β βΉ600 |
| 2 | HC-05 Bluetooth Module | 1 | βΉ180 β βΉ250 |
| 3 | 4-Channel Relay Module (5V) | 1 | βΉ120 β βΉ180 |
| 4 | Bulbs / CFLs / Fans | 4 | βΉ80 β βΉ150 each |
| 5 | Jumper Wires (M-M, M-F) | 1 Set | βΉ50 β βΉ80 |
| 6 | Breadboard | 1 | βΉ60 β βΉ100 |
| 7 | USB Cable (Type-B) | 1 | βΉ50 β βΉ80 |
| 8 | 5V Power Supply / Adapter | 1 | βΉ100 β βΉ200 |
| Estimated Total | βΉ1,090 β βΉ1,640 |
| HC-05 Pin | Arduino Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| TXD | Pin 10 (RX) |
| RXD | Pin 11 (TX) |
β οΈ Note: HC-05 RXD operates at 3.3V logic. Use a voltage divider (1kΞ© + 2kΞ©) on the Arduino TX β HC-05 RX line to prevent module damage.
| Relay Pin | Arduino Pin |
|---|---|
| IN1 | Pin 2 |
| IN2 | Pin 3 |
| IN3 | Pin 4 |
| IN4 | Pin 5 |
| VCC | 5V |
| GND | GND |
The relay module is active-LOW. Sending
LOW(0V) to an IN pin energises the relay and closes the circuit.
- The smartphone runs a Bluetooth terminal application (e.g., Serial Bluetooth Terminal on Android).
- The app pairs with the HC-05 module (default PIN:
1234or0000). - Single-character commands are sent from the app to the HC-05 module over the 2.4 GHz ISM band.
- HC-05 forwards these commands to the Arduino via the UART serial interface (SoftwareSerial on pins 10 & 11).
- The Arduino reads the incoming character and toggles the corresponding relay channel.
- The relay acts as an electrically controlled switch, connecting or disconnecting the AC supply to the appliance.
- β Wireless control up to 10 metres range
- β Controls up to 4 independent appliances
- β Works with any Android Bluetooth terminal app
- β No internet or Wi-Fi required
- β Low-cost implementation (~βΉ1,200)
- β Status feedback via Serial Monitor
- β Easy to extend to 8-channel or 16-channel relay boards
- β Safe for 220V AC mains appliances through relay isolation
The main source code is located at code/smart_home_automation.ino.
Command mapping:
| Command Sent | Action |
|---|---|
1 |
Appliance 1 ON |
2 |
Appliance 2 ON |
3 |
Appliance 3 ON |
4 |
Appliance 4 ON |
5 |
Appliance 1 OFF |
6 |
Appliance 2 OFF |
7 |
Appliance 3 OFF |
8 |
Appliance 4 OFF |
A |
ALL Appliances ON |
Z |
ALL Appliances OFF |
Full command reference is available in code/bluetooth_commands.md.
- Assemble the circuit as per the wiring diagram in
circuit-diagram/wiring_connections.md. - Connect the relay module outputs to AC appliances through proper insulated wiring.
- Install Arduino IDE.
- Open
code/smart_home_automation.inoin Arduino IDE. - Connect Arduino UNO to your PC via USB.
- Select Board: Arduino UNO and correct COM Port.
- Click Upload.
- Power on the circuit.
- On your Android phone, go to Settings β Bluetooth β Scan.
- Pair with HC-05 (PIN:
1234).
- Open Serial Bluetooth Terminal (or any Bluetooth terminal app).
- Connect to HC-05.
- Send commands (
1β8,A,Z) to control appliances.
Bluetooth-Smart-Home-Automation/
β
βββ README.md β Project overview (this file)
βββ LICENSE β MIT License
β
βββ circuit-diagram/
β βββ circuit.png β Schematic diagram
β βββ block_diagram.png β System block diagram
β βββ wiring_connections.md β Detailed pin connections
β
βββ code/
β βββ smart_home_automation.ino β Main Arduino source code
β βββ bluetooth_commands.md β Command reference sheet
β βββ code_explanation.md β Line-by-line code walkthrough
β
βββ images/
β βββ setup.jpg β Hardware setup photo
β βββ working.jpg β Live working photo
β βββ components.jpg β All components laid out
β βββ output_demo.jpg β Output demonstration
β
βββ report/
β βββ mini_project_report.pdf β Full project report (B.Tech)
β
βββ docs/
β βββ abstract.md
β βββ introduction.md
β βββ objectives.md
β βββ methodology.md
β βββ working_principle.md
β βββ experimental_procedure.md
β βββ pin_configuration.md
β βββ components.md
β βββ advantages.md
β βββ applications.md
β βββ future_scope.md
β βββ conclusion.md
β
βββ videos/
β βββ demo_link.txt β Link to demo video
β
βββ requirements/
βββ required_components.txt β Bill of Materials
- π Wi-Fi Integration β Replace HC-05 with ESP8266/ESP32 for internet-based control
- π£οΈ Voice Control β Integrate Google Assistant or Amazon Alexa
- π± Custom Android App β Build a dedicated MIT App Inventor / Flutter control app
- π Energy Monitoring β Add ACS712 current sensor to track power consumption
- π Security β Add PIN-based authentication for Bluetooth pairing
- β° Scheduling β Add RTC module (DS3231) to automate appliance timers
- π‘οΈ Smart Sensing β Integrate PIR / temperature sensors for automatic control
- Residential home automation
- Hostel and dormitory room control
- Office lighting automation
- Industrial equipment switching (low-voltage signalling)
- Prototype for larger IoT-based smart systems
Bluetooth Based Smart Home Automation System | B.Tech Mini Project β ECE
Designed and implemented a wireless home automation system using Arduino UNO and HC-05 Bluetooth module. Interfaced a 4-channel relay module to control AC appliances via smartphone. Programmed in C/C++ using the Arduino framework with SoftwareSerial library. Demonstrated wireless communication over 2.4 GHz Bluetooth with a range of up to 10 metres.
Skills demonstrated: Embedded C, Arduino IDE, UART communication, relay interfacing, circuit design, hardware debugging
arduino bluetooth hc-05 relay home-automation embedded-systems
arduino-uno iot smart-home softwareserial ece-project btech-project
mini-project wireless-control uart c-cpp microcontroller
This project is licensed under the MIT License β see the LICENSE file for details.
B.Tech ECE Student
Department of Electronics and Communication Engineering
β If this project helped you, please give it a star on GitHub!