Archive For The “Portfolio” Category

Workcraft Packages for Arch Linux

Workcraft is a framework for working with interpreted graph models. It can be used to draw, verify and convert between many types of directed graphs as well as synthesise digital circuits from them. The software is developed by the μsystems group at the University of Newcastle and is used for academic research and commercial development of asynchronous systems. More information can be found on the Workcraft homepage.

I have created and continue to maintain two packages residing in the Arch User Repository (AUR). The package ‘workcraft’ installs a stable version of workcraft from the main website, whilst ‘workcraft-git’ builds Workcraft from the latest source on Github (this may be unstable). The packages can be found at the links below or installed using your favourite AUR helper.



Electric Car

In the 2015/16 academic year I was part of the Southampton University Electric Vehicles Society (SUEVS) during its first year. The goal for the year was to build an electric car from scratch to run in the Shell EcoMarathon. I was part of the Powertrain group and took charge of the overall design and manufacture of the electronics subsystem. As a team of two we produced a bespoke motor controller with speed readout along with crimped cabling for the sundries which included the throttle grip, speed readout and horn.

EcoMarathon Car

The system was based around an AVR microcontroller which enabled the use of a PID loop for motor control. A single MOSFET was used to control the motor current which allowed a simple and reliable circuit in the short time frame. Reverse battery protection was incorporated using a MOSFET rather than a diode to reduce the power loss in the system.

Satellite Power Supply

For my undergraduate dissertation I undertook a group project to design a small satellite power supply. The deliverable product was a populated and tested PCB designed to fit the demanding physical constraints imposed by the satellite. The main features of the power supply include solar energy harvesting and battery monitoring along with six individual supply lines, each complete with monitoring and protection. The project also involved a lot of background research into cosmic effects on electronics.

CubeSat PSU Complete PCB

I took the lead PCB design role and was responsible for physical design, component choice, layout, and thermal management. The final product passed rigorous electrical, vibrational and thermal testing and is awaiting deployment into space as part of the University of Southampton Small Satellite Project (at time of writing, September 2016).

Compact LED Lighting

LED Driver PCB

This was a small project to allow me to add extra lighting to my car’s poorly lit interior. The PCB has space for three small LEDs and a potentiometer to set the brightness. The LEDs are mounted at 120° to each other to allow the legs to be bent outward, creating a greater spread of light.

U1 is an AL5801 linear current sink which allows the PCB to accept a wide and varying input voltage on its two-pin connector. I chose a linear device to keep the PCB as small as possible. The low current LEDs ensure that the thermal specification of U1 is met.

Watercooled PC

PC case with reservoir side panel.

The original case stripped down ready for fitting watercooling.

Radiator and pump fitted to the front of the case.

The reservoir constructed from pieces of acrylic, drilled and tapped for fittings, and etched with my username.

A fillport for the water loop added to the top of the case.


Close-up of the reservoir showing the CPU waterblock and stainless steel braided hoses.

Thermocouple Meter

This was my first electronics project which I completed whilst at high school. The gadget takes input from a K-Type thermocouple and displays absolute temperature on a 16×2 character LCD.


The project came about from my love of overclocking at the time where I was using liquid nitrogen to cool my computer. My shop-bought meter had broken so I created my own with a display that was easier to read from a distance. I used both lines of the LCD to display tall numbers to achieve this. The gadget is powered from a standard DC wall adapter to avoid the need for replacing batteries as it is designed to operate for long periods of time.

img_20160909_202443 img_20160909_202455

A PIC microcontroller is used to drive the LCD. It reads the analogue output of an off-the-shelf thermocouple amplifier which takes care of cold-junction compensation. The simple circuit is mounted on a home-etched PCB.

Go Top