figuring out the Antenna Tracker

3691139590?profile=originalNot many people know but we have an piece of open source software for controlling an Antenna Tracker.  It's been built by Tridge (Arduplane lead developer) for use in the outback challenge.

Sadly we have no documentation and, as far as I know, nobody except Tridge has used it.  Still given Tridge's track record on building great software I suspect it works well and if it doesn't, I'm sure we can fix it.  So to not let this piece of code go to waste, I'd like some help from people who are interested to give it a try and help me figure out how it works.

Here's the little that I know:

  • It runs on any of our supported board (APM1, APM2, PX4, Pixhawk, Flymaple and perhaps VRBrain)
  • For APM1/APM2 users building the code is as easy as opening our hacked ArduinoIDE and selecting File > SketchBook > Tools > AntennaTracker and then building in the normal way.  For PX4/Pixhawk, our autobuilder doesn't automatically build a binary but I can provide one if people are interested.
  • It can control a Pan and Tilt gimbal like this or this found on
  • It may or may not require a GPS
  • It must somehow receive vehicle position updates from the ground station which has the telemetry radio that is connected to the vehicle. Maybe through a USB cable.  Tridge probably uses the python ground station, MAVProxy, to passthrough the vehicle position data to the AT but perhaps we can get MichaelO to build out a similar feature in Mission Planner.
  • I imagine this antenna tracker could also be used to keep a camera focused on the vehicle which might be good for easing the burden on creating videos of our vehicles.

So if you want to give it a try please do and stick any findings, questions or issues below. Alternatively Issues can go into the issues list.

I'll start sticking things into the wiki as they become clear.

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

Join diydrones

Email me when people reply –


  • Developer


    If you've got a lot that would be great.  It's really total guess work without a log I'm afraid.

  • Hi Randy,

    I tried version 1.0 but run into some problems:

    1. While connecting, half way through loading the parameters from the tracker, the update slows down a lot
    2. I get error messages "failed to update home position"
    3. Heavy, unstoppable oscillations in both pitch and yaw
    4. Yaw points 180 degrees wrong direction

    I rolled back to version 0.8, and all works fine.
  • Randy,

    Since I do not have any available ports on my air-frame to jack in a ADSB receiver, has there been any discussion or progress on adding it to the antenna tracker configuration with air avoidance messages uploaded to UAV via Mavlink or or for that, matter a CGS to aircraft via Mavlink messages?

    Can this be done without impacting the message size and possible packet losses?

  • Hi Randy,

    Thanks for the update and thanks for bringing the AT to its first release! 

    I still plan to test out v1.0.0 but got side tracked with poor weather and quadplane experiments. Since my quadplanes will also use my AT, I know it will eventually be tested. :)

  • Developer

    I've gone ahead and release Tracker-1.0.0 as the official release.  I've tested it and I'm pretty sure it's better than 0.8 but if issues do come up we can either roll back or push out a patched release.

    Note that I've created this issue for Mission Planner to allow setting the PITCH_MIN and PITCH_MAX parameters conveniently from the Extended Tuning screen.  Hopefully MichaelO will take care of that soon but in any case, until that's done you'll see the older PITCH_RANGE field is greyed out but you can still set the two new parameters from the Full Parameter List or Full Parameter Tree screens.

    Tracker: extended tuning page PITCH_RANGE to PITCH_MIN, PITCH_MAX · Issue #1324 · ArduPilot/Mission…
    Tracker version 1.0.0 (now released) replaced the PITCH_RANGE parameter with two new parameters, PITCH_MIN and PITCH_MAX.
  • Nevermind, I found a solution. When using tcp, APM can act as a client or server. 

  • Hi Randy,

    I just finished building my new RPi3/Navio+/Wifi based tracker. I would like to test it with a SITL vehicle, via the Mavlink mirror feature in MP.

    I have no problem understanding, how I would need to set it up with a serial link to the vehicle, but I could not manage to get it to work over a network connection. My tracker has two Wifi dongles connected (The RPi3 onboard wifi gave me lots of problems). One is acting as a client to the real vehicles wifi AP, the other one is in AP mode.

    How should the antennatracker start command look like?

    Do you use mavproxy on the tracker?



  • Randy,

    Thanks for the blog link. I had not seen it before. KMEL makes sense for the Yuneec. I have a Q500+ 4K model so I was curious about tapping into some of the closed designs.

    I'll load v1.0 firmware and test it soon.

  • Developer

    You may have seen that I've done a blog post about Tracker version 1.0.  Basically this is 0.8 but it's got three improvements including the tilt compensation and PITCH_MIN and PITCH_MAX parameters replace the PITCH_RANGE parameter.  Version 1.0 is available through the Mission Planner's Beta firmwares link and if people think it's ok, I'll make it the official version next week some time.


    Sorry for the slow reply.  I've never used a Yuneec copter but I don't think they use MAVLink as their communication protocol so I don't think they will be compatible.  I'm not actually sure which flight control software Yuneec uses but I've heard it's KMEL (now owned by Qualcomm).  I think like many companies they're pursuing open and closed solutions.

  • Randy,

    The APM AT works great right now and has fulfilled my expectations for replacing my original ImmersionRC EZAntenna Tracker which I was always calibrating before use. The APM AT will only get better!

    A question on your work with the NAVIO2 WiFi tracker and the Parrot Bebop2. Will this solution have any application for Yuneec products? I ask because my assumption was that Yuneec may be using an APM derivative under the hood. This assumption is only based on their Gold membership in Dronecode. Perhaps it is unrelated to APM.

This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25