Appendix

Appendix A - Approval to Use Report

The group approves this report for inclusion on the course website. The group aprroves the video for inclusion on the course youtube channel.

Appendix B - Code

The code for the project can be found at the following GitHub link. Please note that all of the code found on this GitHub repository needs to be located within Professor Adams’ lab directory to run successfully.

Local Project Directory

Appendix C - Schematics

All schematics can be found under the Hardware Design section. However, here they are again.


image

Button schematic



image

Transistor circuit with base connecting to GPIO pins



image

Schematic including all buttons and LEDS - note that buttons and LEDs are together in real life, but we separated them here to simplify visuals



image

Schematic for sound production part of our project



image

Schematic for VGA connections


Appendix D - Work Breakdown

The group consisted of Emmanuel and Sergio.

Sergio’s Tasks:

  • Primary software writer and designer
  • Assistance with hardware wiring

Emmanuel’s Tasks:

  • Assistance with software
  • Hardware wiring
  • Laser-cut board

Appendix E - Cost List

Here is the Price of our Project:

  • Plywood (Cornell Store) - $16
  • Large Arcade Yellow Button x2 (Adafruit) - $5.95 * 2
  • Large Arcade Blue Button x2 (Adafruit) - $5.95 * 2
  • Large Arcade Red and Green Button (Adafruit) - $5.95 * 2
  • MCP 4802/4812/4822 (DigiKey) - $2.50
  • Power Supply (ECE Lab) - $0
  • VGA Monitor (ECE Lab) - $0
  • Simple Speaker (ECE Lab) - $0
  • Wires, boards (ECE Lab) - $0

Total Spent on Project: $54.20

Appendix F - References

Insperation for our laser cut and button design came from the Whack-a-Button project from last year. We also used the same buttons they used. Their website can be found here:

Whack-a-Button

Insperation for direct digital synthesis code can be found here:

DDS Example in Code

We used the Pico SDK. This can be found here:

RP2040 Pico SDK

We used VGA driver for VGA communication between the RP2040 and the VGA monitor. More information about that can be found here:

VGA Driver

We used the RP2040 datasheet. This can be found here:

RP2040 Datasheet

We used DAC datasheet. This can be found here:

MCP4802/4812/4822 Datasheet

We used the C SDK guide. This can be found here:

RP2040 C SDK Guide