MIDI Interface programming

Hi there!

I'm brand new to the world of Arduino (so forgive my basic questions) but I am quickly becoming obsessed with the process of programming micro-controllers.

My latest project is to take the output of a Parallax "Ping)))" and send it to an LED array, and a USB/MIDI interface so that it can control music and light at the same time.

I have the LED array working, but getting the USB/MIDI interface system to work is proving harder than expected.

After reading a great post on the subject (http://shiftmore.blogspot.com/2010/01/quick-and-dirty-arduino-midi-over-usb.html)

I realized that I had a spare "M-Audio Uno" lying around... I broke it open, and started tinkering

So far It turns on, and is recognized by the computer. But the M-Audio is not the interface used in the aforementioned article, I have been perplexed trying to find ways of communicating the simple MIDI messages from the Arduino to the interface mainly because I don't know what the specific connections are.

The interface itself simply lists the different wires by color rather than function and as far as the MIDI end the colors don't even match the cable.

Here comes the dumb question.

I've been looking, and will continue to look. but is there a way to test the six MIDI terminals (minus the shield) with the Arduino to try and get some response from the M-Audio Interface?

I'd really appreciate some help with this... Even some suggestions on better ways to ask for help on the forum.

Thanks - IMUR

I realized that I had a spare "M-Audio Uno" lying around.

What is an M-Audio Uno can you provide a link?

the M-Audio is not the interface used in the aforementioned article

So what makes you think the same technique will work with it?


As far as I know all midi cables all use the same way of communicating… That is to say that they all use the same pin connections in order to make all midi devices compatible. Making the interface itself nothing more than a way for the computer to have a nice easy way to translate the midi with some handy proprietary m-audio drivers.

Since the only connections I need to make are the ones to the midi inputs I figured that it would work as long as I could find the appropriate connections.

My problem is that in order to remove the actual pcb om it’s enclosure I had to desolder the connections to the midi cable.

The cables pin colors don’t match the color indicators on the pcb. So I have to test the connections by reorienting the setup described in the tutorial in my OP.

I think you could do this without the converter cable by using an UNO or Mega and loading USB MIDI firmware onto it so it becomes a native USB MIDI device.

You could start with the firmware and demo sketch on my blog here http://hunt.net.nz/users/darran/weblog/5b7f8/Arduino_UNO_USB_MIDI_firmware.html

There's also the MocoLUFA project which uses the same approach but should be compatible with the MIDI library.

Basically the Atmega328 sends MIDI commands via its serial port and the atmega8u2/atmega16u2 receives that and sends the appropriate USB message to the Host PC.

As far as I know all midi cables all use the same way of communicating.

You are wrong. Only on a superficial level is this true. Two devices need not be hackable in the same way. The original artical had a device that used a USB to serial bridge and then converted the serial signals to MIDI. Other devices go direct from MIDI to USB with no place to hack.