The IOIO-OTG is a board which allows you to quickly and easily interface electronic circuits to an Android device or a PC:
Connect the IOIO-OTG to the Android / PC using USB or Bluetooth.
Power the IOIO-OTG (not required if operating in USB device mode, see below).
Connect your circuits to any of the 46 I/O pins available on the IOIO-OTG. You can power your circuits off of the IOIO-OTG too.
Write a Java program to control the I/O pins, using a high-level API using the provided libraries.
Once powered, you can draw up to 3A from the 5V pins (given an adequate power supply) and up to 100mA from the 3.3V pins to power your circuit.
Connecting to Android / PC
Whichever connection mode you use has ZERO impact on the application code that you have to write. In fact, any program you write will automatically support all connection modes and you can even change the connection while the program is running.