Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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!):

An example computer

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. The materials required to complete the computer as if you were in the course (reword) are listed below:

  • CUSTOM DEBUGGER BOARD - how to purchase?
  • 3 breadboards. We recommend the BB830s from BusBoard Prototype Systems
  • 1 wiring kit. We get this one (or similar) from Amazon. sky pls add link
  • 1 of each of the following chips:
    • 74HC00 quad NAND gate: link
    • W65C22 VIA:
    • W65C51N ACIA:
    • W65C02S microprocessor:
    • SST39SF010A flash: NOTE THIS CHIP IS GOING OUT OF PRODUCTION
    • AS6C62256 32k SRAM:
    • optionally: DS1813 Reset Supervisor - link
  • XX 4.7k resistors - i forgored
  • 1 ZZuF capacitor (decoupling)
  • 1 crystal
  • 1 resistor (crystal)
  • 2 WWuF capacitors (crystal)