Projects

I enjoy tackling interesting projects and here are a few that I've made some limited attempt to document. As many of these were carried out purely for fun, code quality and documentation may vary enormously. You have been warned.

A glowing rainbow coloured light made up of triangles

Window Decoration

Dark winter mornings and evenings are an opportunity for experimenting with fancy lighting (optionally using festivities as an excuse). This year, I built an illuminated decoration to fit our house's faux leaded windows.
A Silhouette Portrait Cutter

Plottie Reverse engineering a Silhouette Portrait plotter/cutter

Plottie is an open source (and cross platform) tool for cutting and plotting SVG graphics using Silhouette plotters and cutters.
Photo of Word Clockie

Word Clockie A 3D printed word clock for my wife.

Word clockie is a (yet another) word clock made as a first aniversary gift to my wonderful wife, Ann-Marie. It is a spiritual successor to Clockie, a count-down clock I made when we were living far appart when we had just started going out. Instead of counting down to our next meeting, Word Clockie counts up the time since we got married.
The display in action.

Line of Life A UV+Glow-in-the-Dark Cellular-Automaton Display

Line of Life is an unconventional computer display consisting of a large, slowly rotating glow-in-the-dark drum which is 'charged up' using 120 ultraviolet LEDs. The display has been donated to the School of Computer Science at the University of Manchester and is intended to explain the principles of celular automata to random passers by.
The N3 Logo

N3: No-Nonsense Navigation Hand-Held GPS Receiver

N3 (No-Nonsense Navigation) is a handheld GPS receiver, but without all the nonsense. A toggle switch turns the device on (and off) and as soon as it has a fix, the current position is displayed on the screen. While switched on, N3 also automatically logs your journey to an SD card so you can look at it later. It can run for about 10-12 hours on a pair of AA batteries which can be changed in the middle of nowhere if neccessary.
A(T)Tiny(85) Piano

A(T)Tiny(85) Piano Taking a Birthday Card Way Too-Far

My brother recently turned 21 and to mark the occasion it seemed appropriate to send him a birthday card. My first idea was to make him a singing birthday card which plays Morning Mood by Grieg. Since he is training as a teacher, and this particular piece of music haunted us in every assembly we attended in school, it seemed like an appropriate wind-up. As I object to buying cards (albeit with a custom tune programmed in) I set out to make one using one of the aptly-named 8-pin ATtiny85's I had lying around. Unfortunately making small, battery powered electronics is hard so I decided that if it was going to be bulky anyway it might as well feature a fully playable piano keyboard...
A 3D Printer 'Gear Cube'

Makebed 3D Printer Controller

Makebed is a system comprising of a set of 3D printer control electronics and the firmware that runs on them developed as part of my 3rd Year Project while at the University of Manchester for my undergraduate Computer Science degree. The project provided improvements over the Makerbot's ageing original electronics and added features such as network connectivity and improved motor control.
A drawing of Clockie being programmed.

Clockie

Clockie is a really simple clock I made for my girlfriend, Ann-Marie, when she moved away for her master's degree. It is based on an Arduino and a simple LCD character display and features a countdown until we next meet (d'awwwww). The time (and the date of our next meeting) is set by holding it up to a web page which literally flashes the time at a light sensor on the back of the clock.
A STUMP CPU on Sillicon

Stumpy A 50-Line STUMP CPU Emulator

A small (50 line) STUMP CPU emulator written in Python along with a quick-and-dirty example "test-bench" program for running STUMP binaries.
A D-Type Latch

Livegate SVG Logic Circuit Simulator

Livegate was an attempt animating one my ridiculous zero-abstraction gate-level drawings of a processor by adding a Javascript to the original SVG. In particular, development of logic circuits is possible entirely from within Inkscape.
The SHET Logo

SHET Home Automation

SHET House Event Tunneling was a major home-automation project undertaken by myself alongside my house mates during the 2nd and 3rd years of undergrad. During those years we built a surprisingly comprehensive home automation system connecting to everything from the washing machine and lights to the house IRC channel.
Thermduino Logo

Thermduino Arduino-Powered Thermostat Timer Addon

Thermduino is a simple Arduino + Python project which I hacked together in a few days to set a rotary thermostat based on time and date.
Perentie Logo

Perentie A Simple Microcontroller Debug Monitor

Perentie is a simple, graphical CPU monitor and debugger supporting a range of architectures. It was designed during a summer of work done for the