Not 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.

Views: 65363

Reply to This

Replies to This Discussion

Hello, ;we are africans and we want to sharemany tricks of DIY with you . To know more about what we are talking, join us here

I made some upgrades to my AT this year which includes the video downlink system. My AT is designed to point an ImmersionRC SpiroNet 5.8GHz antenna to the copter for my 5.8GHz video downlink. The 13dBi gain RHCP patch antenna has a 35 degree vertical and horizontal radiation pattern. If the AT fails to point properly, my ImmersionRC Duo 5800 receiver can automatically switch antennas to a Circular Polarized (RHCP) SpiroNet omni-directional antenna which has about 1 dBic gain. It will be interesting to see this summer how the AT performs using my APM copters and planes, which also have the Circular Polarized (RHCP) SpiroNet omni-directional antennas.

For the telemetry links, the AT uses an RDF900 to talk to my Tarot copters, Skywalker plane, and FireFLY6 VTOL. For the GCS link, the AT uses a 433MHz telemetry set so it doesn't jam the 900MHz telemetry. This has been working very well with Mission Planner v1.3.34.

I recently changed both the position and antennas of my RDF900 unit on the AT because it was interfering with the Pixhawk control of the servos. At first, I thought it was because I was using the Pixhawk to power the RDF900 unit but even after changing it to a 5v BEC the problem persisted. If I placed my hands over the antennas, the problem was gone. My power level is set to 25 (not 20 or 30max) so I may reduce this to 22, if needed. The new position of my RDF900 greatly reduces the radiation interference to the servos. Also, changing from the smaller antennas to the longer antennas reduced the interference even more.

It was relatively warm outside today for the last day of January in upstate NY so I took my AT and copter out to the backyard. Another weather oddity for this winter is that my backyard was snow free! :)

Anyway, I made another set of logs (20.bin) for Randy with good GPS locks. The yaw was perfect and the pitch non-functional using the v0.7.5 firmware.

On the HUD, is there a way to clear the purple path once things settle down and aren't moving around?


I have been working on a copy of the AVR version of this project and I have replicated this same inconsistent pitch problem. In an effort to add something to solve this pitch problem I will share what I have found. I discovered that the following functions are called at different points 

void Tracker::arm_servos()





void Tracker::disarm_servos()





What I have discovered is that once the pitch servo is disabled the call to arm the servo sometimes does not happen. I don't know why it was only pitch that was affected. To work around this I added a


to the servo.cpp update pitch servo function before the 



Once I did this the pitch has not failed to update. The reasons why the call to arm the pitch is unreliable I still don't know. Hope this helps in some way. 

I will look into that once I diff my (working) version with 0.7.5

Looking good.  While doing testing for the 0.7.5 release I also noticed putting the [3DR] radio close to the servos caused them to act up.

I believe I am having a parameter issue and cannot get to the bottom of it. I am running arduplane on a computer and sending the data through radio to a Pixhawk that controls my antenna tracker. Immediately after pairing the plane and antenna tracker, the tracker turns to the left about 30 degrees. It stays like this the whole time it tracks the plane. Does anyone have any advice on this or seen this issue before? 


Sounds to me like a compass problem. If you turn the tracker N, S, E, and W does it display the correction in the planner?

To calibrate tracker compass you only power the tracker then connect to MP and run the calibration program.

My first setup I had my Pixhawk too close to my large antenna that had lots of metallic parts. After separating the Pixhawk and the antenna I was able to get a good compass calibration.




My tracker is calibrated correctly and points almost exactly where the red line is pointing. The problem comes once I pair with arduplane. It automatically offsets about 45 degrees to the left. I need the tracker to be pointing exactly at the plane. This picture came directly after pairing the two and after the tracker's adjustment. I need the red line (header) to match up with the orange line from the tracker.


Hi Kalab,

Yes, I have had that issue before. You can find my posts, photos, and video many pages back but I'll re-post the video here so you don't need to search.

My video of the APM Antenna Tracker uses Jakob Oller's v0.7.2 firmware for Pixhawk. I had replaced my yaw servo with a stronger JR DS8711 digital servo which works much better and doesn't get hot. Although I had an odd yaw offset of 25 degrees, it remained constant and the pitch worked perfectly. Before the second flight, I changed the YAW_TRIM setting from 0 to +25 degrees and the yaw pointed perfectly at the Tarot 650 quad.

APM: Antenna Tracker Test 3 from Gregory Covey on Vimeo.

The YAW_TRIM definitely helps but I can't change the parameter to be above +10. Is there a way to change this in Mission Planner?

Yes, use the Full Parameter List in Mission Planner. Ignore the suggested limits.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service