I feel like a right of passage for every computer engineer is to build a homebrew PC from the ground up from only discrete components. I decided to start building mine based around the Atmel ATMEGA328p.
All the code written for the chip is written from scratch in C. The ATmega is connected to RAM and ROM chips via the SPI bus. This project is still in its early stages, I’m currently writing the code that interfaces the ATmega with the RAM. Right now I’ve written the SPI code and the LCD character controller code.