Arduino Based Home Automation
Arduino Based Home Automation
Mrs. Sushma K H
Assistant Professor
Bachelor of Engineering
CERTIFICATE
Certified that the Mini Project Work titled ‘Arduino Based Home Automation’ is carried out
by Mr. Manoj M, USN: 4SU21EC043, Mr. Nishant Naik, USN: 4SU21EC053, Mr.
Nagaprasad AD Shetty, USN: 4SU21EC050, bonafide students of SDM Institute of
Technology, Ujire, in partial fulfilment for the award of the degree of Bachelor of Engineering in
Electronics and Communication Engineering of Visvesvaraya Technological University, Belagavi
during the year 2023-2024. It is certified that all the corrections/suggestions indicated for Internal
Assessment have been incorporated in the report deposited in the departmental library. The report
has been approved as it satisfies the academic requirements with respect to mini project work
prescribed for the said degree.
It is our pleasure to express our heartfelt thanks to Mrs. Sushma K H, Assistant Professor,
Department of Electronics and Communication Engineering, for her supervision and
guidance which enabled us to understand and develop this mini project.
We are indebted to Dr. Madhusudhana K, Head of the Department and Dr. Ashok Kumar T,
Principal, for their advice and suggestions at various stages of the work. We also extend our
heartfelt gratitude to Dr. Mohan Naik R and Mr. Mahesh D S, Mini Project Coordinators for
their assistance and the management of SDM Institute of Technology, Ujire, for providing
us with a good learning environment, library and laboratory facilities.
Lastly, we take this opportunity to offer our regards to all of those who have supported us
directly or indirectly in the successful completion of this mini project work.
Manoj M
Nishant Naik
Nagaprasad AD Shetty
i
Abstract
ii
Table of Contents
Page No.
Acknowledgement ⅰ
Abstract ⅱ
Table of Contents ⅲ
List of Figures ⅳ
Chapter 1 Introduction 1
Chapter 2 Literature review 2
2.1 General Introduction 2
2.2 Literature Survey 2
2.3 Summary 3
Chapter 3 Problem Statement and Objectives 4
3.1 Problem Statement 4
3.2 Objective 4
Chapter 4 System Requirements 5
4.1 Hardware Requirements 5
4.2 Software Requirements 9
4.3 Block Diagram 11
Chapter 5 Methodology and Implementation 12
5.1 Methodology 12
5.2 Implementation 14
5.3 Working 16
Chapter 6 Results and Analysis 18
6.1 Results 18
6.2 Analysis 19
Conclusion 20
References 21
Appendix A 22
Appendix B 23
Personal Profile 25
iii
List of Figures
Page No.
Figure 4.1 Arduino Uno 5
Figure 4.2 HC-05 Bluetooth Module 6
Figure 4.3 4 Channel relay module 7
Figure 4.4 Internal circuit diagram for 4-channel relay 8
module
Figure 4.5 Arduino BlueControl Application 9
Figure 4.6 Application Interface 10
Figure 4.7 Block Diagram 11
Figure 5.1 Circuit Diagram 14
Figure 5.2 Build circuit 17
Figure 6.1 Final product 19
iv
Chapter 1
Introduction
This innovative setup uses an Arduino microcontroller as its brain, coordinating the actions of
connected devices. By integrating an HC-05 Bluetooth module, the system facilitates seamless
communication between the Arduino and the user's smartphone, providing a straightforward and
reliable method to control various household appliances. Whether turning on the lights or
adjusting the fan speed, this system offers a practical and efficient solution for everyday home
management.
In addition to its core components, the system incorporates a relay module, which plays a crucial
role in switching appliances on and off. This module acts as an intermediary, receiving signals
from the Arduino to control the power state of connected devices. With the capability to handle
multiple appliances simultaneously, the relay module ensures that users can automate their entire
home environment with minimal effort. The use of Bluetooth technology allows for real-time
commands and feedback, making it possible to adjust settings instantly and monitor the status
of devices from anywhere within the Bluetooth range.
The Arduino BlueControl App, a key element of the system, provides a user-friendly interface
for managing home automation. This mobile application is designed to offer intuitive controls,
enabling users to interact with their home appliances through simple taps and swipes. Features
such as device scheduling, real-time status updates, and customizable settings ensure that the
system can be tailored to meet individual preferences and requirements. By integrating these
advanced functionalities, the Arduino-based Home Automation system not only enhances
convenience and efficiency but also contributes to a more comfortable and responsive living
environment.
1
Chapter 2
Literature Review
Kumar and Verma (2018) delve into the utilization of Bluetooth technology, specifically
focusing on the HC-05 module, for home automation purposes. Their study underscores the
potential of Bluetooth to facilitate remote control of home appliances via smartphones. By
integrating the HC-05 Bluetooth module with an Arduino controller, users can efficiently
manage devices such as lights and fans. This integration enhances the functionality and
accessibility of home automation systems, offering a straightforward and effective method
for users to control their home environment from a distance. The study emphasizes the ease
of implementation and cost-effectiveness of using Bluetooth technology in creating user-
friendly home automation solutions.
Singh and Gupta (2019) provide an in-depth analysis of the application of Arduino
microcontrollers, such as the Arduino Uno and Nano, in smart home solutions. Their
research highlights the versatility and benefits of using Arduino platforms to develop
customizable automation solutions. Arduino-based systems can control various appliances,
automate routine tasks, and interface seamlessly with mobile applications, significantly
improving the efficiency of home management. The study showcases how the open-source
nature of Arduino platforms allows for extensive customization, enabling users to tailor
their home automation systems to meet specific needs and preferences. This adaptability
2
makes Arduino a preferred choice for developing smart home solutions that are both
functional and innovative.
Patel and Shah (2020) investigate the critical role of relay modules in the realm of home
automation, particularly their application in controlling high-power appliances. Their study
demonstrates how relay modules, when integrated with Arduino microcontrollers, enable
reliable and safe switching of devices such as lights, fans, and other household electronics.
The integration of relay modules is crucial for ensuring effective control and safety in home
automation systems. By providing a mechanism to handle high-power appliances, relay
modules enhance the overall performance and reliability of home automation setups. The
research highlights the importance of this integration in creating systems that are not only
efficient but also secure and robust.
Ahmed and Farooq (2020) examine the integration of voice recognition technology with
Arduino-based home automation systems. Their study demonstrates how voice commands
can be used to control various home appliances, providing an intuitive and hands-free
method of interaction. By integrating voice recognition modules with Arduino controllers,
users can easily manage their home environment through spoken commands. This research
highlights the potential of voice-controlled home automation to enhance accessibility and
convenience, particularly for individuals with mobility challenges.
Lee and Park (2019) explore the design and implementation of energy-efficient home
automation systems using Arduino microcontrollers. Their study focuses on how these
systems can optimize energy consumption by automating the control of lighting, heating,
and cooling based on occupancy and environmental conditions. The research shows that by
using sensors and intelligent algorithms, Arduino-based home automation systems can
significantly reduce energy usage and lower utility bills. This approach not only enhances
the efficiency of home management but also contributes to sustainability efforts.
3
Chapter 3
3.2 Objective
• Simplify Setup and Integration: Use Arduino Uno or Nano and relay modules to create
a straightforward, easy-to-install home automation system that integrates seamlessly
with existing home appliances.
• Reduce Implementation Costs: Provide an affordable home automation solution using
readily available components and open-source tools, reducing the overall cost of
implementation
• Enhance Customization: Utilize Arduino BlueControl App to develop a user friendly
mobile application that allows for extensive customization and control of home
automation features, meeting individual user preferences and requirements.
4
Chapter 4
System Requirements
The Arduino Uno is a widely used microcontroller board developed by Arduino.cc, known
for its accessibility and versatility in electronics projects. It features an ATmega328P
microcontroller running at 16 MHz and includes 14 digital I/O pins, 6 analog input pins,
and 32 KB of flash memory for storing code. The board provides 2 KB of SRAM and 1 KB
of EEPROM for data storage. The Arduino Uno supports various communication interfaces,
including UART, SPI, and I2C, and has built-in PWM and analog output capabilities. It
operates with a 5V power supply and can be powered through USB or an external power
source. The board’s simplicity and extensive library support make it ideal for a wide range
of applications, from basic electronics projects to more complex automation and control
systemsdevelopment platforms available for programming the ESP8266. You can use the
Arduino IDE, Micro Python, Espruino, Espressif SDK, or one of the platforms.
5
HC-05 Bluetooth Module
The HC-05 Bluetooth module is a versatile wireless communication device widely used in
applications such as home automation, robotics, and wireless data transmission. Supporting
the Bluetooth Serial Port Protocol (SPP), it enables seamless communication with
Bluetooth-enabled devices like smartphones and computers. Operating on a 3.3V logic level
and equipped with a built-in transceiver, the HC-05 can be configured as both a master and
slave, enhancing its flexibility for various project requirements. Its impressive range of up
to 100 meters in open environments makes it ideal for applications needing extensive
coverage. The module's ease of integration, coupled with low power consumption, ensures
efficient and prolonged usage, especially in battery-powered projects. Additionally,
advanced features such as pairing and data rate adjustments enable users to fine-tune
performance, ensuring reliable and optimized data transfer. These attributes make the HC-
05 a popular choice for developers and hobbyists seeking a dependable and adaptable
wireless communication solution.. This process is known as Trilateration
6
4 Channel Relay Module
The magnetic 4-channel relay is a specialized component designed to control multiple high-
power devices through electromagnetic relays. Each of the four channels on the module
features a relay capable of handling significant current and voltage loads, making it suitable
for switching home appliances, industrial equipment, or other high-power systems. The use
of magnetic relays enhances reliability and longevity due to their robust construction and
ability to withstand high inrush currents.
Equipped with clearly labeled VCC, GND, and IN (input) pins, the magnetic 4-channel relay
module integrates seamlessly with microcontrollers such as Arduino, Raspberry Pi, and other
development boards. Each relay channel provides Normally Open (NO) and Normally Closed
(NC) terminals, offering flexible switching options. The module operates at a standard 5V
DC, ensuring compatibility with most microcontrollers and delivering reliable switching
performance.
One of the key features of the magnetic 4-channel relay module is its use of optocouplers for
each relay channel. These optocouplers provide electrical isolation between the low-power
control circuitry and the high-power load, enhancing safety and protecting the
microcontroller from voltage spikes or surges. Each relay can switch loads up to 10A at
7
250VAC or 30VDC, making it versatile for a wide range of applications, from lighting and
heating systems to motor control.
The module typically includes indicator LEDs for each relay channel, which light up when the
corresponding relay is activated. This visual feedback is useful for development and
troubleshooting, allowing users to quickly verify the operation of each relay. The compact
design of the magnetic 4-channel relay module makes it easy to incorporate into various projects
without requiring extensive space.
Furthermore, the module supports both active high and active low signals for relay activation,
offering greater flexibility in interfacing with different types of microcontrollers and control
systems. This adaptability, combined with the module's durability and reliability, makes it an
excellent choice for both hobbyists and professionals looking to implement effective control
over multiple high-power devices in their projects.
8
4.2 Software Requirement
The Arduino BlueControl application is essential for home automation systems, allowing users
to control various devices via Bluetooth. This application serves as the interface between the
user and the Arduino-based system, enabling seamless interaction and control. The Arduino
BlueControl platform is designed to work with Arduino boards and Bluetooth modules, offering
an easy and efficient way to manage home automation tasks. The application allows users to
control lights, fans, and other appliances with a simple touch on their Android or iOS
smartphones. The interface is user-friendly, providing buttons for each connected device,
making it straightforward to operate multiple devices simultaneously.
The architecture of the Arduino BlueControl application includes the Arduino IDE for
programming, a Bluetooth module for communication, and the BlueControl app itself. The app
displays the status of connected devices, allowing users to turn devices on or off, adjust settings,
and monitor their performance in real-time. This system enhances convenience and efficiency
in home automation, making it a valuable tool for modern smart homes. The integration of the
Arduino IDE ensures that users can customize and program their devices to suit their specific
needs, while the Bluetooth module facilitates wireless communication between the devices and
the application.
9
In addition to controlling devices, the Arduino BlueControl application offers several advanced
features. Users can set up automated routines and schedules, ensuring that their home automation
system operates seamlessly without manual intervention. The application also supports voice
control through integration with virtual assistants like Google Assistant and Amazon Alexa,
providing an additional layer of convenience. Security is another critical aspect of the Arduino
BlueControl application, with encryption and secure connections ensuring that user data and
commands remain private and protected. This comprehensive approach to home automation
makes the Arduino BlueControl application a versatile and reliable solution for modern smart
homes.
10
4.3 Block Diagram
The prototype of the proposed Arduino-based home automation system is depicted in Figure 4.7
This system utilizes an Arduino Uno microcontroller, an HC-05 Bluetooth module, a 4 Channel
Relay Module, and the Arduino BlueControl mobile application to enable wireless control of
various home appliances. The mobile phone, equipped with the Arduino BlueControl app, serves
as the user interface, allowing users to send control commands via Bluetooth. The HC-05
Bluetooth module facilitates wireless communication between the mobile phone and the
Arduino Uno, which acts as the central microcontroller. Upon receiving commands from the
mobile phone, the Arduino Uno processes these commands and activates the corresponding
relays on the 4 Channel Relay Module to control high-power devices such as lights and fans.
Each relay can switch the connected devices on or off as instructed by the Arduino Uno. The
appliances (denoted as D1, D2, D3 in the diagram) are controlled through the relay module. The
entire system is powered by a 9V supply, with the relay module requiring an external 5V power
source. This setup effectively demonstrates how users can manage their home appliances
conveniently and efficiently through a user-friendly mobile application.
11
Chapter 5
5.1 Methodology
1.System Architecture
a. Core Components:
• Arduino Uno: Acts as the central microcontroller for the home automation system,
controlling connected devices.
• HC-05 Bluetooth Module: Enables wireless communication between the Arduino Uno and
the user's smartphone for controlling home appliances.
• Channel Relay Module: Allows the Arduino to control high-power devices like lights, ans,
and other household appliances by switching them on and off.
b. Communication Networks:
c. User Interfaces:
• Mobile Applications: The Arduino BlueControl application on the user's smartphone serves
as the interface for controlling various home devices. Users can turn devices on or off, adjust
settings, and monitor their status in real-time.
2. Data Collection
a. Real-Time Monitoring:
• Relay Status: The Arduino Uno monitors the status of the relays connected to the home
appliances, ensuring they respond accurately to user commands.
• Bluetooth Communication: Data on device status and user commands are transmitted from
the Arduino Uno to the user's smartphone via the HC-05 Bluetooth module.
3. Data Transmission
• Data related to the status of home appliances and user commands are transmitted to the user's
smartphone through the HC-05 Bluetooth module. This system ensures data integrity and
security through the Bluetooth communication protocol, safeguarding user commands and
12
appliance statuses.
13
5.2 Implementation:
1. Setting up Arduino IoT Cloud
• Install the Arduino BlueControl App: Download and install the Arduino
BlueControl Application from the app store on your smartphone.
• Pair the Bluetooth Module: Pair your HC-05 Bluetooth Module with your
smartphone via Bluetooth settings.
2. Configure the Application: Open the Arduino BlueControl Application and configure
it to communicate with the HC-05 module.
• Components:
i. Arduino Uno
• Wiring Diagram:
14
Bluetooth Module (HC-05) Connections:
• VCC to Arduino 5V
• GND to Arduino GND
• TX to Arduino RX (Pin 0)
• RX to Arduino TX (Pin 1)
Relay Module Connections:
• IN1 to Arduino Digital Pin 2
• IN2 to Arduino Digital Pin 3
• IN3 to Arduino Digital Pin 4
• IN4 to Arduino Digital Pin 5
• VCC to Arduino 5V
• GND to Arduino GND
Power Supply:
• Power the Arduino Uno using a suitable power supply (e.g., USB connection or
external adapter).
• Select the correct board (Arduino Uno) and port from the Arduino IDE.
• Upload the code to your Arduino Uno.
15
Control the Relays:
5.3 Working:
The initialization and setup phase of the Arduino-based home automation system is crucial for
configuring the necessary hardware and establishing communication protocols. The system
uses an Arduino Uno microcontroller as its central unit, connected to a 4-channel relay module
and an HC-05 Bluetooth module. The digital pins on the Arduino are configured as outputs to
control the relays, each corresponding to a different appliance, such as lights or fans. For
instance, if using pins D2 to D5, each pin controls one relay, allowing the Arduino to send a
HIGH or LOW signal to activate or deactivate the connected device.
The HC-05 Bluetooth module is connected to the Arduino using the Software Serial library,
which facilitates communication over specific pins designated for RX (receive) and TX
(transmit) functions. This setup allows the Arduino to communicate wirelessly with the user's
smartphone, receiving commands to control the home appliances. The communication is
initialized at a standard baud rate of 9600 bps, ensuring reliable data transfer between the
devices. Additionally, the main serial port is used for debugging purposes, providing a way to
monitor the system's operation and troubleshoot any issues that arise. During the setup phase,
the Arduino initializes the serial communication for both the Bluetooth module and the main
serial port, and sets the necessary pin modes for the relay control, preparing the system for real-
time operation.
The user interface for the home automation system is facilitated through the Arduino Blue
Control application, which runs on the user's smartphone. This application acts as a bridge
between the user and the Arduino, providing a graphical user interface (GUI) to control and
monitor connected appliances. The app features intuitive controls, such as buttons or switches,
that allow users to easily turn devices on or off. Real-time feedback is a key feature of the
system, as the application displays the current status of each relay, indicating whether a
particular appliance is active or inactive. This immediate visual confirmation enhances the user
experience by providing clear, actionable information about the state of their home
16
environment.
The application not only simplifies the control process but also serves as a diagnostic tool.
Through the serial monitor feature in the Arduino IDE, users can observe the commands being
sent from the smartphone to the Arduino and verify that the system is responding correctly.
This is particularly useful for debugging and ensuring that the hardware and software are
working in harmony. The serial monitor displays detailed logs of the incoming commands and
the system's responses, allowing users and developers to identify and address any discrepancies
or issues.
In the main loop, the program continuously checks for incoming data from the HC-05 Bluetooth
module. When a command is received, it is read and processed to control the relays. Each relay
corresponds to a different digital pin on the Arduino, allowing the user to turn on or off the
connected appliances. The program includes conditions to check the received command and
performs the appropriate action, such as turning on or off a specific relay. The current status of
the relays can also be monitored via the serial monitor for debugging purposes.
17
Chapter 6
6.1 Results
The implementation of an Arduino-based home automation system using an Arduino Uno, HC-
05 Bluetooth module, channel relay module, and the Arduino BlueControl application has
demonstrated significant enhancements in home automation efficiency and user convenience.
The system enables remote control of various household appliances via a userfriendly mobile
application, providing an effective and intuitive way for users to manage their home
environments.
Enhanced Control and Flexibility: Users can control multiple home appliances such as lights,
fans, and other electrical devices directly from their smartphones using the Arduino BlueControl
application. This capability reduces the need for physical interaction with switches and offers
the convenience of managing devices from any location within Bluetooth range.
2. Ease of Installation and Use: The system utilizes the HC-05 Bluetooth module for wireless
communication between the Arduino Uno and the user’s smartphone. The installation process
is straightforward, making it accessible even to individuals with limited technical expertise. The
channel relay module reliably controls high-power devices, ensuring compatibility with various
household appliances.
4. Real-Time Control and Feedback: The system provides real-time control of appliances with
minimal latency due to the efficient Bluetooth communication protocol. Users receive
immediate feedback on the status of their devices, enhancing the overall user experience. The
Arduino BlueControl application offers a user-friendly interface, displaying the current state of
connected devices and allowing for quick and easy 15 adjustments.
18
5. Improved Energy Management: By enabling precise control over home appliances, the
system aids in better energy management. Users can easily turn off devices that are not in use,
potentially leading to energy savings and reduced utility bills. The convenience of remote control
encourages more mindful usage of electrical devices. 6. Scalability and Customization: The
system is highly scalable and can be customized to meet specific user needs. Additional relays
can be added to control more devices, and the Arduino sketch can be modified to include
advanced features such as scheduling and automation based on predefined conditions. This
flexibility ensures that the system can grow and adapt to changing requirements.
19
Conclusion
The Arduino-based home automation system project successfully demonstrates how simple and
accessible technology can significantly enhance home management. By utilizing an Arduino
Uno, HC-05 Bluetooth module, channel relay module, and the Arduino BlueControl application,
the system provides users with convenient and efficient control over household appliances. This
remote-control capability, facilitated through a user-friendly mobile application, offers a
practical solution for managing home environments.
Future Directions:
20
References
[1] Designing and Implementation of Home Automation System Based on Remote Sensing
Technique with Arduino Uno Microcontroller. (2018, August 30). IEEE Conference
Publication | IEEE Xplore.
https://ieeexplore.ieee.org/document/8447984
[2] A Bluetooth based sophisticated home automation system using smartphone. (2017,
February 23). IEEE Conference Publication | IEEE Xplore.
https://ieeexplore.ieee.org/document/7859709
[4] A review of smart home applications based on Internet of Things by Mussab Alaa and
A.A. Zaidan | ScienceDirect.
https://doi.org/10.1016/j.jnca.2017.08.017
21
Appendix A
SOURCE CODE
char val;
void setup() {
pinMode(8, OUTPUT); // Set pin 8 as an output for Relay 1
pinMode(9, OUTPUT); // Set pin 9 as an output for Relay 2
pinMode(10, OUTPUT); // Set pin 10 as an output for Relay 3
Serial.begin(9600); // Begin serial communication at 9600 baud
// Initialize all relays to be off
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
}
void loop() {
if (Serial.available()) {
val = Serial.read(); // Read the incoming byte
Serial.println(val); // Print the received value to the serial monitor
if (val == '1') {
digitalWrite(8, LOW); // Turn Relay 1 on
} else if (val == '2') {
digitalWrite(8, HIGH); // Turn Relay 1 off
} else if (val == '3') {
digitalWrite(9, LOW); // Turn Relay 2 on
} else if (val == '4') {
digitalWrite(9, HIGH); // Turn Relay 2 off
} else if (val == '5') {
digitalWrite(10, LOW); // Turn Relay 3 on
} else if (val == '6') {
digitalWrite(10, HIGH); // Turn Relay 3 off
}}}
22
Appendix B
Data Sheet of Arduino Uno:
ANALOG
DIGITAL
Pin Function Type Description
1 D0 Digital/GPIO Digital pin 0/GPIO
2 D1 Digital/GPIO Digital pin 1/GPIO
3 D2 Digital/GPIO Digital pin 2/GPIO
4 D3 Digital/GPIO Digital pin 3/GPIO
5 D4 Digital/GPIO Digital pin 4/GPIO
6 D5 Digital/GPIO Digital pin 5/GPIO
7 D6 Digital/GPIO Digital pin 6/GPIO
8 D7 Digital/GPIO Digital pin 7/GPIO
9 D8 Digital/GPIO Digital pin 8/GPIO
10 D9 Digital/GPIO Digital pin 9/GPIO
11 SS Digital SPI Chip Select
12 MOSI Digital SPI1 Main Out Secondary In
13 MISO Digital SPI Main In Secondary Out
14 SCK Digital SPI serial clock output
15 GND Power Ground
16 AREF Digital Analog reference voltage
17 A4/SD4 Digital Analog input 4/I2C Data line (duplicated)
18 A5/SD5 Digital Analog input 5/I2C Clock line (duplicated)
23
Data Sheet of HC-05 Bluetooth module
24
Personal Profile
NAME: NAGAPRASAD AD
USN No: 4SU21EC050
E-Mail id: [email protected]
Mobile no: 6363512743
Address: Sadhunavar Estate, opp UAS,
Dharwad
NAME: MANOJ M
USN No: 4SU21EC043
E-Mail id: [email protected]
Mobile no: 9353493657
Address: cs.road, Kundapura, Udupi.
25
26