The IOIO (pronounced like "yo-yo") is a board specially designed to work with your Android device (OS versions 1.5 and greater) or PC application. It features a PIC24FJ256GB206 microcontroller which acts like a bridge to connect your PC app or Android device to low-level peripherals like GPIO, PWM, ADC, I2C, and UART. An app-level library helps you to write control code for these low-level peripherals in the same way that you'd write any other Java app.
In other words, you can combine the computing power, Internet/Bluetooth connectivity, touch screen, and a variety of sensors from your Android device with the easy ability to add peripheral devices to interact with the outside world. Also, using the IOIO does not require any hardware or software modifications to your Android device, thus preserving the warranty as well as making the functionality available to non-hackers.
What separates the IOIO-OTG from previous IOIO boards is the ability to leverage the USB On-The-Go specification to connect as a Host or as a Device. There are several ways to connect the IOIO to your Java app. If the app is running on your Android device, the IOIO-OTG will act as a USB Host and supply charging current to your device (meaning the IOIO-OTG will need its own power source). If your app is running on a Windows, Linux or OSX machine, the IOIO-OTG will assume Device mode and present itself as a virtual serial port. When in Device mode, the IOIO-OTG can be powered by the host. Connecting a USB Bluetooth dongle will cause the IOIO-OTG to show up as a Bluetooth serial connection so you can go wireless.
A switch on the board can be used to force the IOIO-OTG into Host mode, but most of the time the board can be left in automatic mode and it will detect its role in the connection. Updates to the application firmware are released frequently; the IOIO-OTG can be upgraded without needing a programmer, by using the free IOIODude application.
The board includes a JST-PH connector for attaching a power supply (5V to 15V, so single-cell LiPo batteries will not work), plus there are several pin headers broken out for voltage and ground access. A trimpot on the board allows you to adjust the charge current used when the IOIO-OTG is acting as a Host. A USB-A to micro-A OTG cable is included which will let you connect your Android device to the micro-USB port on the board using the cable that came with your Android device.
View a list of tested Android devices. (Any Android with a USB Device or Host connection should work.)
Note: Avoid using long wires when powering your IOIO-OTG with 10V. This may cause your board to fail.
IOIO-OTG Board Resources
Optional Recommended Products for this Item