Android Open Accessory DIY DemoKit
At the Google I/O 2011 the new Android Open Accessory Development Kit (ADK) has been published. This allows to connect Accessorys 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.
Unfortunatey, the Accessory Mode is only supported by the newest Android Software which is v2.3.4 for mobile phones and v3.1 for tablets. 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 Vodafone with v2.1. So I decided to void the warranty and root the device, to get away from the branded firmware and swap 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 Headerws 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