I wrote a real-time microkernel x86 operating system for CS 452. Unlike CS 350 I wrote this operating system starting with barely more than a blank vim window. Designing and implementing everything from the ground up was an illuminating (and exhausting!) experience; I learned a phenomenal amount.
On top of my OS I developed a set of drivers to interface with a VT100 terminal and Marklin train set. I wrote a train control interface that did a decent job of routing trains around the track while avoiding collisions. Youtube has a video my classmate took of the trains in all their quirky glory.
The OS comes in three parts, all available under an MIT license