The tutorial gives an insight on how an Android device and an IOIO Board can be used to transmit MIDI messages to a MIDI hardware. Read on to know more about this.

The requirements for this project are listed below:
- Android device
- IOIO Breakout board
- 220-ohm Resistor
- 5 pin DIN socket
- Power supply
- Wire
The first step here is to ensure that the IOIO board is working properly once it has been connected to the Android device. A tutorial on how to do this check can be found at the link mentioned below.
http://www.sparkfun.com/tutorials/280
The next step is to wire the IOIO board. Pin 5 of the DIN socket is connected to an IO pin. A pin which is 5V tolerant is preferred. The IOIO Wiki contains details of all compatible pins. Pin 4 of the DIN socket is connected to one of the 5V output pins. This connection is done through a 220 ohm resistor. Once this is done, pin 2 has to be connected to one of the ground pins. The IOIO is now connected to power and ground.
Now the Android device has to be set up. A UART module is used here to transmit the MIDI data. A couple of javax.sound.midi classes are used in this case to receive the appropriate output. The output is stored in an ArrayBlockingQueue and this is polled by a main loop.
This is more like a basic version of the midi controller. A lot of fine tuning would be required if a more advanced version of the midi controller is to be implemented.



















