Android and support for IOIO device?
Moderators: adafruit_support_bill, adafruit

Android and support for IOIO device?

by st2000 on Wed Nov 14, 2012 4:35 pm

Hi,

Before I consider buying (try yet another type of) an IOIO device, I was wondering what my options are.

I have a Microchip Android Developer Kit here. Essentually another IOIO type device. It does not connect to an HP TouchPad Cyanogenmod7 Tablet or HP TouchPad Cyanogenmod9 Tablet. So we went out and bought a brand new just released Google Nexus7 Tablet (I think the new 16GB version - as of 2012.11.14). Well, that doesn't work either!

What does work are 2 (privetly owned) Android phones and a (privetly owned) Samsung Tablet. So, after wasting all this time (that my boss is just so happy about) I want to ask first before exploing any other option. What might I expect from the new adafruit.com IOIO device? Might it work where the Microchip Android Development Kit failed?

-thanks
st2000
 
Posts: 17
Joined: Fri Oct 28, 2011 7:08 pm

Re: Android and support for IOIO device?

by st2000 on Wed Nov 14, 2012 7:40 pm

Ok, so it sounds like the Microchip version of the "IOIO" board happens to not work with the new (as of 2012.11.14) Google Nexus7 because Google broke the support (not exactly my words) for talking to this type of device in Jellybean??? Here, read this:
http://www.microchip.com/forums/m665986.aspx
...I'm not sure if it is just the new Google Nexus7 that does not work or if it is all Jellybean based Android devices. This thread also contains a fix to the PIC code (I believe - have not tried it yet). Maybe someone who knows more about the IOIO device from adafruit can comment if the same problem is expected here. (BTW, if the IOIO board is using the same Microchip "library" file called "usb_host_android.c" before it (I assume) has been updated/fixed, then the problem will probably exist here as well.)
st2000
 
Posts: 17
Joined: Fri Oct 28, 2011 7:08 pm

Re: Android and support for IOIO device?

by ytai on Thu Nov 15, 2012 1:57 am

The biggest difference is that all ADK variants (the Microchip being one of them) only work on Android devices supporting OpenAccessory. These are only ones running Android 2.3.4+, and even among those, many DO NOT support OpenAccessory.
IOIO works virtually with ANY Android version (there were a few esoteric Android builds that where found not to work, but they are rare) - if the device happens to support OpenAccessory, it can use that, otherwise, it can fallback to ADB which exists on any phone.
In addition, the IOIO can use a Bluetooth dongle to communicate with the Android, without any changes required in your code.

Another huge difference is in what the software provides you. All ADK variants will basically provide you a bare-bone channel between the Android and the board. Now it is up to you to write firmware for the board, and software for the Android, establish some communication protocol between them, work in two different development environments and languages. Well - you get the idea...
In IOIO, the board comes pre-programmed with firmware, which you never need to worry about (you can if you really want to). You write only the Android side of your application, using high-level Java APIs for controlling the pins in various ways. This about it like it turns your Android into and Arduino, as opposed to allowing you to connect your Android to an Arduino. In addition to making it a lot simpler and faster to develop applications, it also gives you seamless switching between wired (USB) and wireless (Bluetooth) connections without your application ever needing to care about it.

Disclaimer: I invented the IOIO :)

In the future, the ioio-users Google group might be a good place for IOIO-related questions.
ytai
 
Posts: 4
Joined: Sun Nov 20, 2011 12:15 pm

Re: Android and support for IOIO device?

by st2000 on Thu Nov 15, 2012 3:34 am

I will head over to the google groups just as you say. But before I do I would like to round out this thread by makeing sure I understand what you said...

The Microchip can only use Google's AOA (Android Open Accessory?). Where as the IOIO board can use AOA and ADB (Android DeBugging?). So the IOIO board should, for example, be able to work with software like Caynogenmod 9? As well as hardware like the new Nexus7? That would be so great! Maybe I'm just blind, but this information was not evident to me. And after spending days on this I wish I had been made aware of this sooner.

-thanks
st2000
 
Posts: 17
Joined: Fri Oct 28, 2011 7:08 pm