AntennaTracker v1.0 on NAVIO2 with Bebop2

ArduPilot's Antenna Tracker firmware has been making some quiet progress over the past few months.  They're all documented in the Release Notes but at a high level the improvements include:

  • More accurate control due to bug fixes in how the vehicle's position estimation was done
  • Smoother movement through additional filtering
  • Separate servo types possible for yaw and pitch axes
  • Tilt compensation meaning it tracks the vehicle accurately even when the tracker is leaned over
  • Improved Mission Planner setup screen (i.e. Extended tuning page)

The parts I used to build my tracker included:

I used a NAVIO2 instead of a Pixhawk mostly because it's easier to make a Wifi connection this way.

I haven't yet tested the range of the telemetry connection to the Bebop2 but I suspect it's between 1km ~ 2km.  In fact, the antenna used here is not ideal for use with the Bebop2, a simpler non-Helical antenna like this one would likely do better.

Some limitations of this setup:

  • we don't yet support receiving live video from the Bebop2 but this is coming within the next couple of months so during this test I simply had telemetry data from both Tracker and Bebop2 visible in the Mission Planner
  • the networking connection between the PC to the RPI2 was quite simple but not very flexible.  For whatever reason the PC and RPI2 nearly always appear with the same IP addresses so the Tracker startup scripts were hardcoded to always uses these.  It would be better to setup dhcp on the RPI2 to set PC's IP address
  • the bebop's Wifi ssid is hard-coded in the script on the RPI2.  If someone wanted to repeat this setup they would need to change this to match their particular Bebop.

In case people want to replicate this setup, I've uploaded an image to here.

Thanks to the beta testers for their ideas and feedback and Stefan Lynka for his code contributions.


E-mail me when people leave their comments –

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

Join diydrones


  • am trying o built antenna tracker using navio and raspberry pi 

  • hey can you guide me how you made it

  • @Randy, here's an update on my tracker. All the mechanics and electronics are set up (using a bridging 3DR radio to GCS). I'm having trouble with the tuning. Any chance you are willing to share your parameters?

    Video of tracker


    Log In or Sign Up to View
    See posts, photos and more on Facebook.

    Just need driver to read PWM from Pixhawk

  • Developer


    Looking good!  It really is quite massive, you'll probably be able to fly to the moon and still have a good telemetry connection!

  • @Randy, here it is mounted on a crappy tripod. Need to get a stronger one before I snap something! But it is huge at 5.88 lbs (pan-and-tilt rated at 6 lbs).

  • Developer


    Yes, I think that's how it should work.  I've heard that the size of the antenna grows exponentially (or at least not linearly) as the dBi goes up.  So that antenna, at 16dBi, I can imagine is quite large.  It'll be interesting to see what it's like once it's together.

  • @Randy, I have just received my order of AirMax 900 16dBi Yagi antenna which I intend to use to build a tracker following instructions from These are massive antennae! My question is, given that this yagi has dual SMA cables/connectors, when using with the RFD900 radio, do I just connect both SMA of the yagi to the two SMA of the RFD900? Thanks!

  • Hummm does the tracker produce a log file?

    Being able to hand off would be really good for search and rescue to cover really large territory.

    Being mobile would be great for the desert too.

    Haha your gonna make me break out my old tracker and fix it up!

    Is there a group or mailing list or something for the tracker?

  • Developer

    @Monroe, I also noticed the lag.  I'm sure that can be reduced by reducing the input filtering on the PID controllers.  So there are a couple of new parameters (YAW2SRV_FILT, PITCH2SRV_FILT I think) that are currently set very low (0.1 I think).  That makes everything really smooth but might be introducing some unnecessary delay.

    We should also double check the slew rate 'cuz I think it's a bit low by default.

    We could also introduce a feed-forward into the control to make it respond more instantaneously.  Right now, because it lacks that, an angle error needs to be present before it starts moving so it's always play a bit of catch-up.

    The hand-off is totally possible I think.  With the wifi connection (and the access point being on the drone in this case), there's no reason why multiple ground stations (and their antenna trackers) couldn't connect at the same time.  We might just need to modify the ardupilot startup script on the drone (i.e. the Bebop2) so that it listens on a bunch of extra ports.

This reply was deleted.