← All Projects

Bluetooth-Controlled Smart Home AC Hub

80 viewsMarch 12, 2026
ArduinoBluetoothHome AutomationRelayAC PowerSafety

A wireless AC appliance switching hub using an Arduino Uno and Bluetooth (HC-05/06). Safely bridge the gap between low-voltage DC signals and high-voltage AC power to control lights, fans, or heaters from your smartphone via a serial terminal app.

Components & Supplies

×1Arduino Uno R3
×1HC-05 Bluetooth Module
×12-Channel Relay Module (5V)
×13S 18650 Li-ion Battery Pack
×1LM2596 Buck Converter
×1AC Plug & Socket Connector

Circuit Connections

ComponentPinPinComponent
ArduinoD10 (RX)TXHC-05
ArduinoD11 (TX)RXHC-05
ArduinoD7IN1Relay Module
Relay ModuleCOMLiveAC Mains
Relay ModuleNOLiveLoad (Bulb)

The Concept

This project transforms an Arduino into a Bluetooth-enabled switch for mains appliances. It uses the HC-05 module to receive serial data from a mobile app. When specific characters are received (e.g., '1' or '0'), the Arduino triggers a logic signal to a Relay module, physically closing or opening the high-voltage AC circuit.

Emphasis is placed on power isolation and rugged power delivery using a 3S Li-ion battery stepped down for the Arduino.

Safety First

CAUTION: Working with 220V/110V AC power is extremely dangerous. Ensure all connections are insulated, use a proper enclosure, and always disconnect from the wall before modifying the circuit. Grounding is mandatory for metal surfaces.

arduinoBluetooth Relay Sketch
#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX, TX
const int relayPin = 7;

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // Relay is often Active LOW
  BTSerial.begin(9600);
  Serial.begin(9600);
}

void loop() {
  if (BTSerial.available()) {
    char data = BTSerial.read();
    if (data == '1') {
      digitalWrite(relayPin, LOW); // ON
      BTSerial.println("Light: ON");
    } else if (data == '0') {
      digitalWrite(relayPin, HIGH); // OFF
      BTSerial.println("Light: OFF");
    }
  }
}