NameNetIDSection
Venkat Raovvrao2ECE 120
Alexander Chinahchin2ECE 120
Betty Nguyenbcnguye2ECE 110
Vibhav Adivivadivi2ECE 120

Introduction

Statement of Purpose

Our goal with this project is to emulate an 8-bit system with peripherals on a breadboard in order to learn about how CPUs work, how they interface with other devices, and to learn more about emulation. This project would also allow us to apply the skills we learned in ECE 110/120. We are going to write an emulator for the Chip-8, a system designed for emulation on programmable calculators and to be relatively easy to emulate. We will also build a keypad and buzzer, and attach them and a display to our microcontroller.

Background Research

Ben Eater’s tutorials on building an 8-bit computer helped inspire our project, and will be helpful as a reference for constructing the buzzer. We will also use basic information about circuits, computer components, and computer language we will learn in ECE 110/120 as a foundation for our project. While we were inspired by Ben Eater’s breadboard computer, our project abstracts away the building of an actual CPU, replacing it with a programmable microcontroller. We wanted to focus more on programming and interfacing with peripherals rather than creating a barebones CPU that can only run very simple programs.

Design Details

Block Diagram

System Overview

This project consists of a fairly simple computer on a breadboard. For input, we will build a hexadecimal keypad made with switches and a printed circuit board which will be fed into a microcontroller, which emulates the Chip-8, a toy 8-bit computer designed to be portable and easy to emulate. The microcontroller will then output to a display and buzzer. We hope to build the buzzer and keypad and write the Chip-8 emulator.

Parts

  • Keypad Parts:
    • Switches
    • Keycaps?
    • Logic gate chips if we decide to use a multiplexer
    • Protoboard if soldering switches, otherwise some sort of custom pcb
  • Breadboards
  • Wires
  • Resistors
  • Some sort of 5v/3.3v power supply?
  • Microcontroller (Arduino Nano Every w/ Headers, $13 from official store)
  • Display (https://www.amazon.com/IZOKEE-Display-SSD1306-Raspberry-White-IIC/dp/B076PDVFQD/, $13/3, 128x64 in case we add higher resolution support)
  • Buzzer Parts:
    • Piezo buzzer
    • 555 IC (to generate frequency)
    • decoupling capacitor

Possible Challenges

  • Because half of our group is in person and the other half is not on campus, we might run into difficulties or delays coordinating or testing our project. 
  • Our group doesn’t have as much experience on the hardware side of the project. In addition, we may have difficulty custom making the keyboard and interfacing with the display.

Final Results