Personal Projects
I like to work on electronics and write software to meet immediate “needs” as well as to have some fun (okay, mostly for fun). Here are some things I’ve worked on.
DNS Web Hosting
An experiment that uses DNS TXT records to act as a rudimentary object store for a small website. Why pay for hosting when you’re already paying for a domain name?
CB Mic USB Interface
A USB interface that allows use of a 4 pin CB mic in games that support a keyboard “push to talk” key. This was intended as a quick prototype for a future project, but works much better than expected.
Flipper Wire Tester
A simple Flipper Zero app that beeps if a wire is continuous. Not nearly the utility of a full multimeter, but sounds just like one.
C Toys
Some small C programs that do silly things. This is a playground to scratch that itch that that comes with random ideas. Portability is not guaranteed.
cURLsrv
Web server that hosts cURL-able terminal animations. This is nothing more than a small Flask app that hosts files at a fixed transfer rate. There’s also some user agent filtering to keep non-cURL clients out.
Ultrasound Synthesizer
A Python script that synthesizes audio from an spectral Doppler image generated by an ultrasound machine.
Wasteland Radio
A 1940’s Philco radio converted into a retrofuturistic internet media streamer. The damaged condition of the radio inspired a Fallout themed project.
Super PAC 64
Upgrades and experiments with the Dolch PAC 64 “Network Sniffer”. This is not just another gut-and-stuff project; almost all the original hardware was kept in-place or upgraded to play nice with newer technology.
Trash Car
A toy remote control car upgraded with hobby RC components and other junk from my collection. I got it without the transmitter when I was a kid and saved it for a rainy day. Almost 2 decades later I picked it back up.
Pocket Guestbook
An ESP8266-based web server that hosts an offline guestbook from an SD card. This was an experiment to create interactive web application on an embedded system with minimal “server-side” data processing.
gif2bootanim
A simple shell script that converts animated GIF files into bootanimation.zip files that are compatible with Android. I wrote this to convert GIFs from GifCities into boot animations for my phone.
RetroFlag Pi Case Safe Shutdown Script
A replacement shutdown script for Retroflag’s Raspberry Pi cases. The original scripts by Retroflag have a messy installer and lack customization options so I wrote my own version.
Push to Reboot
A power strip controllable via DTMF commands issued using a handheld radio. My original goal was to provide a way to reset network equipment while away from home.
WLN KD-C1 Teardown
I tried to find a teardown of the KD-C1 before I purchased it. I managed to find a video of a partial teardown, but this video stops short of removing the PCB from the plastic case (for good reason as seen below). I decided to go deep and completely disassemble the radio as far as I could.
DATAPE
A data storage format that is intended to be reliable when used on aging cassette tape hardware. This is mostly for fun, but somewhat research on data storage techniques.
Tape Artchive
An experiment to store visual art with audio on cassette tape by using amateur radio SSTV signals. Quite impractical, but it made for a nice gift to a friend who shares an interest in tape.
J-Card Template
A printable in-browser template for creating cassette tape J-Cards. I created the template for a personal project, but ended up releasing it after finding several thriving online cassette communities.
Chanterelle
A command line utility for uploading static site files to an S3 bucket. I created this simple utility after encountering issues with MIME type detection and costly ($) API calls in the official AWS tools.



