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.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • 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.
  • 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?
  • 3D Robotics
    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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Admin
    very interesting , looking forward to see more of this GCS. Good work.
This reply was deleted.