Arduino for Android
Well what the heck have I been doing for the past three weeks? It seems like I've been going around and around in circles trying to research resources on the www to help me learn how to make apps for Android and so eventually develop accessory applications. Why so hard so far?
Strengths
- Done some java before
- 18 months of Arduino
- Some electronics knowledge
- New to smart phones and tablet PCs
- New to Android dev tools
- New to Eclipse Juno
- New to USB protocol and Java supported classes
- ......
I mostly use my now tiny featureless phone for texts and calls. I have a Dell mini with 3G that never got used over 3G, because I always used local WiFi - a lot cheaper.
Moving on to Android
Apart from being new to all of
this, the hardest part was finding out which tablets (or phones) supported Android
Accessory and the ADK.
- It isn’t just a case of getting a tablet with the correct operating system, because some hardware doesn’t support it even when the manufacturer claims it so! My cheap and cheerful tablet (<£100) doesn’t, so beware of these. You can build and run non-accessory apps on these of course.
- Hardware claims by the manufacturer may be let down by the USB chip in the machine not having the correct drivers, also some of these tablets have little or no support. In fact that seems to be a symptom of the low-end Android industry
- The operating system may support Accessory, and you can check that at http://developer.android.com.
- But they may not support future.usb and so the example code needs non-trivial modification, at least for a new starter. You need to use hardware.usb in that case.
Ok that’s the whinge over - to positive thought and actions!
I need to order a Google Nexus 7 (from Google Play) and an Arduinomega ADK By doing this I hope to reduce my unknowns. The Nexus also supports Blue Tooth, which will also come in handy when paired with a BlueSmirf module see link: Android-Arduino over BT.
So there should be cross-compatibility
with most of the stuff I want to do with my Android tablet and Arduino to learn about making Android USB accessories.
Here are some websites and tutorials I used and found very helpful:
Making Android Apps in Eclipse
Juno
Forum for coding issues
http://stackoverflow.com/
Eclipse IDE
http://www.eclipse.org/juno/
Android Tablets questions
http://www.androidtablets.net/
Hello World Tutorial
http://developer.android.com/training/basics/firstapp/building-ui.html
Nice simple and fun touch-screen app
http://marakana.com/tutorials/android/2d-graphics-example.html
http://stackoverflow.com/
Eclipse IDE
http://www.eclipse.org/juno/
Android Tablets questions
http://www.androidtablets.net/
Hello World Tutorial
http://developer.android.com/training/basics/firstapp/building-ui.html
Nice simple and fun touch-screen app
http://marakana.com/tutorials/android/2d-graphics-example.html
I got the above tutorials working
nicely on my low-end Tablet (ICS 4.0.3)
Very interesting post on Android and Arduino BT
Android Lectures
This is a Chinese website but the lectures are in English. Lecture 16 and 17 are usb.hardware.
Very interesting post on Android and Arduino BT
Android Lectures
This is a Chinese website but the lectures are in English. Lecture 16 and 17 are usb.hardware.
The ones below obviously didn’t work yet
(need the new Tablet):
Android Accessory:
Simplified ADK Accessory - Arduino Blink meets Android
http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/
Kindle book Example (Evil Genius series)
http://www.amazon.co.uk/Arduino-Android-Projects-Genius-ebook/dp/B006L65MSM/ref=sr_1_sc_2?ie=UTF8&qid=1361461839&sr=8-2-spell
Simplified ADK Accessory - Arduino Blink meets Android
http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/
Kindle book Example (Evil Genius series)
http://www.amazon.co.uk/Arduino-Android-Projects-Genius-ebook/dp/B006L65MSM/ref=sr_1_sc_2?ie=UTF8&qid=1361461839&sr=8-2-spell
And the associated book website: http://www.duinodroid.com
I'll keep posting updates as I progress in the development of Arduino for Android.