 The name "IOIO" is inspired by the function of the device, which enables applications to receive external input ("I") and produce external output ("O").The IOIO board contains a single PIC MCU that acts as a USB host/USB slave and communicates with an Android app running on a connected Android device.The board provides connectivity via USB, USB-OTG or Bluetooth, and is controllable from within an Android application using the Java API.