Internet Devices for Home Automation using Arduino

This instructable shows the principles involved in making devices to control home automation over the internet. We’re going to construct a device (or several of them), that talk to each other over the internet to control lights, motors for curtains/blinds, power sockets etc.
Internet Devices

In contrast to devices controlled from a web browser or phone, these are designed to be simple, Arduino based devices that are capable of talking to each other bi-directionally. They may be in the same house or in different buildings and may have one way communication (e.g. a light switch and light) or two way (e.g. an automation controller).

It’s possible to have local Device/Relay combinations to control Mains socket power to TVs, Computers etc..

Also you could see this working in building control. Commercial examples that work over local or proprietary interfaces are : Clipsal C-Bus, X10, Bus-SCS.

The Picture shows an example of what we’re trying to achieve using the commercial C-Bus devices as an example.
( But in our case the C-Bus is replaced by the Internet or a Local Network.

Practically speaking, it would make most sense to have one device per room with several switches, sensors and possibly low-voltage motors wired into it, and one device at the distribution board controlling relays or dimmers.

A major factor in Energy Waste is having Lights on too brightly during periods when a room is adequately lit from Natural Light. Adding a Light Sensor Device in a Room with a Dimmable Light Device significantly increases Energy Efficiency by controlling the Room Light in response to the sensed light in the room.

By the way. If you like this Instructable, you might also like:
Digital Thermometer for your Home:
Make your own “Wii-Remote” like control of a PC Flight Simulator

Step 2: Prototyping the Arduino Internet Device

We’ll be concentrating on the principles of the Device itself.

To do that we’ll be prototyping it with LEDs and Switches. Once the Arduinos are talking and controlling LEDs, making it work with Mains Relay shields and motor shields is straight forward.

We’re going to construct a device with switches and LEDs, and we’ll connect 2 of them over Ethernet. That way we’ll be protoyping both the Switch function and the Light Control function at the same time and demonstrating bi-directional comm’s.

For many Devices we should connect them via a Router. If we only have 2 devices (as we do here) then we can connect them to each other. The Ethernet IC takes care of the required Crossover.

We need to give some thought to how one device knows the address of the device it wants to communicate with.
Schematic Internet Devices
Here’s how we’ll approach it:

Each Device has its own static-IP address. Each Device “knows” which device it wants to talk to. Therefore we can hard-code the Static-IP address of the destination device in the Arduino Code of the Transmitting Device. Not the most elegant solution. But completely practical.

Step 3: Connect the Circuit

Build an example Device as shown in the diagrams. In fact, build two of them. We’ll need one to talk to the other.

Each Device consists of:
1. An Arduino (Uno)
2. An Ethernet Shield
3. An LED and Resistor to represent an Output Light.
4. Two Switches to represent an ON/OFF  Switch panel or UP/DN Dimmer (for example).

Once you’ve built them plug both into your PC USB for programming.

Plug an Ethernet cable from Device 1 to Device 2 (the crossover is taken care of in the Ethernet Shield).

Major Components in Project

For each Device you will need:
* An Arduino (Uno)
* An Ethernet shield (or Wifi)

To prototype:
* A breadboard
* Some LEDs, Wires and Switches

For Mains Control:
* A Mains Relay Arduino Shield (e.g.

We won’t be covering the Mains Control because it’s covered in lots of  tutorials and there are a lot of shields available

For more detail: Internet Devices for Home Automation using Arduino

We recommend EasyEDA for electronic circuit design.
From Schematic Drawing to PCB Production, Just Need One Tool
Cheap PCB Prototype: 10 pcs 2 layers only $10, quick delivery, 100% E-test

Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Arduino powered Solar Battery Charger

The following design is for a Solar battery charger ran by an Arduino Nano. It can handle a standard lead...

Scroll to top