As part of my Laboratory Electronics class, I built a microcontroller from scratch in order to see how computers work at the most basic level. The processor is connected to 32K of RAM as well as an ADC and DAC through a shared data bus and address bus. Because I implemented the logic to control the buses myself I now understand how the processor, the memory, and I/O devices communicate over the same wires in a tight lock-step without ever interfering with each other.