IOIO Board for Android Controling

IOIO Board for Android Controling
Microcontroller can control devices.Now Android phones can also control boards like IOIO Board.
The IOIO (yo-yo") is a board that is specially designed to work with your Android devices (OS versions 1.5 and later). The board provides robust connectivity to an Android device via USB connection and it is fully controllable through an Android application using a simple and intuitive Java API - no embedded programming will ever be needed!
So far, the devices proven to work with IOIO board are: G1, Nexus One, Nexus S, Motorola Droid X. If you get the IOIO working with your Android device, please let us know in the comments below which one do tou have, thanks!
The IOIO board contains a single MCU that acts as a USB host and interprets commands from an Android app. In addition, the IOIO can interact with peripheral devices in the same way as most MCUs does. Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART control can all be used with the IOIO board. the Code that controls these interfaces is the same as an Android app code. In other words, you can combine the awesome computing power, Internet/Bluetooth connectivity, touch screen, and a variety of sensors from your Android device with the ability to easily 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.
If you are new to the IOIO or developing apps with Android, please use these resources that we did choose for you to help you to get started:
For firmware upgrades, you can download the IOIO Manager app . look the IOIO Manager wiki for more information.
Specification Summary
  • Microcontroller PIC24FJ128DA106-I/PT (with USB OTG , USB Host Support)
  • 48 total I/O pins - all of which can function as digital inputs and outputs.
  • Up to 16 analog 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. (Power Supply via USB cable from PC or Device)
  • 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).
Update: The IOIO now has beta firmware available which supports Google's Open Accessory (ADK) protocol. The code base can be found here.



This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to show how to write a simple app that communicates with the IOIO board.

IOIO Board for Android Controling

The programming language used to write an Android app is Java. If you are not familiar with Java, this tutorial will only go over writing a simple Java app using the IOIO library. This tutorial will not cover how to write Java code nor will it cover how to use the rich features within your Android device, like GPS, accelerometer, touch screen, etc. Once you get to the point where you want to use the vast array of features on your Android, we suggest first looking at the technical resource section on If you still can't find the examples you are looking for, simply browsing the web will result in a ton of information and examples that show you how to communicate with all of the great pieces of hardware within your Andriod device.
In general, the holy grail for developing Android apps is There, you will find most of the information on Android development. For documentation/downloads specific to the IOIO and for more advanced discussions about the IOIO, see these links:

Gathering Your Hardware

Here are the pieces of hardware you will need to complete this tutorial:
  • Android enabled device using OS 1.5 or greater.
  • IOIO for Android board
  • USB cable that is compatible with your Android device
  • 5-15V power supply with at least 1A of current. You will need to power the IOIO through the VIN and GND pins or there is an optional JST connector on the back of the board. It will need to be soldered into place and can be used with this adapter and wall wart power supply. More information at the end of the tutorial found here.

Installing the Development Environment

The Eclipse IDE (integrated development environment), the Android SDK (software development kit), and the JDK (Java development kit) are the primary pieces of software that you will need to install. The page has written thorough instructions on what exactly you will need to download. Please read the instructions carefully, they are found in the link below:
ATTENTION: You must use JDK v6 (not v5 or v7) for Android development.
If you have any problems, see the Troubleshooting section from
When you reach Step 4 in the Android SDK tutorial, you will at least need to install the SDK components relevant to the Android device you will be working with. For example, if you have an Android phone, goto Settings > About Phone and scroll down to Android Version. You must install the SDK platform corresponding to the Android version of your device.

Filled Under:

5 commentaires: