My best guess is that it was something of a gimmick for Google I/O. They never seemed well-supported by Google.
An alternative to ADK is the Android USB Host driver support. It's like libusb: for phones with the right USB controller, you can write little drivers in Java/userspace.
Here's an Android library you can use to talk to almost any Arduino, great for these type of "make my microcontroller smarter" applications: https://github.com/mik3y/usb-serial-for-android (full disclosure: I'm the author)
> My best guess is that it was something of a gimmick for Google I/O. They never seemed well-supported by Google.
I would agree. I created the Handbag for Android project (http://handbagdevices.com/) which was initially based on the ADK so I've spent a lot of time with it. In the ADK 2.0 release Google itself even moved away from having the physical USB link in favour of using Bluetooth.
When 2.0 was released I started converting Handbag to have the option of Bluetooth/WiFi/USB but the ADK stuff was so unreliable (and the debugging was ridiculous due to different issues on each Android version available at the time (2.x/3.x/4.x)) that it seemed like a waste of time to continue.
The goal of Handbag was to enable an Arduino sketch to create an Android UI and have bi-directional communication between the two devices. It could be interesting to adapt that aspect to run with the linked project.
Yeah when I heard about it I was really excited. I was big into Arduino back then. But unfortunately didn't have an Android phone.
Then the only time I heard of anyone owning the ADK was my friend who worked at Google. It seems they kindof gave them out as party favors. I thought it was a great idea & wished it would take off but unfortunately had to move away from Arduino anyway to focus on web engineering career and to this day(!) I don't own a smartphone.
Just Backed this up, and i had a chance to talk to their team and they are super nice, intelligent hardware makers in Egypt, if not the best.the kit uses the hardware components in your mobile device as if its embedded inside, and communicated with your device over a secured bluetooth channel.
If only there was some way to take advantage of all those hardware capabilities on the phone without the hassle of hooking up an Arduino. If only there was some sort of way to write 'programs' that take advantage of that hardware. But 'programs' sounds boring, we'll call them 'applications'. Wait, no...that has too many letters. I know! We'll call them 'apps'! You're gonna love 'em, they're the next big thing.
You're right. We don't need the Arduino, we can simply use our phone directly to control that RC car, open doors with passcodes and read the temperature of things.
Oh wait, a smartphone's hardware is closed, you get what you get (in terms of sensors and control) and thats it.
Hmm. It would be nice if we could extend the smartphone's hardware capabilities...
> Hmm. It would be nice if we could extend the smartphone's hardware capabilities...
on a more serious note, I'd love to see more widespread generic HW and SW agnostic GPIO/DAQ standard. HW agnostic meaning that you could make your own boards with whatever MCU you prefer, and interface it with whatever. SW agnostic so that it would work with Windows, Linux, Android, OSX, iOS etc painlessly.
I don't think there is any reason the current crop of consumer-grade MCUs couldn't do that. An adapter cable for the differing pin layouts (you're never going to get everyone to agree to the same footprint). On the PC side, they are almost all running the FTDI chip, with a driver that simulates the device as an RS232 serial port. So at that point it's really just making sure the data is standardized.
Hell, most of the devices have support for inter-platform RS232. You should be able to communicate between an Arduino and an MSP430 via RS232 (you might need some resistors in the middle, because I think one runs 1.7v hotter than the other).
The hardware situation is fragmented because I think people want the one-device-one-shield model. I don't think they want to deal with daughter boards dangling from adapter cables. The majority of users for these systems are either hardware novices or hardware-and-software novices. Most of the electrical engineers I know steer a wide birth away from them. And once they get invested in a platform like Arduino, jumping over to something like TI MSP430 is an effort that is at least as significant of an effort from where they started, while providing only a limited, non-obvious benefit (in that MSP430s are cheeeeaaaap).