APM Telemetry using an Android Smartphone


A big enabler for UAVs going forward, especially with respect to commercialization, will be improving telemetry range. On that note, I've released my MAV Downlink Android application and associated tools today.

MAV Downlink opens up a new communication pathway for you to talk to your UAV while it is on a mission. This pathway uses an on-board Android smartphone to push MAVLink communications onto the Internet, then adds an intermediate server that hosts these communications and binds them to interested Mission Planner applications.


Pictured above is the general gist of the application.

I have been using it for the last few months to be able to communicate with my Sky Hunter in flight at essentially any range as long as I am at a field with good cellular service.

I know this idea isn't totally unique as there are several guides on how to enable UAV telemetry using cellular modems. To my knowledge, though, this is the first application that enables you to accomplish this easily using an old Android smartphone you probably have laying around. The big gotcha is that the smartphone must have an OTG compatible USB port. Fortunately, there are many cheap phones with these, notably the Galaxy Nexus:

Right now, this application requires you to run your own dedicated server to host communication between the onboard smartphone and your MAV mission planning application. It also sends MAV commands in the clear with no authentication or encryption over public wireless airwaves. As such it is only really useful for hobbyists with good knowledge of networking.

It has also been brought to my attention that the Pixhawk cannot be connected to a standard Android phone via OTG. You may be able to put together a custom powered hub that connects to the Android phone but I cannot make any gaurantees. This has been tested on APM 2.6 and 2.5 boards.

I would like to develop this application further by adding dedicated servers so that virtually no set-up is required on the end-user's side. This would also enable me to add authentication and encryption to the communications channel so people using this do not risk their UAV being hacked.. no matter how unlikely that might be.

However, it works fine for me right now. Before I put any effort or money into improving it, I wanted to gauge public interest in it. Please let me know if something like this interests you by dropping a comment below.

You can try the application now. Here is a link to the Android application:
And the users manual:

E-mail me when people leave their comments –

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

Join diydrones


  • Any news regarding Pixhawk?


  • I've released an update that should support several different baud rates, as adjustable via the settings menu. This is something I am currently unable to test for lack of hardware so you guys will have to let me know if it works or not.

    I have also finished the formatting I wanted to get done before open sourcing this. You can find the software source code here:
    Android App: https://github.com/neonbjb/MAV-Downlink
    Downlink Server (MavMapper): https://github.com/neonbjb/MAVDownlinkServer

    Cheers guys!

    A MAVLink Interface App for Android Smartphones. Contribute to neonbjb/MAV-Downlink development by creating an account on GitHub.
  • @James I'm fairly handy with Java, so that does help me out quite a bit. If you put it up on github or something like that and want some contributions, I will merge any changes I make that work out, and you can include or exclude them as you see fit.

    I'm thinking some simple authentication at first, and maybe eventually to inject 3G signal strength into the MAVLink data if that's at all feasible. I'd like to be able to graph signal strength during or after a flight, so I know how close to losing connection I am.
  • Contacting via PM.

  • This is odd... the Mapper app, displays the MAV client connected but the android client not.
    In the android app I got the mavlink and the downlink connected.

    Mission planner does not connect.

    I'm running both mapper and planner in my notebook.

  • I am going to open source both the Android app and the Java version by the end of the week. Bill & Nick, I don't know if you guys are coders, but hopefully this helps you guys out. @Nick, if not, then yes I can build you a one-off APK.

  • James, any chance of getting an APK of your app? I just put Cyanogenmod on my Galaxy Nexus so I wouldn't have any of the Google cruft in order to maximize battery life and minimize data usage.

    Not having any extraneous Google apps running would also avoid latency spikes in telemetry data.

    I've just picked up an extra data-only SIM from Rogers to run this phone, can't wait to try some long flights with your app this weekend!

  • Moderator

    Do you think you could make it work with an Odroid U3 running android?  

  • James, shoot me an email at dmurray@unmannedsensing.com to discuss a public server
  • Moderator

    Wow, very cool.  Are you planning to put up a server for the general public ?  I'd be very interested if there was a publicly available server.  I've be messing with this on an off using a Raspberry Pi and 4G dongle.  

    Can the phone do anything else while the app is sending MAV data to and from the server? 

This reply was deleted.