Android GCS/PFD (proof of concept)

I played with an Android phone and UAV Playground and ported some of my GCS/PFD code.

- 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.

Views: 635

Tags: android, flightgear, gcs, pfd, playground, simulator, uav

Comment by Morli on July 11, 2010 at 12:07pm
very interesting , looking forward to see more of this GCS. Good work.
Comment by Bill Porter on July 11, 2010 at 12:43pm
Nice! Glad to see some work on a real open source hacker friendly platform like Android, opposed to the fad driven 'popular' closed source phone platforms out there.
Comment by jaron on July 12, 2010 at 8:48am
Patrick, the device I use is rooted because it ran on Android 1.6 and Samsung didn't provide the newest release.

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.
Comment by jaron on July 12, 2010 at 11:25pm
I haven't tried sending and receiving data over GPRS so far but as this is just communicating via TCP/IP I'm pretty sure you could use the standard Java socket programming to do so.
Comment by jaron on August 14, 2010 at 11:55am
I updated this blog post (first post) because in the meantime I tested the setup with some live data (s. Update 08/14/10).
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.

3D Robotics
Comment by Chris Anderson on August 14, 2010 at 1:51pm
Very cool! Once you hit the next development milestone, it might be worth a new blog post. I fear that this older one will get lost and this is interesting enough to deserve regular updates.
Comment by SciFly on November 1, 2010 at 9:12pm
This is great, though the screen of the android phones leaves much to be desired. Now with the android tabs coming out- there should be ample room for a full fledged GCS ..... any interest in expanding?
Comment by jaron on November 2, 2010 at 12:37pm
I'm quiet busy with other things at the moment. The cool thing with the phone application is the text to speech capability. You keep the phone in your pocket put your head phones on and listen to the incoming data.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2014   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service