Teeny USB-C MIDI Synth Plays Mario 64 Castle Music with Monophonic Square Waves

USB-C could offer high-fidelity audio, but Mitxela says: let's not.

baldengineer
11 months ago Music

Some creators make a name for themselves by building within a niche. Tim Alex Jacobs of Mitxela jokes their niche is making "the smallest and worst" whatever! The USB-C MIDI Synth might fit this description, but only if you focus on its sound quality. The overall design is remarkable, especially considering how good it sounds when combined with other voices.

"You might be thinking this is utterly pointless, and you'd be right."

A miniature MIDI synth device might sound familiar. We covered a previous Mitxela project with a MIDI-DIN plug on one side and a headphone jack on the other. Jacobs also created a USB-A version in the past.

Jacobs' goal for the teeny USB-C Mini Synth was to fit the entire circuit within the 12 millimeters of usable space inside a typical piezo buzzer's 13.8 millimeter diameter. Surface-mount resistors and capacitors in a 0603 footprint helped reduce the size.

Everything about this project is solving self-imposed challenges. For example, the USB-C connector's manufacturer (probably) intended the PCB to have a 4- or 6-layer design. However, Jacobs wondered if a 2-layer, 6 mil tolerance board could support a USB 3.2 Gen 2 connector. While the connector supports USB 3's high-end specification, the USB-C MIDI Synth communicates with its host using USB 1.1 Low-Speed!

The chip running the USB-C MIDI Synth is an incredibly cheap (10 cents!) 32-bit RISC-V microcontroller. The MCU-CH32V003 does not have a native USB interface. However, Jacobs found a software implementation from chlohr called rv003usb that provides basic functionality. Jacobs used that code as a starting point to add support for the MCU to act as a MIDI device.

Alone, USB-C MIDI Synth can only produce a monophonic square wave. However, Jacobs used a four-port USB-C hub to make multiple voices available to a MIDI Sequencer software from 1998 called Cakewalk. The resulting demo is a unique rendition of the Castle Theme Song from Super Mario 64.

Jacobs does note that there could be an issue with the hardware. The devices work fine when connected to the four-port hub but do not enumerate when connected directly to the PC. You can download the code for MIDI USB support on the CH32V003 from this GitHub repo. However, it does not appear the PCB design files are available.

baldengineer

Electronics enthusiast, Bald Engineer, and freelance content creator. AddOhms on YouTube. KN6FGY.

Latest Articles