What I learnt from building my own low-cost smart home system
Over the last year, we’ve been living the future of home automation in our household. It all started last Christmas, when I bought one of these remote-controlled sockets so I can easily switch on and off the christmas tree lights.
I quickly found out that a few people had already reversed-engineered the wireless signals used by this socket/remote control combination and had already created libraries to send signals through an Arduino or Raspberry Pi.
I had a Raspberry Pi lying around (cost ~£20), so all I had to do was to plug in a cheap 433MHz transmitter module (cost less than £5) and I was able to switch plugs on and off in no time. I used the Raspberry Pi to expose a web-based API and based on this built a small iPhone app that can send on/off commands to all wireless sockets:
Having lived with this setup and used it daily for more than a year, I have a few bits of advice for anyone planning or building Internet of Things & Connected Home products:
1. You need to have a backup option
It’s a lot of fun to switch things on/off through an app, but what happens in the following scenarios?
- Your phone or smartwatch is out of battery
- Your WiFi goes down
- You have guests in the house who don’t have your Smart Home app installed
- Your phone is in another room and you don’t want to go fetch it just to switch on a light
In my case, all the sockets work perfectly well with their original remote control, and the “smart home” element is just an enhancement. So none of the above scenarios will cause a disaster.
Compare this with other smart home solutions that depend on WiFi or other connectivity. Do you really want to leave your lightbulbs to update for 30 minutes?
2. It must be easier than pressing a switch on the wall
If your smart home app always takes longer to find and launch on someone’s phone than to find and use a physical remote control (or to get up and press a switch on the wall), the benefit of using it is minimal or non-existent.
For my own system, I’ve made the Raspberry Pi also behave like an iBeacon, and made the iPhone app monitor for the presence of that iBeacon. This means that when I’m home iOS puts shortcuts for my app on the lock screen and app switcher:
Even then, it’s still quicker sometimes to use the “backup” remote than take out my phone.
Other strategies for quick access include:
- Using Siri & HomeKit (Apple doesn’t freely share the specs you need to implement this 😞 and voice isn’t always the easiest or quickest option)
- Creating a Today Widget (easily accessible by swiping down from the top of the screen)
3. Find new things to automate, not existing ones
Traditionally, many smart home solutions focused on adding automations to things that already exist in a home, for example the existing light switches & fittings.
I’m currently in a rented flat so making big changes to the electrics was out of the question, but I found 2 interesting use cases:
- Switching on my espresso machine to warm up while I’m still in bed (or somewhere else in the house)
- Adding accent or background lighting (mostly LED strips from IKEA) to places where it would be difficult to reach and switch on/off without some kind of remote control e.g. behind our bed headboard or behind the TV cabinet
I’m excited to see what the future of smart home will bring — and whether Apple’s HomeKit will gather enough traction to become a unifying layer for connected devices. At the same time it’s clear that there are still a few user experience kinks to iron out before it’s worth investing on £20/piece wireless lightbulbs. Until then, I think I’ll stick with my cheap home-brew “smart home” solution.