I played with an Android phone and UAV Playground and ported some of my GCS/PFD code.
Setup
- FlightGear flight simulator is controlled by UAVsim
- UAVsim receives FlightGear telemetry data and sends it to an Android device via Bluetooth
- Android device graphically displays the telemetry data
- Android device uses text to speech to announce telemetry data
What's it good for?
It's a proof of concept that should demonstrate what an Android phone is capable of.
It's not a ready to use GCS or PFD and I haven't planned to include the code into a next release of UAV Playground.
My opinion
- The Eclipse Android IDE makes programming an Android device supersimple
- Once you've got the concept behind Android then it's more or less just Java and OpenGL programming
- The performance of the Samsung I5700 (800 MHz + GPU) is surprisingly good at a cost of only $300
What's next?
I'll connect a Bluetooth adapter to an XBee to receive live telemetry data on the Android phone.
Update 08/14/10
Yesterday I made some successful test flights with Intermezzo 100. In the setup I used an ArduPilot, two XBee Pro modules and a BlueSMiRF Gold Bluetooth module from Sparkfun. As this is just a serial connection from the plane to the Android device, I used my SimpleSerialization library for the Arduino to serialize and deserialize the telemetry data.
Comments
There was no FlightGear or UAVsim involved this time. The setup involved an ArduPilot, an Arduino, a couple of XBee modules, a Bluetooth module and an Android phone.
To my understanding you don't need root access to program an Android device and once you can upload your custom application, you certainly don't need root permissions to access the sensors etc.
The simplest way to find out whether you can program your Droid X is to install the Eclipse Android IDE, set your phone to debugging mode and upload the tutorial examples.