Projects

My day job is as web and app development manager at a Scottish newspaper company, but outside of work I have an interest in physical computing: making consumer gadgets smarter, building the Internet of Things and developing exhibits for museums and other visitor attractions.

Many of my professional projects, games and exhibits are listed in the What I Do section. But here are some of the personal projects I’ve worked on over the past few years, including links to tutorials, code and demo videos where possible.

Online weather station (2008)

station-outsideThese days internet-enabled weather stations are available everywhere. Systems like Netatmo make it plug-and-play simple to broadcast your home temperature, rainfall and wind speed to the internet. But in 2008 such systems cost thousands, so I decided to make my own using a budget WH1080PC weather station from Maplin.

Technology: Windows, PHP, MySQL
Media: Photos, description. Code available on request.

Wireless online doorbell (2009)

doorbell-circuitThis was my first Arduino project, using a Duemilanove to hook up my cheap, off-the-shelf wireless doorbell to the internet. In the initial version it used an SMS gateway to send the alert as a text message, but I had plans to change it to a tweet or an Apple Push Notification later. Ultimately, I decided this was cool but a bit pointless – yes, I knew someone was at the door, but I couldn’t do anything about it if I was out.

Technology: Arduino, Perl
Media: Photos, description, source code.

9bulb: A Twitter client in nine lamps (2011)

Disco rewiredI still really like the minimalism of this hack, using an array of just nine (3×3) LED lamps to render a custom font spelling out tweets in real time. Not practical, but a fun learning experience and I like how it looks.

Technology: Arduino, PHP
Media: Video, photos, description, source code.

Self-driving remote control car (2011)

carThis was my first attempt at connecting Arduino to Actionscript, creating a real-time control utility for a cheap remote controlled car. The system uses user-defined waypoints (drawn on top of the webcam live view) to define where the car is due to go. The system then uses some custom computer vision code to determine the position, orientation, speed and direction of the car, adjusting its movements in real-time.

Technology: Arduino, Actionscript
Media: Video, description.

Retro Space Invaders Gmail notifier (2012)

spaceinvadersThis project took a cheap (3/$5) alarm clock and turned it into a desktop Gmail ‘new message’ notifier. The project seemed to catch the public imagination, being featured in Make magazine, Engadget, Ubergizmo and being tweeted by the Google Gmail team and Massimo Banzi, co-inventor of the Arduino.

Technology: Arduino, Python
Media: Video, description, circuit diagram, source code.

Custom retro arcade machine (2012)

ikeaUsing an IKEA Mammut bookshelf, an X-Arcade Tankstick and an old LCD TV I created a custom retro arcade machine capable of playing all of the classics from my youth that I never had the coins to play much the first time around.

Technology: Windows, MAME
Media: Description, link.

Peanuts for the Code Monkey (2013)

peanutsWrite code, commit to Github, get peanuts… it’s that simple. The idea of this one really tickled me, especially when so many coders (myself included) complain about doing projects for peanuts, but I think the joke was lost on most people.

Technology: Arduino, Node.js
Media: Video, description, source code.

Biometric security toy box (2013)

Popular ScienceI created this project for my son who wanted somewhere safe to keep his favourite toys. My solution was to use a commercial-grade fingerprint scanner and an Arduino to lock the toy box and only open it when his ‘magic’ finger opened it. This project was featured on a number of sites and became Project of the Month in both the US and UK editions of Popular Science.

Technology: Arduino
Media: Video, description, circuit diagram, source code.

Fisher Price Talking Chatter Smartphone (2014)

photo 2This project took a toy Fisher Price Chatter Telephone (the phone featured in the prison break scene in Toy Story 3) and turned it into a smartphone with the addition of a Raspberry Pi and some custom code and electronics. So far it has been featured in several blogs, including the official Adafruit blog.

Technology: Raspberry Pi, Python
Media: Video, description, source code.