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


  • Yes defiantly not working on Pixhawk.

    OTG not recognize the Pixhawk.

  • I did that, powered PH with my flight battery, waited few moments and then connected to phone with OTG. I know OTG it working since I use it for andropilot on same phone.

  • Hi Dusan,

    Sorry I didn't put this in my users guide, but you should use external power before hooking up your Pixhawk/APM to your phone via the USB port, otherwise the autopilot tries to use your phones USB power, which is probably not going to be enough. Let me know if that works for you. FWIW I think you risk damaging your phone more than the Pixhawk :)

  • I tried connecting my pixhawk to my Samsung galaxy S3 using OTG cable and it didn't work. By connecting OTG to pixhawk, pixhawk go dark, voltage drop is visually noticeable, all LED's go dim. I'm glad I didn't damaged my Pixhawk. I'm wondering if I can use second Pixhawk telemetry port to connect FTDI and run it on this port in addition to regular telemetry?

  • With the phone onboard you can also download a camera app like FV5 that does interval photos.  Plan your mapping mission in MP and it will tell you how many seconds between photos you need.  Fly the mission with the camera in the phone taking pictures at the interval and you can map as well as have comms.

    An android phone fits in the wing cavity of my Penguin with an access hatch at the top and the phone looking down through a small hole in the bottom of the wing.  I am sure most foam wing planes could find a place to bury in a small camera phone.  Sure the camera is not great but as long as you fly at 80m to 100m you get quite good photos.

    With this you have your comms and mapping in the one device.

  • Yes, if you're running LocalMavMapper.jar on a laptop, then launch MP on that same laptop, when you connect via TCP using MP, you should use "" as the IP address and 9998 as the port.

  • OK but you could run it on a laptop running your bridge software and MP.  I see from your manual that the receiving end needs the routable address.

    So on the laptop you would put the out address as and then MP running on the local laptop should connect?

  • Stephen,

    It would depend on what type of tablet you are running.. the way it's set up right now it requires a computer to run some server software that bridges the connection between the smartphone on the autopilot and the computer/tablet running Mission Planner/Droidplanner/etc. This software is super-simple and should be able to be run on any computing device with a fixed routable address... such as your tablet.

    I am planning on open sourcing this code after I clean up the code a bit. Once I do this you can perhaps try to side-load it on your tablet.

  • Developer

    Hi Dan,

    We can use either and UDP makes more sense, but many 3G carriers drop UDP with extreme prejudice ;-).  

  • If you had a SIM with an externally routable address like my Beagle SIM with a fixed routable address you could run a 3G/4G tablet on the ground and connect to the phone in the plane directly?

This reply was deleted.