How to MIDI Hack an Arduino


This tutorial will outline the steps involved in hacking your Arduino to appear to your computer as a native MIDI device without any additional hardware. MIDI Firmeware is required and you will need to remove the jumper on the ICSP pin connections on your Arduino to complete the hack.


To begin, go to the Soulsby website, download and install Atmel Flip 3.4.7 for Windows. It’s a good idea at this time to open up your device manager so you can see the status of your Arduino throughout the process. The next step is to remove the jumper on the ICSP pin, however it may be easier for you to simply short the connection show above.


The Arduino should now have disappeared from the device manager window. You will see Atmel USB Devices close to the top with the ATmega16U2 processor listed underneath. Open up and run Flip, click on the first icon (device selection) and make sure that it points to the 16U2. Click on the second icon, select USB and click Open.

Next, go back to the Soulsby website and download Midi Firmware for Arduino Uno (Moco) and once it’s complete open Flip and click File, then Load HEX File. You will now need to click on the Erase FLASH icon and clear the chip. Click on the Programming FLASH icon to download the firmware to the empty chip.

Click Start Application then close the window and remove the USB cable to reset the Arduino. Open up device manager and both the ATmega16U2 and the Arduino are gone. Select Sound & Video and there should be a list of MIDI drivers including the MIDI/MOCA for LUFA. This is how it will appear in whatever MIDI application you use.


You will need to program the Atmega 328 on your Arduino, the same way you usually do with the IDE. We will be using the MIDI communication example that comes with the Arduino software. The Serial.print() function will send a MIDI command to the software synthesizer of your choice.

To reverse the above actions and to return to the UNO, simply bridge the ICSP pins on the circuit board (The same one we removed at the start) and reset the Arduino.

MIDI Firmware provided by MORECAT_LAB

All downloads available from the Soulsby website here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s