Boochow's Raspberry Pi Pico Receives and Decodes MIDI Signals via Its USB Port

Developed using the TinyUSB library, this project receives MIDI messages via USB and decodes them for printing via UART.

Gareth Halfacree
a month agoMusic / Debugging

Pseudonymous developer "boochow" has used the popular Raspberry Pi Pico in the heart of a MIDI device with a difference: Rather than making music, it's designed to monitor and display the MIDI signals received from a USB MIDI device.

"[The Raspberry Pi Pico] SDK's TinyUSB Library makes USB devices relatively easy to create," boochow explains in translation, "or connect USB devices. This time, I tried to create a MIDI device that outputs MIDI messages received via USB to UART. TinyUSB also includes a variety of sample codes and MIDI devices. The sample code was a sequencer-like device that outputs MIDI messages to USB, so I made it different."

The project requires minimal wiring: The Raspberry Pi Pico, launched earlier this year as a $4 combined breadboard-friendly development board and surface-mountable productizable module, connects to a host PC via USB and acts as a MIDI device; the two pins closest to the micro-USB port on the left-hand side are used as UART transmit and receive to output the captured and decoded MIDI signals.

"This time I'm just outputting to UART," boochow writes, "but in combination with [other projects] you will be able to make a synthesizer that works with USB-MIDI with Pico."

The full write-up is now available on boochow's blog with source code available on GitHub.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Related articles
Sponsored articles
Related articles