Introduction: Home Automation Using Arduino and Bluetooth

The “Home Automation System”(HAS) concept has existed for many years. The terms “Smart Home”, “Intelligent Home” followed and has been used to introduce the concept of networking appliances and devices in the house

Home automation system is a process of automating basic household or housework activity like control of lighting, High Voltage Alternating Current (HVAC) appliances, security locks doors based on user command. HASs becoming popular nowadays and enter quickly in this emerging market. However, end users, especially the disabled and elderly due to their complexity and cost, do not always accept these systems. Smart home automation system senses the physical parameter like temperature ambient light and adapts to the environment which aims to improve convenience, comfort, energy efficiency and security. Due to the advancement of wireless technology, there are several different of connections are introduced such as Bluetooth GSM, WIFI and ZIGBEE. Each of the connection has their own unique specifications and applications. Among the four popular wireless connections that often implemented in HAS project, Bluetooth is being chosen with its suitable capability

Step 1:

Step 2:

Step 3: Programming Code

#include // import

the serial library

SoftwareSerial NVB(10, 11); // RX, TX

int ledpin1=13; // led1 on D13 will show blink on / off

int ledpin2=12; // led2 on D12 will show blink on / off

int fanpin1=9; // fan1 on D11 will show blink on / off

int fanpin2=8; // fan2 on D10 will show blink on / off

int BluetoothData; // the data given from Computer

void setup() {

// put your setup code here, to run once:


NVB.println("Bluetooth On please press 1 or a blink LED 1 ..");


NVB.println("Bluetooth On please press 2 or b blink LED 2 ..");


NVB.println("Bluetooth On please press 3 or c TURN ON FAN 1 ..");


NVB.println("Bluetooth On please press 4 or d TURN ON FAN 1 ..");



void loop() {

// put your main code here, to run repeatedly:

if (NVB.available()){;

if(BluetoothData=='1'){ // if number 1 pressed ....


NVB.println("LED 1 On D13 ON ! ");


if (BluetoothData=='a'){// if number a pressed ....


NVB.println("LED 1 On D13 Off ! ");


if(BluetoothData=='2'){ // if number 2 pressed ....


NVB.println("LED 2 On D12 ON ! ");


if (BluetoothData=='b'){// if number b pressed ....


NVB.println("LED 2 On D12 Off ! ");


if(BluetoothData=='3'){ // if number 3 pressed ....


NVB.println("FAN 1 On D9 ON ! ");


if (BluetoothData=='c'){// if number c pressed ....


NVB.println("FAN 1 On D9 Off ! ");


if(BluetoothData=='4'){ // if number 4 pressed ....


NVB.println("FAN 2 On D8 ON ! ");


if (BluetoothData=='d'){// if number d pressed ....


NVB.println("FAN 2 On D8 Off ! ");



delay(100);// prepare for next data ...


Step 4:

Step 5:

Step 6:

Step 7:

Step 8:

Step 9:

Arduino All The Things! Contest

Participated in the
Arduino All The Things! Contest