3D Robotics

Testing GPS vs. Pressure Sensor Altitude

Good data from Doug Weibel today, who was testing the uBlox GPS vs the onboard absolute pressure sensor on ArduPilot Mega with his NexStar Mini EP. In general the uBlox is performing great. And we love the onboard datalogging on APM!

Doug explains the modest data diversion between the two sensors:

"You can see that in the area from roughly 1600 to 2500, there is greater difference between the two altitude measurements. This coincides with when I let my son fly the plane and took it out of fly by wire mode and put it in manual. He was busy trying to get the little NexStar Mini EP to do some aerobatics. Since he was spending a lot of time in very high bank and pitch angles I would guess that the uBlox performance was suffering and the baro altitude was more correct."

E-mail me when people leave their comments –

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

Join diydrones


  • John, it must be something the US has done to decrease the GPS vertical accuracy outside of their country. I'm presuming this is to give other countries and terrorist organizations a military disadvantage? I could be wrong though, but in any case I can't wait until/if Galileo launches. And the good news is that the uBlox supports it.
  • T3
    Hi Chris and Doug,

    I have the same question that Peter Hollands asked:

    What settings are you using for the uBlox?

    The reason I ask the question is that I recently got around to testing a couple of uBloxs, and was disappointed in their performance, especially compared to excellent performance of the EM406 that I have measured during the past few years. The EM406 consistently achieves better than 1 meter accuracy shortly after initialization when I have taken it on rides and walks along well known paths. Lately I polished up altitude control in MatrixPilot, and was able to achieve autonomous landings, where the altitude accuracy must have been better than 5 meters in order for the plane to have landed where it did.

    By the way, we have WAAS in our neighborhood, that is what I attribute the 1 meter accuracy to.

    I like the EM406, but I don't want to be a "Ludite", so a couple of weeks ago, I decided I better catch up with everyone else. MatrixPilot supports both the EM406 and the uBlox, so I connected up a uBlox to the UAV DevBoard running MatrixPilot and took it out for a flight in my sailplane. Based on all the claims I've heard, I expected fantastic performance, so I was very surprised when I analyzed the telemetry from my first test flight. After the plane landed, the uBlox was reporting altitude values that ranged from 10 meters below the ground to 50 meters above!

    So, I did some ground tests with two different uBloxs, one that I bought from the diydrones store, and one that I bought from SparkFun, with similar results: the reported locations had huge errors in them shortly after power up. As expected, the errors declined with time, but they never approached anywhere near the accuracy of the EM406.

    So, I am puzzled, and look to the community for help.

    Here are two tracks from the ground testing that I did with both an EM406 and a uBlox, at one of my favorite flying fields. In both cases, I waited 2 minutes after power up, and then took the GPS along the edge of a road, at an altitude of about 1 meter above the ground.

    First, here is the lateral track of the EM406:

    Here is a view of the altitude reports from the EM406:

    Here is the lateral track of the uBlox:

    Here is the view of the altitude reports from the uBlox.

    I expect that the problem is that I did not have the correct settings for the uBlox. I am pretty sure that I had WAAS enabled, and had selected the uBlox dynamic model that allowed for 4 g acceleration. But perhaps those are the wrong settings to use, or maybe my uBlox is not programmed correctly.

    In any case, could either of you tell me what settings I should be using for the uBlox?

    Best regards,
    Строительство домов, бань, беседок - ООО ЛацитисГрупп
  • The onboard AP baro sensor does not have a static port as such.

  • "Since he was spending a lot of time in very high bank and pitch angles I would guess that the uBlox performance was suffering and the baro altitude was more correct."

    Probably. But, if your static pressure source is cabin air, and the aircraft is at unusual pitch and yaw attitudes, how the cabin is vented -- even to placement of tape sealing the canopy -- will affect static pressure thus altitude and speed readings.
  • Thanx Chris - have wondering what GPS unit to incorporate into my FPV/UAV when I get around to building it - I think that answers it for me.
  • Oh, I am using a standard patch antenna on the GPS just in case people were wondering.
  • I have done testing on this as well for anyone who is interested in the performance of a Venus GPS at 10Hz vs an SCP100 Baro. I found the GPS was very unreliable when it first locks on and when it is stationary.

  • Developer
    Nima: I have the same problem here in Norway. That is why is was so impressed by the performance in the graph.
  • Wow, that's such good performance. You should see how the same module performs in Australia. I don't know if it's the satellite coverage or what, but I basically disregard the short term performance of GPS altitude because it's all over the place.

    Anyone else have the same experience?
  • 3D Robotics
    Patrick, it's our standard uBlox with a helical antenna pointed up.
This reply was deleted.