IOIO Input/Output board for Android

I’ve just received one of these wonderful little I/O boards for Android. The IOIO connects to an Android phone or tablet via USB allowing it to act on external inputs and control external devices, no modification of the Android device is required and no firmware programming is necessary, just ordinary Android application authoring with a very simple API for controlling the pins on the board. Optionally it can also provide power to charge the phone or even run some external devices such as small servos.

By allowing you to use all the computing power and connectivity of an Android device along with its built in sensors and devices such as the display, camera, GPS, Bluetooth, WiFi, gyroscope, accelerometer etc. for interfacing with external peripherals the IOIO opens up a whole world of possibilities. I don’t have any specific use in mind for mine at the moment, I’ll just be experimenting for now but there is obviously huge potential there.

IOIO Main Features:

  • 48 I/O pins – all of which can function as digital inputs and outputs
  • Up to 16 analogue inputs (10-bit)
  • Up to 9 PWM outputs
  • Up to 4 UART channels
  • Up to 3 SPI channels
  • Up to 3 TWI (I²C-compatible) channels
  • On-board switch-mode regulator providing up to 1.5A of 5V supply.
  • Can charge the Android device as well as power a couple of small motors
  • Bootloader on the board pulls firmware off phone, enabling OTA firmware upgrades and application-specific firmware.
  • Pulse-width measurement, capacitance sensing and more (will be pushed with first OTA firmware upgrade)

The Android Open Accessory Development Kit (ADK) recently announced at Google I/O has some similarities but for the hobbyist the IOIO has some major benefits compared to the ADK as it currently stands. The IOIO is a lot cheaper for starters (50USD v 400USD) and is easier to use since you only will need to write code for your app, no embedded programming in C++ is needed and whereas the ADK requires Android 2.3.4 or higher the IOIO will work on 1.5 or above so recycling old handsets for use in a project is possible. It is hoped that the ADK protocol can be added to the IOIO in future.

The IOIO is open source (both hardware and software) and was developed by Ytai. It is available to buy online from SparkFun here.

There is an online user guide available, a discussion group and a great beginners guide from SparkFun here.

2 thoughts on “IOIO Input/Output board for Android

  1. Hi Sir, thanks for your article. So for now, is this still the best method to pass digital signal to android devices. My use case is to let phone response different action for outside digital signal. the signal should from 0 to 10. Thanks for your reply.

  2. Hello, i am interested to know something else about this product:
    1. It should be possible to have it enclosed in a case (industrial model, DIN RAIL compatible)
    2. Is it powered by USB (5V)
    3. Cost of the product (included option 1)

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.