I love playing around with new technologies. As a software developer with an interest in robotics, the pleasure of creating and working with both software and hardware is indescribable. My last project was therefore a dream come true when I used a smartwatch to control different devices in our home, including the television.
At home we currently use at least three different remotes when watching television. It results in a daily battle of finding the remotes, picking them up, and pressing some buttons on each of them, one at a time. A classic first world problem, I know. Instead of buying a universal remote controller I decided to build my own.
I got a Pebble Steel last Christmas and it quickly became a part of my daily life. I constantly receive email and text message notifications throughout the day. The ability to take a quick glance at my wrist instead of using my smartphone to check if it needs my attention immediately is priceless. The Pebble is always with me, and it’s always right there on my wrist. So, why not use the Pebble to handle the interaction with the television?
There are probably a myriad of different ways to turn a smartwatch into a remote control. Personally, I prefer to mostly use some of the stuff I have laying around and then include some new technology when starting a project. Infrared sensors and wireless communication between a Raspberry Pi and an Arduino became this projects biggest challenge, but the achievement was well worth it.
What’s needed? I ended up using the following devices and sensors for the Pebble remote: Pebble, iPhone, Raspberry Pi, Arduino, 433 MHz radio transmitter and receiver, IR transmitter and receiver, and some jump wires and resistors. Mix in some imagination and determination, and you’re all set!
I already had a Raspberry Pi mounted on the wall, running a Node.js server and displaying information like the weather and upcoming calendar events. A perfect device for communicating with the IR transmitting Arduino! The choice for communication between the Raspberry Pi and Arduino fell on 433 MHz radio signals. Why not use a Wi-Fi shield on the Arduino you may ask? Because I can! A perfect chance to try another communication protocol and learn something new.
The 433 MHz transmitter connected to the Raspberry Pi through GPIO pins is easily controlled through Python scripts or command line utilities. Node.js can handle both, so with a small REST API the transmitter could be controlled from any device connected to the local network. Now, any network request to the Raspberry Pi is forwarded to listening devices through radio signals. You can find an example of functional code here.
One of the great things with using the Raspberry Pi as a server is the possibility for using other devices as additional controllers. The Pebble is only the first step. Other possibilities include Android wear and the newly launched Apple Watch. The opportunities are endless, and are not confined to smartwatches. A cliché, but still, the only limitation is your imagination. Every device connected to the local network is potentially a remote controller for the television.
That’s it. That’s one way turning your smartwatch into a TV-remote. Fun for you and me to build, easy for others to use.