One day I got the itch to use a spare microcontroller to try and decode an analogue video signal. I hooked my scope up to my old DVD player, studied the PAL video timing spec and grokked that the 1 MHz sample rate of the on-board DAC should just be fast enough to get a low-res image. There were a few speedbumps along the way including:
But in the end these issues were solved and the result was better than expected.

For detailed information see my technical write-ups.
What can you do with a limit of 512 bytes on your binary, no operating system, a 4.77Mhz 8086 CPU and 64 KB of RAM? More than you might think. This project explores the almost-forgotten world of PC Booters - games that squeeze into the tiny boot sector of a floppy disk and run instead of the operating system. See the git repo for the detailed technical write up and further details.
Implementation of a CHIP-8 emulator in Rust. Here's a screen capture of rock, paper, scissors ROM (made by SystemLogoff) running in the emulator.
Ray tracer implemented in rust. Produces pretty pictures like this:
In progress...
Using a Xilinx Pynq Z2 FPGA to implement the RISC-V RV32I CPU. Involves VHDL and a deep dive into computer architecture and digital design.