These are listed in reverse chronological order. This is not everything I've ever made! I made many projects before I started diligently keeping records (circa 2020), and some projects that may even get their own Git repository aren't interesting enough to share here. Browse my GitHub repositories to see smaller works that aren't on this page.
2025 to early 2026
Read the relevant blog posts:


Sharpie is a fully featured development board and complete display controller code for color memory displays manufauctured by Sharp. Sharpie controls a memory display using exclusively the integrated PIO peripheral in the RP2350 microcontroller. I am the first person to control one of these displays using an RP2 series microcontroller (and write about it on the internet), and I believe I am among the first to study these displays in any amount of detail.
Sharpie is so performant that it can uncompress video streamed over USB at frame rates exceeding the display's pixel response time:
mid 2023 to late 2024

ublox is a Flipper app that displays and logs GPS location from u-blox GPS modules over I2C. It includes KML track logging, multiple data views, and a built-in wiring diagram.
I also contributed a moderate amount of code to the official Flipper firmware repository when it was more active, including a data view for MiFARE Classic cards before the entire NFC stack was overhauled.
late 2023 to early 2024

Flipwire is a small Rust CLI application you can use to transfer data and control your Flipper Zero from your computer. It's not as fully featured as the mobile app, but you can interact with the filesystem, send an alert to help you find your Flipper, and set the Flipper's date and time.
mid 2023 to late 2023
The Rockchip RK3566 ARM SoC is commonly found in older single-board computers and even in consumer products. It has a small RISC-V microcontroller (or MCU) inside it that, as far as I could tell, had never been studied or reverse engineered. I figured out as much as I could and wrote it up in my repository. There's also some very basic Linux kernel code to interact with the MCU from the OS. (This one doesn't have any cool pictures to share.)
mid 2022

Alum is a Rust CLI tool for transferring data to and from the HP 48 calculator series and its successors. Alum supports the Kermit and XModem protocols with custom Rust implementations that don't rely on any external programs, and it can calculate the checksum and size of any HP format data using a modern implementation of the calculator's checksum formula. Alum is actually the successor to an earlier piece of software I wrote called HPex, which was a buggy Python GUI with lots of dependencies.
late 2021

The Macintosh Plus computer uses a special keyboard only used by the Plus and the two models that precede it. These keyboards are large and hard to find, so I made mac-plus-serkey, which emulates one of these keyboards with an Arduino, using a computer running a Python script as the actual key detector. Despite the name, it should also work on the Mac 128K and 512K, since they use the same keyboard logic.
early 2021
Tunnel is a simple avoid-the-screen-edges game for the Sega Game Gear, programmed in C. You control a small ship that always moves forward, and you must keep the ship away from the stalactites and stalagmites on the ceiling and ground. In terms of overall complexity, Tunnel is closer to an Atari game than anything for 8-bit Sega. It remains the only complete video game I've ever made.