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


  • @nickthecook, what configuration do you use?

    I can connect to missionplanner via wifi, and dynamic DNS (via NO-IP). However, via mobile internet, the android app conects with the mapper (both have green lights) but not with mission planner.

    Any idea of what can it be?

  • I have a dual otg cable, it seems to Work,


  • @Kim I wonder how the USB thing would work... if the phone is connected to APM via OTG cable, can you connect another device to the phone via USB at the same time?

  • @playfieldofangels I've been thinking about just that. Since we have a full smartphone on board we shouldn't need to add a pi, right?

    GoPros apparently let a client on their wifi network grab a video stream via HLS. An app on the smartphone should be able to connect to the GoPro via wifi, grab the stream, transcode it to a lower bitrate, and stream it out again over wireless. Maybe an app that does this already exists. Not sure about other cameras, but GoPro is pretty common, so support for that would be a good place to start, and easier than most cameras because of simple HLS over wifi.

    BTW, just had a couple of good flights using MAVDownlink for telemetry. Went over 1km, with no degradation in telemetry link. Flights lasted about 10 minutes each. MAVDownlink stayed open through both, and I was able to switch batteries without having to restart the app or the downlink.

  • right and maybe stream video from a usb fpv cam also connected, like a sort of ip cam

  • The single biggest use of this I guess would be having a server based a home and being able to fly from any part of the country and have the data from your drone show up on your field laptop ,, so i guess the data is relayed from the smart phone onboard, to your server at home then sent out to your laptop on location ?  Would it be better to have your field laptop be the server and the receiver in one unit rather than setting up a main server at another location ?? 

    Obviously if a person can use the smart phone over 3/4G network it would be far more reliable and allow  for greater operating distance  than the 3dr radio link .. the possibilities would be fantastic ..I am watching and listening to this blog with great interest..  Well done .. I am looking forward to the refinements of your idea.. 

  • Hey Ivan, It sounds a lot like you may be having a set-up issue with your network. PM me and I can try and help you get it worked out.

  • I made a connection via wifi with no problems.

    Also I can connect via mobile network, I got both green lights (server and client), but mission planner is not connecting... but with wifi it does.

    Can it be related to the baud rate?

  • Moderator

    In fact my day job is software development.  I haven't done much java in recent years, but I'd certainly be interested in taking a look.  

This reply was deleted.