Android Open Accessory

Nice work Blake, looks like we have a winner. We will try it on our end to verify the code functionality and then send you a $500 coupon :slight_smile: What services does the accessory interface provide?

Not only this $60 replaces the $400 google kit but actually give you a lot more flexibility and features than arduino. This is going to be fun to play with.

Nice work! You beat me to it!
I was trying to make my HTC Incredible with nightly built of Cyanogen to work with Domino. Had to jump some hoops just to be able to deploy ADK sample on the phone. But at the end it enumerates itself as a device that does not support Android accessory protocol. :frowning:

Well, I have to wait for a good 2.3.4 update for my Incredible.

Wow! I coughed and it appeared. Freaky magic! Thanks for staying up late Blake.

@ Architect - I’m playing the waiting game, as well.

Right now you can customize the strings that the accessory uses to identify itself, and it creates a bidirectional byte stream (like a TCP socket or serial port). After that point, it’s a question of layering on the value. But right this second, it’s a protocol driven by the Android – he sends a command byte, the FEZ sends a response byte. So the Android basically says “turn LED on”, “turn LED off” and “get me the LED and button status” and the response to all of those commands is the current LED and button status.

Does any of the built in current android apps support some commands in accessory interface? (yet!)
I mean can you use FEZ to change the song on an android phone with out coding anything on android?

I doubt it.

But isn’t that the whole point from accessory? I mean when you plug in your phone to a dock that is an alarm clock, shouldn’t you be able to do some control to the phone from the dock? This is how things work on iphone at least!

I agree.

As I understand, when an accessory is plugged in, it pushes following info to the android device


manufacturer name:
model name:
description:
version:
URI:
serial number:

Android os checks what applications have intent to use an accessory that matches that information. If it finds such application(s) it presents the choice to start a particular one (in case of multiple matches) or just starts the app.

The point is that an application developer has to have initial knowledge of an accessory that he want to be able to communicate with from his application.

Watch this video towards the end, it shows how all works together Google I/O 2011: Keynote Day One - YouTube

Very cool

Can you tell time marker, please? Video is too long. :smiley:

about 75% to 80% through the video.

This is what I was talking about :slight_smile: atoms&electrons | software in the service of making real things

Where is my android! I got to make one for me … but Ia m using FEZ for sure :slight_smile:

That is super slick! Helps to have “leftover” components lying around and a laser cutter in the garage :slight_smile:

on make blog now
http://blog.makezine.com/archive/2011/05/android-open-accessory-running-on-a-fez-domino.html

Microchip announced PIC24F based Android Accessory Kit, $79.99 available in July:

http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DM240415

cool, still cost more than domino and has less…much less hardware and software features

This is amazing news!! Alongside the Gadgeteer news too.

You Tube video of Microchip’s board (relatively simple. FEZ will be better - and cheaper)

Did you do all of the goofing off in order to restart it in accessory mode, Architect?

Yes, I did. Everything according with specification.