Arduino Uno R3 with HIDUINO powered USB MIDI

05 Aug 2013

HIDUINO showing up as a MIDI device

This past week I updated my DJ transport control to use MIDI over USB. This is achieved by flashing the USB chip with a new driver, supplied by HIDUINO, a project by by Dimitri Diakopoulos for his research in new interfaces for musical expression at California Institue of the Arts. He has published a short introduction from the NIME 2011 conference.

For this I used the the latest Uno R3 and I used the tinyisp compatible pocket programmer from SparkFun. This ships as a compact board with a ribbon cable and both 10 and 6 pin headers. Hooking up to the board is straight forward, but here's a few of the mistakes I made figuring that out.

Mistake 1 - Hooking up to the wrong chip

Arduino Pocket Programmer ATMega 328

There are two different AVR chips on board an Uno. One chip holds the Arduino sketches and another drives the usb. Given that the headers on the bottom of the Uno have ISCP written next to them, I started programming my chip there. An hour or two later, I realized this was the wrong chip. Helpfully, at least this is how you hook up the pocket programmer to upload sketches after flashing the usb.

Mistake 2 - Hooking up to the right chip, but backwards

Arduino Pocket Programmer ATMega 16u2

After I found a helpful diagram, I realized the correct headers where the ones closest to the USB. The connector only fit one way, so I failed for a bit trying to program it backwards.

The purple cables in the picture are simple female to male-header breadboard jumpers. An easy solution to squeezing my adapter in the right way.

My Tip

Pin 1 Pocket Programmer

On the Uno, pin 1 of the ICSP headers has a dot next to it. To help make the orientation of the cable a little more clear, I added a matching dot to the ribbon connector. A metallic silver sharpie my wife uses to mail thank-you notes worked wonderfully.