Clone this wiki locally
Welcome! Here you'll find all the documentation needed for using IOIO (pronounced "yo-yo") as well as contributing to its development. If you find anything missing, you can help yourself and others by creating a ticket in the "Issues" menu above.
The IOIO is a board that provides a host machine the capability of interfacing with external hardware over a variety of commonly used protocols. The original IOIO board has been specifically designed to work with Android devices. The newer IOIO-OTG ("on the go") boards work with both Android devices and PC's (details here). The IOIO board can be connected to its host over USB or Bluetooth, and provides a high-level Java API on the host side for using its I/O functions as if they were an integral part of the client.
You can purchase a IOIO-OTG board online from:
- Sparkfun Electronics (primary manufacturer - manufacturing, testing and service standards have been inspected).
- SeeedStudio (primary manufacturer - manufacturing, testing and service standards have been inspected).
- Duinopeak (OSHW manufacturer).
- Jaycon Systems.
Other versions can be purchased from Jaycon Systems, IOIOMint version from Adafruit or the Droidalyzer IOIO board from SeeedStudio. Droidalyzer IOIO and IOIOMint have some additional features such as onboard LiPO, header pins and laser cut mint tin case.
You can get answers to questions and get news about IOIO on the ioio-users discussion group.
The IOIO Gallery lists various IOIO projects to give you some ideas of what you can do with IOIO.
- Read This Before Connecting - a really short must-read for the impatient to avoid damaging the board.
- IOIO Beginner's Guide - a "getting started" step-by-step tutorial for building your first IOIO application.
- Eclipse Troubleshooting - problems and solutions to common Eclipse-related problems.
- Getting to Know the IOIO-OTG Board - information about the IOIO-OTG board and the I/O pins.
- Getting To Know The IOIO V1 Board - information about the IOIO board and the I/O pins.
- Power Supply (IOIO-OTG) - how to power the IOIO-OTG board, power considerations.
- Power Supply (IOIO V1) - how to power the IOIO V1 board, power considerations.
- IOIOLib Basics - overview of IOIOLib.
IOIOLib Core API - introduction to the
- IOIOLib Application Framework - an important set of utilities that simplify IOIO-based application authoring.
- Building IOIO Applications With Gradle - the latest and greatest way for building IOIO applications using Gradle, Maven and Android Studio.
- Digital I/O - get those 0's and 1's in and out.
- Analog Input - measure voltage.
- PWM Output - generate pulse width modulation signals.
- Pulse Input - measure pulse width and frequency.
- UART - communicate with serial devices.
- SPI - control SPI devices as a host.
- TWI - control I²C and SMBus devices as a host.
- Capacitive Sensing - touch-sensing by measuring capacitance.
- Motor Control Sequencer - precise and synchronized control of various kinds of motors and actuators.
- Downloads - this page has links to download all the software and firmware you'll need for development.
- Release Notes - change log of the various versions of the software and firmware.
- Supported Devices - a list of all tested devices.
- Supported Bluetooth Dongles - a list of all tested bluetooth dongles.
- IOIO-OTG Bootloader and IOIODude - a guide on using the IOIODude application that lets you upgrade the firmware on your IOIO-OTG board.
- The IOIO Manager Application - a guide on using the Android application that lets you upgrade the firmware on your IOIO v1 board.
- IOIO Bridge - use IOIO with the Android emulator or with a target Android being debugged.
Most users shouldn't care about this section. This is only relevant if you want to take part in developing IOIO or interested in hacking the underlying IOIO software.
If you're interested in taking part in IOIO development, please apply for membership in the ioio-dev discussion group.