At the Google I/O conference 2011 the new Android Open Accessory Development Kit (ADK) has been published. Lets have a closer look behind the ADK and howto made your own Developer Kit with a standard Arduino Uno board.
The ADK can be used to connect accessories to your Android phone and communicate between the Accessory and the Android via USB. The accessory has to implement an USB Host, while the Android acts as a USB client.
The ADK is only supported by the newest Android Software which is v2.3.4 for mobile phones and v3.1 for tablets. Two new USB modes has been announced. USB host (ohnly for v3.1 and newer) and the Accessory Mode (backported to v2.3.4). So only a few existing Android mobile phones can use this new USB modes. The Nexus One and the Nexus S for example.
Lucky me, I own a Nexus One, but this had a branded Firmware from Vodaphone with v2.1. So I decided to void the warranty and root the device, to get away from the branded firmware to the actual Google firmware.
The ADK page describes, what is needed, to get started with Accessory mode. The DemoKit App has been used without any modification. Instead of the Demo Kit I have build my own DIY DemoKit with an Arduino Uno, a Sparkfun USB Host shield and a selfmade IO shield.
The Sparkfun Host shield will not work with an Ardunio Mega or Mega2560 because of the different SPI pins. You can use the USB host shield from Circuits@home instead. This will work with all Arduinos buit is more expensive (40$).
The Arduino Firmware has been ported to Arduino Uno / Mega by Romfont alias Inopia, the guy who developed the MicroBridge (Android to Arduino Bridge via ADB). Because he didn’t own a Android phone with v2.3.4 he asks for help to test his firmware. The firmware works with some minor modifications and is attached to this blog entry.
Stackable Headers has been used on the USB Host shield, so the IO shield can be attached above. At the moment a micro servo, a RGB LED, a red LED (instead of a Relais) and a Sharp GP2D12 distance sensor has been succesfully tested with this DemoKit. An external power supply is needed to power the shields.
The Video shows a first test of the DIY DemoKit. It workls quite well.