A client was interested in developing a programmable MIDI controller for use in DIY music production. The product needed to be low-cost, allow for 128 unique inputs, user programmable and intuitive to operate, and allow for both USB and BLE MIDI streaming.
The design was based around the ATmega32U4 and ESP32 microprocessors due to their low cost, interfaces available, and extensive library compatibility. Custom embedded C++ was written for each microprocessor to minimize the resource footprint. Components and supply chain were selected to minimize cost while meeting product requirements.
Three rounds of rapid prototyping were performed, and an initial lot of production-equivalent units were fabricated for user testing and feedback. Overall project duration: 8 weeks.