IOIO (pronounced "yo-yo") is a bridge between Android devices and external hardware such as sensors and servos. IOIO enables you to add the computational power, touch display, connectivity, and built-in sensors (camera, GPS, accelerometer) of Android to your projects. IOIO can connect to any standard Android device (as early as Android 1.5) over both USB and Bluetooth. Here's a few IOIO projects which will give you an idea of what you can do with IOIO.
Note: that IOIOMint is based on the IOIO V1 board and does not include the OTG features of the IOIO OTG board.
Unlike Arduino based methods of interfacing with Android, IOIO differs in that the firmware is taken care of for you. You have full control of the IOIO pins from within your Android application code using the supplied IOIO Java-based libraries; no additional Arduino sketches are required! This significantly simplifies the process, allowing you to focus solely on your Android application code. In addition to basic digital input/output and analog input, the IOIO library also handles PWM, I2C, SPI, and UART control. The firmware is easily upgradeable using the IOIO Manager app from your Android phone.
IOIOMint is a special edition version of the IOIO board with the added features of an on-board LiPO charger, LiPO battery, header pins, included Bluetooth dongle, and micro USB board power/charging port, all mounted in a laser cut, mint tin package. IOIOMint is identical to the Droidalyzer hardware with the exception that IOIOMint does not include the alcohol sensor.
Chances are your Android device is compatible with IOIO but we cannot be absolutely certain as each Android device manufacturer can modify the Android build. The following devices have been verified to be compatible with IOIO. Nearly all devices will work with a MicroUSB cable, but not all will work with the Bluetooth connection, so please check it out!
IOIO has an active community of users who can be found on the IOIO users forum. IOIO is 100% open-source hardware and software, with permissive royalty-free license terms.
Plug and play connection support for USB (ADB), USB (Google OpenAccessory/ADK), and Bluetooth. No additional application code is required for USB or Bluetooth connectivity. The IOIO firmware and libraries take care of this plumbing for you.
* Note: IOIO has 48 pins. Two pins on IOIOMint are unavailable (pins 1 and 40). Also note Pin 41 is a dedicated special pin for reading the remaining battery life of the on-board LiPO battery which you can expose in your Android application. Outside of these three pins, IOIOMint is a fully compatible IOIO board.
Please refer to the IOIO Wiki for the full documentation of IOIO including pinouts, firmware, and libraries.
Getting Started with IOIO video tutorial (Running Time: 11 minutes)