Sending MIDI up the USB using Arduino

interstar picture interstar · Oct 20, 2009 · Viewed 24.4k times · Source

I'm interested in making an Arduino based MIDI controller to talk to my computer. Looking at other examples of Arduino MIDI (for example, MIDI Output using an Arduino), they all seem to wire up a dedicated 5 pin DIN. Which makes sense as this is the original cable to connect keyboards, expanders and sequencers together.

However, I want to send MIDI to my PC. A 5-pin DIN is just going to have to be plugged into a conversion box which connects to my PC via USB. And I already have a USB cable to connect my Arduino to my PC. So why can't I just use this?

I'm assuming what would stop me is that these conversion boxes all come with drivers which know how to handle the signal coming in over USB. Whereas, say, a virtual synthesizer on my computer wouldn't expect or know how to handle raw bytes coming in via the serial port. So is there a standard or free equivalent to these drivers that I could use for my own project? Or, if not, what would it take to write one? Where could I find out more about this?

Answer

Nate picture Nate · Jan 22, 2010

I found it was easier to just embed a cheap ($6) MIDI-USB interface right into my Arduino projects. Quick and Dirty Arduino MIDI Over USB explains how.

There are also some pictures of an old calculator I turned into an Arduino USB-MIDI controller in Calculator MIDI USB Controller.

I hope that helps.