Overview
Hello! This is the Build Your Own Breadboard Computer (BYOBC) Book!
BYOBC is a framework for learning how computer systems work, by building one from individual components.
If you're looking to teach this course, see Teaching.
By the end of this book, you should intuitively understand:
- The fetch/decode/execute loop
- Address and data buses
- Timing constraints
- Memory mapped I/O
- Interrupts
- Using GPIO to interface with peripherals
- Serial communication with UART
- Basic 6502 assembly programming
And you will have a computer that might look something like this (though whether it looks cleaner than this is up to you!):
Prior Experience
If all of the above topics sounded like a lot, don't panic! This course is intended to be accessible even to electronics beginners. You'll be fine if you have experience with the following:
- Basic breadboard usage
- Any programming language (though lower-level is better)
More than anything else the biggest keys to success are patience, cleanliness, and debugging skills. We'll have tips on how to organize your computer and diagnose issues later!
Materials
If you're taking this as part of the 98-341 StuCo at Carnegie Mellon University, then good news! The materials will be provided.
If not, stay tuned for ways to participate at home. TODO: Materials listing.