DIY Bluetooth Home Automation


Interested in a bit of home automation? Don’t know where to start? We just found a great Instructable on making your own bluetooth controlled relay module!

[Kyle’s] been working on this for a while, and finally at his 5th iteration he’s ready to share it with the public. It’s a project you can make from scratch, and each unit will cost approximately ~$25 in components — which can control up to two outputs. He’s included an inkscape PCB layout which you can easily etch on your own using the toner transfer method. The heart of the build is an Atmega328, which helps keep the costs down — after all, it is only controlling two outputs! Then it’s just a matter of adding the components, a bit of soldering, and uploading the firmware! 

The entire design is open source, and [Kyle] would love some feedback to continue improving upon it. The write-up is quite thorough, so if you’re interested, take a look and leave him a comment!

20 thoughts on “DIY Bluetooth Home Automation

    1. Perhaps connect their audio output to a DTMF decoder chip, then use the tones from your mobile phone to control it. On my Bluetooth earpieces you can hear DTMF when you dial a number. You’d just have to dial, then cancel the call each time. Bit cheap and nasty but it’s a hack!

      There’s a Bluetooth walkie-talkie profile, but not much that implements it. You can get apps for Android that do the same thing, your friend can connect a headset to your phone and you can talk over the distance it’ll work over. That might help, or maybe you could write your own app, if you know how to.

  1. I’ve been playing around with the idea of BT based Home Automation myself.
    I built a proof-of-concept Bluetooth to IR device (NEC protocol) to control RGB LED’s using a Arduino Mini pro clone and an “HC-05” BT controller (less than <$10USD in parts) If you stack the boards you can get a pretty small footprint.

    I was thinking about using a cheap Android device as the WIFI enabled heart of the system, allowing remote and iPhone access (since iPhone's wont talk to BT SPP devices)
    The main issue am wondering about is how to connect to many bluetooth devices can be connected to a single Andriod device, since I only have a single BT module at this stage.

    1. My advice ?? forget about bluetooth. For this application you might as well use RF modules from HopeRF. They are like 4$ a piece or so and support different topologies (including meshed). One/main node in your network can have a bluetooth module and/or ethernet/wifi. Though once you have an ethernet module you can already access it from your phone (via your home’s wifi router) so what’s the point to use bluetooth ??
      Just get rid of it.

      Want a simple way to write apps for andoird ?? Use appinventor I’ve been using it for a while and I can now say it’s very useful. Certainly not as limited as it seems at first. Ohh and by using TCP/IP you can easily control your project from a browser, PHP, iPhone etc. so it makes it more versatile.

      Anyway here’s my video that you might find helpful.
      I discuss there the project, how to write apps in app inventor and the app itself in more details. It should make it easier and speed up the process of writing your own tailored to your needs. Ohh and you can download the source file for it too – IIRC there is a link in the video description

      1. I was thinking the same thing but using NordicSemi stuff like this
        It is an SOC so you have the radio and cpu on a single chip. 2.4mhz and bluetooth are too short ranged IMHO. As far as linking it to the network that is is easy. A Pi, BeagleBone, or a TLink router running Linux would work. The Pi and the Bone would both also work well as controllers. Of course so would a SteamBox or an XBox.

        1. Looks like I was heading in the right direction (away from BT) as I wa already considering NRF24 modules that are selling for $1 a pop in quantities of 10 or more.

          Kerimil, I have already found App Inventor files that someone write for BT control / remotes. My main idea of using BT was for wireless nodes that not convenient to be hardwired.

      2. I suspect the bluetooth was used because it’s relatively ubiquitous amongst connected devices, so you can just use your phone, laptop, tablet to control it without the need for a static arm unit like the pi/beagle.

        1. Got an ethernet module based on ENC28j60 chip for like 5$ – so dirt cheap and as cheap as the cheapest bluetooth modules. Ohh and Bluetooth isn’t as ubiquitous as you think and what’s worse you need a custom app to use it on a phone, another program for a PC and so on. In contrast all devices have a browser so you can use HTML to create a very basic webpage to act as a user interface – and that’s sure to be compatible with all of devices

        2. The problem with bluetooth or the devices I have dealt with is they only pair to a single device like a smartphone. Some will pair with two. So do you pair it with your tablet, smartphone, computer, your spouses cell, tablet, smartphone. Even using bluetooth I would think you would want a central controller.

          1. Good, good point. Once the initial pairing is done, your phone or tablet or whatever will remember the devices it’s connected to in the past, and it’s usually just a couple of touches to connect or disconnect afterward. But it means that only one device can be connected to a Bluetooth device at a time.

            I suppose you could use very short transactions; pair, send command, get result, unpair. It’d need all custom apps on both sides. Then if two phones wanted to control something, they’d just have to wait a second or two for their turn.

            Bluetooth is designed around the idea of replacing wires, one-to-one connections for minutes / hours at a time. Establishing connection takes a few seconds too. You can always work round it, but it might not be the best for home automation. Maybe sending X-10 across those Nordic radios, or making up your own simple protocol.

            Have you seen those remote-control mains sockets? I use these at home, sure you can get them in 120v too.


            They use a relay and some cheap radio receiver. Very cheap, you can get a 3-pack for 10 pounds in a supermarket. A bit of analysis on their protocol, you could try extending it. There’s 4 channels but the remotes have different code IDs, so technically there’s lots more channels. At it’s most basic you could just bridge the buttons on the existing controller, but maybe somebody’s looked into hacking them? They’re very cheap, I wouldn’t be surprised.

          2. Bad form to follow myself up, but…


            Some chap’s done it! Just using a standard 433MHz receiver plugged into a Raspberry Pi to pick up and store the signals. Then a bit of brain work, and a 433MHz transmitter to send them back out from the Pi. So for 5 quid worth (which is a bargain, admittedly) of sockets, and a couple of quid for the TX / RX pair, he’s solved the problem really well!


            A few more people here have tried the same things. The cheap I mention is in the UK, I haven’t been able to find the exact same sockets available for 120v. But I’d bet they’re mostly the same inside. This would be a really cheap way of doing this, and requires no messing about with the mains at all! It’s all done with ready-made shop-bought units.

            My sockets are programmable, at plug-in they ask for a button on the remote to be held down. 2 different remotes I have won’t both switch the sockets, the sockets only respond to the remote they were programmed with. So the remotes have ID codes. So you could have quite a few of these. You could also put simple repeaters around the house, all transmitting the same thing with the little TX units.

            These sockets have only been around a couple of years, but they’re everywhere now, and they’re so CHEAP I can really imagine them revolutionising home automation. Especially with the 433MHz TXs for a couple of quid each!

    1. I look at it two ways: If you’re going to make a bunch of these and switching mains while communicating via Bluetooth is all they do then you can certainly get away with an 8-pin micro. You need two pins for serial with the BT and then one pin for switching the relay.

      But, if you might add in sensors or control of low-voltage items you’ll kick yourself later for being “pin-cheap”.

    1. You do not need home automation anymore than you need the internet. People lived just fine without for many years.
      Here some things you might want.
      1. Unlock your house buy just touching the door handle so you do not have to fiddle with keys like a lot of cars already do.
      2. Coming home at night and having your lights turn on for you instead of looking for a light switch.
      3. Checking to see if you remembered to lock your door from your office.
      4. Turning on you washing machine on your way home from work so that the clothes will be ready for the dryer when you get home.
      5. Having the dryer tell your smartphone or tv when it is done with the cloths.
      These are all “nice to have” but then many things are nice to have.

      1. #3 — This is huge piece of mind. That an garage door status are very popular hacks. I don’t even need to automate the locks, just to be able to check and see if I actually closed the garage door, or locked the back door after letting the dog out.

  2. Hello, I created this with the intent that it was easy to build, easy to program for, and relatively cheap as well, and still reserving the option for further modification based on 5 exposed digital io pins accessible through a header that can be added later to the board by simply soldering it in place. thank you for your input everybody and these additions will be considered in future variants. this project will soon be on kickstarter if you are interested in furthering the development to a much more practical wireless technology. oh also, a great big thanks to James Hobson for getting the word out.

  3. The problem with bluetooth automation is that you can only have a small number of nodes…

    If you don’t care about the extremely small size and for a bit of extra cost, a openwrt compatible router is better. For example a cheap tl-wr740 has quite a few I/Os (connected to the LEDs) that can be used to control relays/read sensors. The power supply is also over sized so you can actually drive a few things from it as well. The router can also serve you a webpage which controls the things connected.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.