Custom MIDI Keyboard, HMC
Post Written: 07/08/2025
Project Start: Nov 2017
Project End: Dec 2017
DISCLAIMER: This post is sparse as it was part of a backlog of posts. It may be updated in the future.
Harvey Mudd College E155: MicroPs
TL;DR
As a final project and a two person team, we built a custom MIDI keyboard using a Raspberry Pi and a Cyclone IV FPGA. This was one of my favorite courses.
Longer Version
I'd love to write more and reflect more on this later. In the meantime, to get through the backlog, here's the résumé version.
- Worked on a two-person team to design and implement a customizable system to interpret MIDI commands, outputting the desired waveform at the desired frequency.
- Used RPi to interpret MIDI commands over USB.
- Adapted a MIDI library in C to process custom commands and send data over SPI.
- Used SPI to communicate between a RPi 3.0 and a Cyclone IV FPGA.
- Interpreted FPGA SPI for dynamic waveform generation.
- Used I2C to interface between Cyclone IV FPGA and DAC.