Andrino Proposal

A couple year old Community/Exhibition post extols the advantages of using an Android device as an Arduino display, communicating via USB. The same post laments response time for tasks such as updating graphics.

Android tablets and phones usually have great displays, quite a bit of computing power, wifi, bluetooth, GPS et al, i.e., most capabilities you might hope for in an Arduino tricked out with a shield or two. What is more, I have found decent phones frequently available around $20, subsidized by Virgin Mobile in hopes you will activate and pay their monthly service fee.

What they don't have is a handy array of analog and digital I/O pins.

Enter the "Andrino" - a small I/O board for Android devices that interfaces via USB, and could either receive or supply power via its USB connector.

It might be quite a trick to port Arduino code to Android devices, but a most useful trick.

What do you think?

It's been done? Arduino - ArduinoBoardMegaADK
Mind you, it could probably be done BETTER now. The original ADK board assumed that an android thing could only be a USB "device", and forced the Arduino to handle the USB "host" functions; a requirement that apparently complicated things WAY too much for most Arduino folk. Nowadays, it's more common for an Android thing to have USB OTG (host) functionality...

The Arduino MEGA ADK exemplifies a philosophy approximately opposite my proposal.

Instead of programming an "accessory" for Android, then developing an Android app to communicate with it, why not keep all the logic in the Android app? The only requirement of the "accessory" hardware would be to communicate I/O signals through the USB connection. A board designed for the purpose would require no additional programming. Unless you really need lots of I/O, it would not need "MEGA" in its name! Dimensions much smaller than its host phone/tablet should be adequate.

It appears that the Arduino iDE has already been ported to Android. See

Now the trick is to get Arduino sketches to run on the Android device, either directly as apps or as resources for apps, with libraries configured to access external I/O supplied by "Andrino".