Documentation
Schematics
The circuit has three main parts: the MCU, the FPGA, and the SPI DAC. All three are connected via SPI and the buttons are attached directly to the MCU GPIO Pins.

Source Code Overview
The source code for the project is located in the Github repository here.
Bill of Materials
Item | Part Number | Quantity | Unit Price | Link |
---|---|---|---|---|
I2C input expander | MCP23008-E/P-ND | 4 | $1.54 | MCP23008 |
10k 1/20W Rotary Potentiometer | 987-1649-ND | 6 | $2.51 | FC15BR10K |
10k 1/10W Slide Potentiometer | PTA2043-2015CPB103-ND | 6 | $1.71 | PTA2043 |
12 bit SPI -> DAC | MCP4822-E/P-ND | 2 | $4.28 | MCP4822 |
16 bit 12S -> DAC | PCM1725U | 2 | $6.21 | PCM1725U |
.22 uF Capacitor | C322C224K5R5TA | 1 | $0.36 | C322C224K5R5TA |
10 uF Capacitor | C322C106K3R5TA | 1 | $0.79 | C322C106K3R5TA |
1K Resistor | CF14JT1K00 | 1 | $0.1 | CF14JT1K00 |
White Arcade Buttons | OBSC-24-CW | 12 | $3.95 | OBSC-24-CW |
Total cost: $101.11