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.
Appendix C - Schematics
All schematics can be found under the Hardware Design section. However, here they are again.
Button schematic
Transistor circuit with base connecting to GPIO pins
Schematic including all buttons and LEDS - note that buttons and LEDs are together in real life, but we separated them here to simplify visuals
Schematic for sound production part of our project.
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:
Insperation for direct digital synthesis code can be found here:
We used the Pico SDK. This can be found here:
We used VGA driver for VGA communication between the RP2040 and the VGA monitor. More information about that can be found here:
We used the RP2040 datasheet. This can be found here:
We used DAC datasheet. This can be found here:
We used the C SDK guide. This can be found here: