Thanks for visiting.

I occasionally make things that might by useful to other people. I thought it was time I shared some of them. I've also added some commentary.

Most of the code examples are on GitHub

See also my company Software Machines Ltd.


SoC in Verilog wrapping the SERV RISC-V soft processor

Web Proxy

Make your own remote web proxy server.

To secure your communications and prevent hostile governments eavedropping. Or just because it is none of their business.

OTA Arduino programming

A replacement bootloader for the Arduino to allow OTA (over-the-air) programming.

Code updates can be sent to a device over a radio network and saved on an I2C EEPROM. The bootloader can then flash the processor with the new code. This allows remote updates to Arduino based radio devices.

Gas Meter

Reading the dial on an old gasmeter - using a mouse chip as a video camera.

Featured on Hackaday

Laser Cutter

Code for generating DXF files for a laser cutter

UK Maps

UK maps showing linguistic clusters of placenames

Modified RANSAC algorithm

Modified RANSAC algorithm, part of an image processing project to detect the position of a guitar neck.


Why it may make your code worse.

Smart Power Controller

Remote controlled phase controlled mains switch

Home Energy Monitor

Monitor your houshold electricity supply

Featured on Hackaday

Triac Power Control

Power control using an Arduino and a triac. Use all your excess solar power without having to import any.

Electricity Meter Reader

An Arduino based project to read Watt-hour data from an Elster A100C electricity meter.

Featured on Hackaday

3D Photos

A simple way to make 3D photos (red-green) with any digital camera.

Mobile Phone Stand

A very cheap and easy to make stand for a mobile phone.

Reversing Sonar

Reverse Engineering a commercial reversing sonar product.