Arduino sending MIDI over USB for $3.25 in parts

by Stephen Hobley on September 7, 2010

I’ve built several MIDI based devices using the Arduino microprocessor – recently I found an article online about hacking this $6 USB MIDI cable (see update below) to provide hardware MIDI over USB.

When my cables arrived I noticed that they were a different revision number to the one described in this article. Once I figured out the modification for this board version I thought it was worth posting.

All you need to do is desolder the top white wire from the MIDI side, and hook this to the 5v supply coming from the USB side, this now provides power to the Arduino device. Next connect a 220 Ohm resistor from the same 5v power terminal to the terminal that the white wire was originally connected to. That’s it.

Just remember to set your baud rate in the Arduino sketch to 31250 and everything should work OK. The blue indicator light on the USB cable interface should flash when MIDI data is received.

The USB cable declares itself to Windows as a MIDI device, no driver needed, and the Arduino is powered from the the white (5v), black (TX) and red (GND) wires coming from the left hand side of the board.

UPDATE: New price of $3.25!


{ 14 comments… read them below or add one }

Tom K September 11, 2010 at 11:01 pm

If you are only sending midi out from the Arduino, all you need is a 220 ohm resistor. See schematic here :

You do have to set the baud rate appropriately in your sketch.

This also allows the use of an Arduino clone that does not have the onboard USB interface. I built a drumset that sends Midi data to a General Midi external sound source.

shobley September 12, 2010 at 10:17 am

Hi Tom,

You are absolutely right, but the purpose of the article was to describe a way to connect the Arduino device directly to a *computer* via USB, power it, and run it as a MIDI device inside windows/mac without any extra drivers.

If you connect up the DIN port through a 220 ohm resistor as described in the article you can only use it with a device that supports a regular MIDI connection, and (more often than not) you still need to supply power to your Arduino.

Mike Davis September 24, 2010 at 9:13 am

Possibly the most interesting page I have read all month…

landen September 25, 2010 at 3:43 am

Great post! I want to see a follow up to this topic!!

Natasha Ostar September 26, 2010 at 5:46 pm

Great post, been looking for that!


Erik October 1, 2010 at 3:51 pm

I’ll try this. The hacked FTDI drivers+roland serial midi-drivers just makes me sick. It works some times, and some times not. Does this converter show up as a “new device” or how does windows see it?

Stephen Hobley October 1, 2010 at 8:45 pm

The cable shows up as a “USB MIDI Cable” – and requires no drivers under Win7.

Brian October 12, 2010 at 3:39 pm

Thanks for this post, I will be using this trick in my Arduino EWI project.

Robert February 28, 2011 at 10:47 am

This works just fine. I’m using a midi shield to keep flexibility to a maximum (compatibility to my older midi devices) but I can now use the arduino with a direct connection to my Mac, running Logic Pro. I’m also working on a pedal board that will be driven by the arduino to modify the midi signals on the fly.
Thanks for this simple (and cheap) idea!

Daniel L. Thurston April 19, 2011 at 2:46 pm

Precisely what you are stating is true, I tried this once but failed.
Thanks for the information I can try it one more time.

Keep this up!

Angel Vergara May 25, 2011 at 5:23 pm

Hi very very nice post!
But i am a beginner at this and i would like to make mi own usb midi controller with the arduino. How do you program the arduino to send data through your midi- usb cable and would it be possible for the arduino to receive midi so that i can program LED’s on traktor?. thank you and i would like to see more of your work on tis, would it be possible for you to upload more photos of this?
Thank you

Jord Peck July 22, 2011 at 5:25 pm

Hi, I’m a beginner as well. I’m building music bots. Do you know where I can learn to send midi from my computer using ableton live to arduino?? Like I said I’m new so if you you could think of any other resource that would be helpful I’d really appreciate it! Thanks, Jord

Connor May 11, 2012 at 1:48 am

Can you point me toward the code you would use to send the MIDI to software such as Ableton LIVE or Garageband?

Pedro Dinero August 27, 2012 at 8:33 pm

I found the latency with this device on OX to Ableton unusably high.

Leave a Comment

Comments links could be nofollow free.

{ 6 trackbacks }

Previous post:

Next post: