Yesterday, Google announced their open accessory kit based on Arduino. Although they aren’t immediately available for sale in the US, they (or something like what you see in this post) will be soon. Also, the design files are available as part of the ADK, which you can download from here.
NOTE: My understanding is that this is based on the Circuits@Home USB Host Shield. If anyone out there has one of these shields, I’d be really interested in hearing in the comments whether the sample app Just Works for you. You’ll need to wire up the sensors and actuators used in the demo kit, but many of these are simple (buttons, LEDs, relays). WARNING: if you try this, the phone will try to draw a charge from the USB Host Shield, which could cause your Arduino’s voltage regulator to generate a tremendous amount of heat if you’re using an external power supply, and will most likely cause your computer to turn off the USB port if you are using USB. So you can either send 5v into the Arduino, bypassing the voltage regulator, or use a beefy USB power supply (such as the 2 amp USB power supplies that come with the iPad and some phones).
Google gave away a few hundred of the kits here at Google I/O 2011, and I got my hands on one. Inside the box are two sub micro servos, a shield that’s loaded with buttons, LEDs, relays, and more. And the board itself is based on the Arduino Mega design, with the USB host module added (this means that there are two USB ports: one to connect to the Android phone, and the usual one to connect to your computer for programming/serial monitor access):
The complete instructions are here. I’ll cover the highlights below and comment on a couple of the things that confused me when I followed them:
To get started, you’ll need to download the Arduino Software, and also install some add-on libraries from Google and one (CapSense) from the Arduino Playground. Although the Google instructions tell you to install the libraries in the Arduino installation directory, I think you should install them in the libraries directory under the Arduino sketch folder (in Arduino, click Sketch then click Show Sketch Folder, and go up one directory level). Be sure you quit and restart Arduino after you install the libraries.
Next, you need to install the demo sketch to the Arduino-compatible ADK board.
That’s the easy part. Next, you need to go into the Eclipse development environment, and get ready to compile and install the app to your phone. If you have never set yourself up for Android development, set aside about an hour for downloading, installing and configuring and then follow these instructions. After the Android SDK is set up, you will need to install the Google APIs level 10 add-on library and import the sample app, then deploy to your phone. The instructions here tell you how to do it. If you get confused like me, note that the Google APIs level 10 add-on is found under “Third party add-ons.”
And once you get it running, you’ll be able to play around with the demo board. One of the app’s tabs lets you play with inputs (buttons, capacitive sensing, joystick, temperature, light) and the other lets you control outputs (servos, LEDs, etc.). Have fun!