By demystifying USB‑MIDI implementation on affordable STM32 hardware, the guide empowers creators to build custom, low‑cost controllers that can streamline music production workflows and inspire new hardware‑software integrations.
The video walks viewers through constructing a custom USB‑MIDI controller using an STM32H7 (SM3287) MCU and the TinyUSB stack. Phil repurposes a QueenB radio‑control PCB—originally not intended for music—to host thumb‑sticks, switches, and RGB LEDs, turning them into MIDI control‑change and program‑change sources that communicate with a host DAW via USB.
Key technical steps include configuring the STM32CubeIDE project for full‑speed USB, disabling ST middleware, and importing TinyUSB source files. He sets up ADC channels with DMA triggered by a timer to sample the thumb‑stick potentiometers, maps those readings to MIDI CC messages, and uses external interrupts for the switches. USB descriptors are customized with vendor/product IDs and a serial number derived from the MCU’s unique ID to ensure proper enumeration.
Phil highlights practical details such as using LEDs to signal USB mount status and inbound MIDI packets, and references the official USB‑MIDI device class specification for packet structure. He also notes sponsor resources—JLCPCB’s six‑layer boards and Altium Designer—for rapid prototyping and production.
The tutorial demonstrates that a modest hobbyist board can become a fully functional MIDI controller, lowering barriers for musicians and developers to create bespoke control surfaces, integrate hardware feedback, and experiment with USB as a low‑latency data bus for audio applications.
Comments
Want to join the conversation?
Loading comments...