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 threeboard of SpiNNaker boards.

SpiNNer Super-Computer Wiring Guide Generator

One of the challenges of building larger versions of the SpiNNaker super computer is physically connecting the 3600 wires that join the 1200 circuit boards together. SpiNNer contains a library designed for modelling different ways of positioning the circuit boards in space in order to minimise the length of the wires required to manageable levels. A script is also provided which creates illustrated wiring guides using LaTeX.
Heart Rate Monitor Thumbnail

Webcam Heart-Rate Monitor

When the heart beats, blood is pumped around the body causing a momentary change in skin colour. This is not visible to the human-eye but counter surprisingly is visible to a cheap webcam. Using simple signal processing techniques, the frequency at which the colour of the skin changes, and thus the heart-rate can be extracted and monitored completely non-invasive.
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.
The Yet Another Level Up Logo

Yet Another Level Up A FVWM-Based Window Manager

YALU is a configuration for the powerful FVWM window manager that provides a number of neat features, fully graphical configuration (and also fully text-based configuration if you preffer), reasonable performance and less torture than its predecessor: AnotherLevelUp.
A Silhouette Portrait Cutter

Plotter Silhouette Portrait Control Library

Library for driving the Silhouette Portrait cutter/plotter under Linux (or anything else supporting pyUSB) based on observations of USB trafic generated by the official software. This may also be compatible with the Silhouette Cameo cutter but support for that device is entirely untested and unintended.
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.
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
A thumbnail of a spinnaker packet-latency heatmap.

Gollywhomper A SpiNNaker Interconnect Simulation

A simulator of the SpiNNaker million-core super computer being built at the University of Manchester. This simulator was built as part of the COMP6062b Future Multicore Systems course and investigates the effects of the newly developed circuit board to circuit board connections currently being added to SpiNNaker.
Cooking like a Boss Logo.

Recipe Grid

A tool for generating tables similar to those on Cooking for Engineers to use as recipies. It provides the underlying format for recipes on Cooking like a Boss.