Hands-On with the Android Open Accessory Development Kit

Arduino Computers & Mobile
Hands-On with the Android Open Accessory Development Kit

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!

Flickr Photo Set: Android Open Accesory Development Kit at Google I/O 2011

46 thoughts on “Hands-On with the Android Open Accessory Development Kit

  1. Anonymous says:

    I know, from a die hard iPhone fan this is a shock…
    Things like this make me reconsider my decision to go with the iPhone in the first place.

    1. Stacy Devino says:

      Yeah, I switched to Android 1 year ago because “Hacking” was called Development. No Lawsuits, no Red Tape….

      After hacking iPods (hex editing)and iPhones/Touch for 5/6 years, I switched because I hated the games. Updates made specifically just to get rid of what you did. They mind-whored actual hackers…..

  2. Colin Faulkingham says:

    It looks interesting but at $400 is pretty much a no go for most I would think. The Microchip Android board is only $80, see http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DM240415

  3. Shane Thomas says:

    I hope to get more information on this, but I am totally confused. It is a board, based on arduino that costs 400$ and can talk to your Android phone? Is this like taking a regular arduino and hooking it up to your computer and controlling servos from a processing app? This sounds interesting, but 400$ ouch.

    1. Anonymous says:

      @google-50d026903563e045ca29cab1ad0b1d66:disqus and @colin_faulkingham:disqus,

      It’s $400 for the expensively made version with all the sensors on a breakout board from RT in Japan.

      The design files are available, so other vendors can make their own, and there are folks working on clones.

      After speaking with the team that designed this, it seems that (with the power requirement caveats I mention in the post) that you can use an Arduino Host Shield ($25-$40) + a standard Arduino ($35) for this.I’ll order a host shield right now and try this out when it arrives. I’ll do a follow up post with my results.

      1. Shane Thomas says:

        Very cool I am excited to see the results. IF i recall correctly one could have the android read serial off the arduino but one had to root their android to do this. Maybe the new ADK prevents that…and that host shield will solve the rest. That would be awesome.

      2. Mario Böhmer says:

        don’t get why they presented a cable bound version. Nobody would
        control their appliances via cable. They also said that bluetooth
        revisions are coming soon. But there are lots of other simple solutions
        to control stuff via arduinos. I did it by using a wifly shield, an
        arduino and a selfwritten application to read sensor data. The Android device communicates via sockets in the same network.

        Another even cheaper way is to use just an arduino connected to a pc.
        You would need to have a desktop application running which delegates the
        commands received over the wifi network via serial cable to the
        arduino. I used it to control RF wall sockets.

        I guess I will give the ADK a try by also using a host shield and an arduino.

        1. Peter Li says:

          Thanks, do you have any official link to info on the bluetooth revisions?  I already have a bluetooth dev board…  The WiFi route seems worth playing with too.

      3. Colin Faulkingham says:

         Apparently the Sparkfun USB Host Shield http://www.sparkfun.com/products/9947 also works. See, http://hackaday.com/2011/05/13/using-googles-adk-on-standard-arduino-hardware/ I am going to try it out. Its $15 cheaper then the circuits at home sheild 

  4. Justin Miller says:

    I want one, i’m so happy Google is moving into OS Hardware

  5. Josh S-S says:

    Why does the ADK use the FDTI chip and the ATMEGA1280 like the original Arduino Mega ?

    1. Anonymous says:

      That’s a good question. Not sure why they didn’t go down the LUFA path.

    2. Shawn Wallace says:

      I think that goggle is looking at this as a reference design that can be picked up by the OSH community. If they’re not getting into the business themselves, getting the whole PID/VID scheme worked out probably just seemed annoying.

  6. Anonymous says:

    Want. want. want. I couldn’t make the talk due to a problem my damned teeth. Peeved.

  7. Gregg says:

    @brian_jepson I don’t suppose you know when they will be available here?

    1. Anonymous says:

      Looks like about a week, at least for a demo. Check out @facebook-688761608:disqus’s comment. Hopefully Modern Device will be shipping this soon. Can’t wait to get one.

  8. Shawn Wallace says:

    Modern Device is shooting to have a demonstration board called the Freeduino Host at the Maker Faire next week. It is based on the surface mount version of the Arduino Uno reference design (instead of the Mega) and should be in the $80 price range.

  9. Daniel Carnes says:

    Does this remind anyone else of the old Sun O.A.K. development suite which was a precursor to Java? It allowed you to do the same things such as micro-controller integration and home automation. They even share the same acronym. I wonder if this is based on any of that technology?

  10. sketch sketch says:

    I just put the sketch on my Arduino Mega 2560 and put the my Sparkfun USB host shield on it. I connected my Evo to it and it didn’t get hot (according to Sparkfun the shield has it’s own regulator on it and it get’s it’s power directly from Vin). I can’t get the whole thing working yet, even with the newest Cyanogenmod nighly build (based on 2.3.4) it says it doesn’t have the libraries for accessory mode. I’m not sure if that’s because it doesn’t support it, or if they just removed it from the build.

    1. Alistair Walsh says:

      I’m getting (what I think is) the same problem. Using a Samsung Galaxy 5 with cyanogenmod 2.3.5 and cannot install the DemoKit app to the phone from Eclipse. I can run the app on the emulator but just can’t get it onto the phone.
      I suspect it is the google apps install on cyanogenmod after the google apps were removed from the main install. Can anyone confirm or deny?
      (there is also a little warning sign with an exclamation mark next to the “version number 2.3.5” where the phone is listed in “install to device” [2011-10-17 04:24:41 – DemoKit] Uploading DemoKit.apk onto device ‘I5500b584c2a6’
      [2011-10-17 04:24:43 – DemoKit] Installing DemoKit.apk…
      [2011-10-17 04:24:47 – DemoKit] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
      [2011-10-17 04:24:47 – DemoKit] Please check logcat output for more details.
      [2011-10-17 04:24:47 – DemoKit] Launch canceled

  11. B says:

    What device are you using?  I tried to install the DemoKit app on the Samsung Galaxy Tab 10.1 they gave away at the conference, but ran into an installation error.  I believe we need to wait until the 3.1 update before we can run any ADK related apps on that device.

    1. Anonymous says:

      I’m using the Nexus S; I’m not sure about Honeycomb, but I suspect you are right about needing 3.1. 

      1. B says:

        Yeah, looks like the Nexus S and Nexus One have the latest 2.3.4 update available.  Unfortunately, I don’t have either one, nor do I have the Xoom.  I’m itching to play with this. Very anticlimactic :(

Comments are closed.

Discuss this article with the rest of the community on our Discord server!

I'm a tinkerer and finally reached the point where I fix more things than I break. When I'm not tinkering, I'm probably editing a book for Maker Media.

View more articles by Brian Jepson