Hello, I did this because I noticed that the altitude of GPS is not stable. GPS coordinates are correct however.

They remain well within a radius of ten meters around the real point. But the altitude is completely crazy, it depends on the day, and even the moment of day. This is related to the position of satellites, I am in Europe, Is this the problem?.But, it's may be a problem for the stabilization of our plane in altitude. And increasingly it is not very accurate.

And with two I2C devices it works, cool.

What do you think of this approach?

E-mail me when people leave their comments –

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

Join diydrones


  • Hi Chris,

    I realize I'm being a "bit" pedantic (but that is the whole point of the internet, right?) :-)

    The fact that you can hold altitude within 10m of what the gps claims is the current altitude, really speaks more to your altitude hold algorithm than anything. You still don't know what your exact true altitude is and thus don't have a way to measure your true altitude error. (I'm not talking about the error between your sensed altitude and your target altitude, I'm talking about the error between what the gps says your altitude is, and your actual true altitude.)

    Anyone who says they've never seen more than 5-10m gps error: would you be willing to setup your gps at a stationary location and collect 30-60 minutes worth of data and plot the altitude for that time. Does your stationary altitude really remain within +/-5m the entire time?

    I don't claim to be a gps expert. I've used a few different gps's over the years, and they have all exhibited a lot of wandering in the altitude dimension. I've never seen any non-differentially corrected gps that could always hold correct altitude within +/-10m even if it had 8 or more satellites in view.

    And just to belabor the point ... yes, I've seen many times when my gps was right on and was performing really well ... sometimes it's amazing. I have an old plot from a freeway drive that has me dead on in my lane and even shows my lane changes correctly (referencing google maps) but then at other times that same gps wasn't performing so well. But there was another time when I had my airplane climb higher than I dare admit because the gps still thought it was below it's target altitude and the altitude controller thought it needed to climb ... but that was with an old crappy ublox. Not the new ublox5. :-)
  • 3D Robotics

    Yeah, fair point. What I mean is that we have hours of altitude hold data, based just on GPS, and as best as our eyes can tell it doesn't deviate more than about 10m. If it deviated 200m, we'd know about it ;-)
  • Hi Chris, when you say you have hours of data from the sky, do you mean hours of data while flying or hours of data while stationary on the ground? I'd love to see someone post an hour of stationary gps data. If you are referring to flight data, then how do you know what your deviation is? I sit here and watch my 3d accuracy in u-center hover around 8-10m, but at the same time the altitude wanders +/-200m. So yes, I'm still a bit skeptical and I'd love to hear more details about your test methodology and see some resulting data!


  • Curt, There has to be something seriously wrong there.

    The kalman filter slips during constellation changes are only about 10 meters max (+/- 5m) providing you have reasonable sat geometry. For the sort of jumps you're seeing, it suggests that either

    a) You have a bad GPS or
    b) There is some interference or shielding happening.
  • 3D Robotics

    We have hours of data from the sky and have never seen a deviation of more than ~10 meters. It really depends on how many sats you're seeing. Inside or near buildings you may not have enough for good alt resolution, but in the air it's much better.
  • This is an awesome idea for a remote sensor pod...we could integrate the magnetometer, airspeed sensor and barometric pressure sensor on one small board, then pass all of that thorugh to the ArduIMU; run a filter and cross reference the GPS with the airspeed, altimeter, bearing and location from that unit - it would be VERY robust, but require some additional code and allow us to negate some of the vagaries of using GPS while still reaping the benefits of having it onboard and mitigating our calculations where needed.
  • Sorry, i did not read the previous comment, with that, my uBlox theory is smashed. A pity, i wanted it to be used in a project, where altitude is an issue.
  • When i did my ship-experiences, i also logged the altitude for pure curiousity. For over one hour on a lake, (with always the same altitude :-) the readings from the GPS did only vary in some 2-3m. I used the em406. I think, in the air, the changes in attitude of the GPS antenna is a big problem and that may cause lots of "switching" between satellites, which will in turn "stress" the Kalman-filter algorithms. Maybe a circular polarized antenna like on the uBlox module will make it better. Would be interesting to hear from your futire findings.
  • I have one of the popular new ublox5 gps's ... just sitting still here with no attitude change, I see the altitude wander + and - 200 meters above and below the approximate correct altitude for my location ... so that's a 400m (meter) spread just to be clear. That will probably improve a bit up in the air with a better view of the sky, but makes me a little nervous about any system that does altitude hold purely on gps.
This reply was deleted.