Android Open Accessory Development Kit | Android Developers
developer.android.com
developer.android.com
http://code.google.com/p/microbridge/
edit: a bit of technical background. We all know that most Android devices and almost all phones really only support USB slave. This is mostly electrical, their controller chips almost always support OTG or Host, but they simply do not provide +5v on the USB bus to power an external device.
Hence in order to talk USB with your phone you had the option of rooting your device and use OTG (if supported), or to make the accessory play Host. In the latter case the accessory needs to talk the ADB (Android Debug Bridge) protocol to the phone, which is precisely what MicroBridge did using exactly the same hardware as ADK (Arduino + max3421e USB host controller). The ADB protocol provides byte stream multiplexing over USB, meaning that your USB-enabled microcontroller can tell your phone to give you a bidirectional byte stream to TCP ports, running daemons like logcat, a shell, etc. To establish a connection with a running app, that app simply listens on a TCP port, and the MCU opens a byte stream to that port using ADB.
What ADK does differently however, is that it adds a new USB protocol to Android. It previously supported three configurations: USB storage device, tethering, and ADB. The new ADK protocol is much simpler than ADB and really just only offers a single pipe with just reading/writing functionality. This is much simpler to implement (although ADB wasn't exactly rocket science), but most of all it's much cleaner and doesn't require the user to enable debugging in the phone settings.
ADB implementations have sprung up recently for various microcontrollers, such as PropBridge http://robots-everywhere.com/re_wiki/index.php?title=PropBri... for the propeller (which also comes in a DIP package btw, really nice for hobbyists), and IOIO for the PIC24: http://www.sparkfun.com/products/10585. These people will support the new protocol as well, so I expect there will be quite a bit of hardware choice in the near future.
Right now, if you build some kind of appliance with the ADK, your market is limited to Android users. You're making a device for which the UI can be hosted on a user's mobile phone. But why does it have to be a phone? A proper Android competitor to the iPod would be a start, but here's what I would see as the game changer:
A $49 Android device with just a gigabyte or two of storage, no 3G, no camera, and an older ARM CPU, that can simply become the dedicated screen for something. You don't have to be an Android user and plug your phone into your exercise bike; your bike (or anything else in your home or office) just has a screen and a touch UI.
It would be much better if Google had simply mandated that starting with, say, Android 3.1, all devices had to support USB OTG (http://en.wikipedia.org/wiki/USB_On-The-Go) without needing to be rooted.
What I'd really like to see is host mode being supported by Google from the get go. Sven Killig managed to get that running on his Nexus One to great effect. http://sven.killig.de/android/N1/2.2/usb_host/
Instead, we've running TCP, on top of ADB, running on top of USB.
This whole ADK thing reeks of hardware-done-by-software guys. (Which is just as bad as software-done-by-hardware guys.) (I also hesitate to use the word engineer in this case.)
The AT90USB micro-controller has the same AVR core as the Ardunio which they're leveraging, and with LUFA, does fine in OTG or USB slave mode, and there are PICs that do USB if that's more your thing.
Electrically speaking, there is very little difference between a USB slave and a USB master, but unfortunately that's not something that's correctable in software.
Android is running Linux (specifically the kernel), which has drivers for a number of things, including USB card readers, printers, numerous USB-serial converters including FTDI, and other, more esoteric hardware too. Why re-invent the wheel, or in this case, drivers?
As for LUFA, I'm working on a port of MicroBridge to AT90USB. I'll get working on it as soon as I receive the dev board.
http://www.shmoocon.org/speakers#ubertooth http://www.shmoocon.org/2011/videos/Ossmann-Bluetooth.m4v
The project page is here: http://www.kickstarter.com/projects/mossmann/ubertooth-one-a...
I've been interested in that concept for a few years--the idea of "craft consumer electronics": small run, customised to a particular niche that isn't viable at large volumes.
I'd be really interested in finding people who were interested in exploring this area. I've had some conceptual thoughts around solutions but nothing concrete.
I, for one, hope so. Can't wait to play with this.
I'm teaching an introductory Arduino workshop at OSCON (O'Reilly Open Source Convention) again this year in July. Last year at OSCON Google had a big Android workshop, I'm curious what impact this announcement will have on interest in the Arduino workshop.
In addition to phones, this opens the way for customa add-ons to Google Tv box.
Sparkfun sells a cheaper version of Oleg's shield, although it seems to be out of stock right now: http://www.sparkfun.com/products/9947. Note that this shield doesn't work out of the box with the mega 1280/2560 boards because its SPI pins are located elsewhere compared to the smaller 168/328p Arduino boards like the Deicimila. You can do a hardware hack if you really want, but long story short, just get Oleg's shield.
edit: I've had a look at the code, and I can confirm this will work fine with either Oleg's shield or the Sparkfun shield, on a standard Arduino. So price-wise I'd say about $45 plus shipping from SF when they get their shields back in stock.
The site was down before but seems to up again now (it seems like the page was also empty the first time I looked--guess they just made it visible).
I'm not familiar with the company.
From the documentation it seems like a standard Arduino (Mega?) with the USB Host shield will also be compatible--depending on memory limitations.
The site it links to, however, is less than useful for English speakers. (I think the site might be down under the load? I've been getting intermittent errors.)
Supposedly it's available immediately...
Though with machine translation I must admit I'm at a loss. Maybe they presume 3rd parties will step up to sell them on their own?
The gerber files are included in the download on the page: https://dl-ssl.google.com/android/adk/adk_release_0506.zip
Waiting for someone to jump on this...