About this blog

- 1 min read
Welcome to my engineering blog. I made my first self hosted blog in 2017 to document projects. Which I hosted on and off for a few years. In 2025 I created this current iteration. This blog is developed using Hugo, a static site generator. It is hosted on Raspberry Pi in my house, and deployed with an nginx webserver that enforces HTTPS with TLS certificates and provides a reverse-proxy server for my Allsky camera.
Arrow Emergency Systems sold a lot of equipment that lived out on roadsides. Arrow boards, trailer-mounted message signs, temporary traffic lights, and fleets of service vehicles that spent their lives moving between work sites. Each piece worked well on its own, but none of it really knew about the rest. Our customers (traffic control company managers) wanted to see everything in one place: where their vehicles were, whether a sign was running the right message, whether a light had lost power.

eStop Tripod Legs

- 2 mins read
While at ArrowES I did a lot of machining and plasma cutting. We had a CNC mill and a CNC plasma cutter, so I designed a lot parts to take advantage of these computerized machine tools. One of these products was this tripod leg design. The existing eStop tripod had two flaws, it wasn’t quite rigid as it had a few bolted connections making up the legs, and the mount point where the traffic light would slot into the tripod was quite high.

Count Down Traffic Light

- 1 min read
This was the first electronics product I designed at Arrow Emergency Systems. It is a traffic signal module that displays a countdown digit and a segmented circle within the amber aspect of a temporary traffic light. When a road is reduced to a single lane using temporary signals, the wait times are often much longer than a normal intersection because vehicles must clear the work zone from the opposite direction.

LED Heart

- 1 min read
This electrocardiography LED matrix was designed as a birthday present for my sister. It consists of two circuit boards: a 16×16 LED matrix using SPI-addressable RGB LEDs (APA102), and a controller board built around a SAML21 microcontroller. An LED shines light into the blood vessels in a fingertip and a phototransistor measures the returned light. The signal is amplified and sampled by the microcontroller ADC. Because the signal contains a large DC component and slow variations from finger pressure and ambient light, a windowing function is used to continuously scale the display to the minimum and maximum of the last few hundred samples.
One of my projects I enjoy working on is launching model rockets, both kit designs and 3D printed model rockets. A typical model rocket launch ignition system is a 9V battery connected directly to the motor igniter. I’d been thinking for a while about building a better launch controller. In 2018, tensions between the US and North Korea escalated and gave me inspiration for my launch controller. My launch controller design is inspired by the nuclear football, the suitcase that allows the President of the US to launch a nuclear attack.
This mini Tetris arcade machine grew out of a university project at UQ. As part of CSSE2010, students used a microcontroller development board to finish implementing an arcade game. In my year, 2015, the game was Tetris. It ended up being one of my favourite courses. It was a great introduction to microcontroller development, and the way the assignment was structured, with partially completed code, helped you understand how the system fit together rather than just writing everything from scratch.
One of my final year university projects was to design, as part of a team, a robot capable of recovering LEGO miners from a maze-like mine at the bottom of a 10 m long PVC shaft. The vehicle had to be wirelessly controlled and send back live video. Our solution was a tracked vehicle with a front claw, controlled over Bluetooth, with video transmitted using a 5.8 GHz drone FPV system.

LED Longboard Lights

- 1 min read
While riding a longboard at night, small debris or bumps in the road can quickly result in an unplanned dismount. To help with visibility I designed a headlight system that mounts to the board, along with addressable RGB LED strips along the sides. Since the RGB strips required a microcontroller to drive them, I added an OLED display and a hall-effect sensor, with a magnet glued to one of the wheels.