Arduino UNO MIDI USB version 0.2

I've added MIDI IN support to the USB MIDI driver so now the UNO can send and receive MIDI messages from the host PC. The format of the data is the same as that described in the earlier post for the MIDI firmware.

The example sketch shows how to send and receive MIDI message.

Download file "Arduino-usbmidi-0.2.hex"
Download file "Arduino-usbmidi-0.2-mega2560.hex"
Download file "midi_usb_demo.pde"
Download file "arduino-usbmidi-0.2.tar.gz"

13 comments

Arduino UNO USB MIDI firmware

I've put together a basic USB MIDI driver for the UNO's atmega8u2. I've tested it using the demo sketch below with GarageBand and it seems to be working well. By flashing this firmware onto your UNO's atmega8u2 you can turn the UNO into a USB MIDI device. See my earlier posts on how to load the firmware via DFU mode.

The MIDI driver expects to receive a serial message with the following format:
Byte Description
0 Command: E.g. 0x90 Note On, 0x80 Note Off.
1 Channel: 1 to 16
2 MIDI data byte 2. Depends on Command, for 0x80 and 0x90 this is the Pitch values 1-127
3 MIDI data byte 3. Depends on Command, for 0x80 and 0x90 this is the Velocity values 1-127

The serial port should be configured for 115200 baud.

Here's the firmware files, source, and example sketch to send 5 notes to the host.

Download file "Arduino-usbmidi-0.1.hex"
Download file "Arduino-usbmidi-0.1-mega2560.hex"
Download file "arduino-usbmidi-0.1.tar.gz"
Download file "midi_usb_demo.pde"

More detail on the MIDI messages can be found here at www.midi.org.

More detail on the MIDI USB interface standard can be found in the MIDI 1.0 Specification.

You can download a copy the USB Serial firmware here: Arduino USB Serial firmware. You'll need to replace the MIDI firmware with this whenever you want to upload a new sketch. Flash this by putting the board in to DFU mode and using dfu-programmer or flip.


18 comments