How the barometric altimeter works
Height measurement on GPS watches and barometric altimeter
It's a frequent complaint among GPS watch users and one of the recurring comments in the testing of any GPS watch I make, whether or not the device in question has a barometric altimeterYou complete a training session on the promenade and when you finish, your watch indicates that you have climbed 200 positive meters (including some with a dedicated altimeter). And you get annoyed, because when you see the activity on Strava it marks only 30 positive meters or the altitude data does not match.
Is your watch broken? Why does this happen? Well, it's neither broken nor is the explanation the same in every case. What is true is that it is something that can happen, and in fact it is perfectly normal for it to happen.
The first thing you should be clear about is that a GPS watch has several different ways of measuring altitude, but that it is not a precision instrument. barometric altimeter of a GPS or cycle computer clock is to provide approximate data and trends, but we should never expect millimetric accuracy simply because of how the technology works.
So how does the technology work? Well, that depends on what your device has, but I'll explain it to you below.
Altitude measurement by GPS
The GPS altitude measurement is the usual way to measure the height in watches considered more "basic". Basic not because of performance but because they are in the mid-range or low-end of each manufacturer.
Here for example we can find the Garmin Forerunner 235, Polar Vantage M, Suunto Spartan Trainer and Sport... They are not low-end models, but are intended to be used mainly for training and road racing, which means that the manufacturer believes that the typical user of these models will not be faced with many variations in altitude and measurement is done via GPS.
Other models have a barometerBut don't go into that section yet if you have a watch with a barometric altimeter, because first you have to understand this concept well because even if you have a barometer this point is basic to understand how it works.
At the time of measure height by GPS the data is obtained through a complicated mathematical algorithm to determine your location, both in the horizontal and vertical plane. While in the 2D (horizontal) plane the accuracy of a GPS is quite high - usually with a low error of a few meters - the vertical location (the 3D plane) has a much higher error for simple geometric reasons.
To explain it quickly, the satellites in the sky are not all at the same angle to us. To estimate the height optimally we should have a satellite just above us and then have at least three other satellites located at the height of the horizon and with the same separation between them -120º-. This would place us in the centre of the satellites in the vertical plane.
The reality is that this is impossible, or at least highly unlikely, so we are already suffering from errors by simple concept. Having satellites located at different angles and distances increases the margin of error exponentially. This can cause you to be at the seashore and the clock indicates that you are at +80 or -100, it is completely normal and is because the data your device receives is not completely correct
From here we must consider any obstruction of the ground: buildings and mountains that make the signal bounce and arrive distorted, trees that prevent a correct reception of the satellites, etc.
As you can see, we are starting to accumulate situations in which errors are added up, which can multiply throughout a workout. It's not perfect, but at least it's something functional and for most sports applications it's not a huge problem to not have accurate altitude data at the moment (because as you'll see later, this can be corrected once the activity is synchronized with your platform).
Altitude measurement by barometric altimeter
The next scale in altitude measurement is the barometric altimeterThese are usually available in higher-end models or for use in the mountains.
Its operation is much simpler than that of the GPS altimeter and it one of the most reliable ways to measure the altitude you are at, but that does not mean it is absolutely foolproof (it is not).
The device uses the air pressure to determine the altitude. When you ascend the air pressure decreases (we have less air above us). Your watch or computer does the monitoring of the atmospheric pressure thanks to the barometerIf the pressure goes down, it means you are going up, and if the pressure goes up, it means you are going down.
Based on that and on the calibration it uses, it defines at what altitude you are. What is the calibration it performs? Well, first it "asks" the GPS and from there it takes over.
This is where the main problem with the barometric altimeter lies, and that is the starting data may be incorrectThat is why it is recommended manually calibrate the device at the beginning of the activity if you know the altitude of the starting point and avoid introducing that error from the beginning.
For example, if you always train from the same point, you can enter that known data so that all calculations from that point start from a correct base. How to know the exact altitude? Google Maps does not provide that data directly, but there are other utilities you can meet him withSimply clicking on a point on the map will indicate the altitude of that place.
Regardless of whether the altitude data is correct (that marks 850m of altitude when you are really at 880m), the graphics offered by a device with a barometric altimeter are usually quite reliable, and greatly improve those obtained with those that only offer altitude through GPS.
In this graph you can see two devices with barometric altimeter (Garmin Forerunner 935 and Garmin Edge 520) and two others that do not have it (Suunto Spartan Sport and Polar M430Although the two barometer devices do not coincide in their graphs, you can perfectly appreciate how two parallel graphs look and behave in a very similar way when there are changes in elevation. Meanwhile the two watches that only offer GPS data have much more generic data, especially when there are slight changes in elevation.
The device barometer is also not totally reliable as manufacturers do not use high quality components in this section, but it usually has a fairly stable behaviour between different devices.
From a sports performance point of view the barometric altimeter is perfectly useful. The graphs "draw" correctly (in the sense that when you ascend the graph shows a slope, and when you descend it shows a descent) and the accumulated meters are quite accurate.
But remember that you don't wear a radar on your wrist, so it is totally impossible for a watch to mark you accurately and at all times the altitude at which you are. If you want you can stop by Airbus and ask for price and size of a radar satellite.
Obviously we are not only exposed to a wrong starting point, also the altitude measurement will be affected by changes in air pressure. If there is a change in the weather the barometer will simply register it, but you will not know the origin. And those changes are very frequent throughout the day.
For example, when a storm is approaching, the air pressure will drop. This drop in pressure will be interpreted by your device as an increase in altitude, when it is not.
Here each brand operates in a different way. For example Suunto has the function that it calls FusedAlti The aim of this project is to try to correct the effect of the climate on the altitude indicated by the barometer, and historically it has always given very good results.
In short, the barometric altimeter is a much more effective way of recording changes in elevation, but it does not guarantee, in most cases, that the data is accurate. The first problem encountered is that it starts from an initial calibration that is wrong, dragging that error through the rest of the activity. And the second problem is to differentiate what are changes in elevation from what are changes in weather.
Digital Elevation Model (DEM)
This is the most accurate way for a watch, computer or handheld GPS to obtain altitude data. Digital Elevation Model (o DEM Therefore this is only available on devices that have integrated mapping (and that have altitude data).
This is the method used by the Garmin Fenix 5 Plus It has an algorithm that uses both GPS elevation data and DEM data from your cartography to be able to differentiate changes in altitude from changes in atmospheric pressure
These elevation data that cartography has are obtained by using radar satellites that launch a signal to the earth. This measurement is made from satellites, allowing the exact measurement of the altitude for certain coordinates. There are several organizations that have made this type of information that includes the different cartography, one of them being NASA.
Therefore from certain coordinates the device can know at what altitude it is, provided it can make use of that information because it has it available.
I have some good news for you. For some years now most of the applications and platforms from different manufacturers have included automatic correction of elevation after synchronizing the training.
The correction is made by using known altitude data for specific coordinates, i.e. the digital terrain model we've seen before, only we have to wait to synchronize activity to get correct elevation data.
For example, Garmin applies this default correction to activities recorded with watches that do not have a barometric altimeter.
If the device does not have a barometric altimeter, Garmin will directly provide corrected elevation data, otherwise it will respect the data collected by the device. In both cases we can change the selection.
Strava does something similarInstead of applying DEM data, however, it provides data on the hundreds of thousands of activities in its database, to average the altitude for a particular place. So it may be that although you have corrected the altitude on both the Garmin and Strava websites you find different data, the calculation method is simply not the same.
However, not all platforms do. I am not aware that Polar Flow or Suunto Movescount do this for their devices that do not have a barometric altimeter. That does not mean that Strava or Garmin are the only ones to offer it, external platforms also have this possibility as TrainingPeaks.
As you have seen, there are several ways in which your device will record altitude data. Some are more accurate than others, but in no case is this a highly reliable measurement instrument.
If your device tells you that you are at -50m when you train at sea level, it does not mean that it is broken. Similarly, if you do a series on a slope, it is very likely that the elevation data will not match when you compare it with the corrected altitude.
You may think that there is a problem when there are thousands of meters of elevation accumulated in an activity or it is not able to register any change of altitude. The altimeter may be broken, although most often it is a registration port stuck by gels or any other nonsense. It is a/these holes that are in the body of the device and they must be totally clean for the reading to be correct.
And with all this I hope I've made it clear to you how a barometric altimeter works and why you see things that don't fit your device. Thanks for reading!
Thank you. Great explanation.
And how do we clean those tiny holes of the "barometric altimeter" ? I have done some obstacle races (Spartan race type, as many kilometers and also many accumulated slope where it is good to have a barometric altimeter) and the watches end up (like you) full of mud up to the eyebrows. After cleaning them thoroughly, being so small those little holes, it is very difficult to remove traces of hardened dirt. Any advice on how to clean them thoroughly, especially dirt, sand, or traces of gels as you indicate of those tiny stubborn ones. Maybe with ultrasound? I don't know. Any advice.
P.s: the watches that have garmin fenix 5 plus type cartography, also need to be "calibrated" manually, or do they self-calibrate since they have this data in their cartography?
You could try compressed air to blow it out, or if it's too hard, soften it with a little isopropyl alcohol (which evaporates quickly) and then with the tip of a pin.
Indeed, the 5plus is calculated with the DEM data if you have it configured
What happens in planes? The phoenix 3 clock does not show change in pressure and height, but it does vary and is unable to find a GPS signal.
The plane's cabin is pressurized, so the altitude does strange things, because it's a constant pressure.
As for the GPS... it's a giant metal can, 0 visibility of the sky unless you get too close to the window.
Again it is a pleasure to read one of your articles, so well structured and ordered. Superb explanation that makes it clear to me that I don't need barometric sensor 😉.
Perfect. How well told. I appreciate it enormously. Best regards
Excellent explanation, thank you very much!
Hello. Very good article.
On the subject of the Digital Elevation Model (DEM), in the models that have it, such as the Garmin 945, is it necessary to activate it at the beginning of all activities, or is there a way to get it by default?
Thank you very much.
In theory the automatic calibration should be with respect to the DEM model, but if you care about the accuracy of the data I recommend that you do the manual calibration at the beginning of the exercise, because in many occasions even though the automatic calibration is selected, it is not done.
Thank you for your answer.
I'm really interested in handling data accurately. That's why, among other things, I went from 235 to 945.
The manual calibration at the beginning of the exercise must always be done....frequently.....only when we go to new places....or is it enough to do it once?
Yes, you always have to do the calibration because it is based on the barometer and the atmospheric pressure always changes.
Hello, I have a garmin edge 520 plus, when I make a route and pass it to strava it adds me 100-150 meters more, also I usually make routes with a friend who has a garmin higher than the one I have.
How can I know which one is the most accurate, and on your garmin it shows about 50 meters more? Thanks
Check in Garmin Connect what it is registering, there you can switch between what is registered by the device and what corresponds by orography, to see what would be the difference.
hello, a query in the garmin instinct what registers as height gained would be the total altimetry
Yes, total positive meters.
Let's see why I'm a bit of a fish in these matters and I'm already messing around with the altimeter and barometric altimeter.
I understand that I have to put in whatever height I have at that point where I'm in the Sensor/Altimeter section, right?
I say this because the barometer works with atmospheric pressure and I don't know how to know that anymore, since it asks me the pressure at sea level...
Yes, you should enter the known altitude data, and then let the watch adjust the altitude from the air pressure.
Hi. I am using Garmin Instinct. Let me explain, it is a new watch, with 6.60 update (March 2020). This is very important information. As we all know that Garmin devices are buggy and get fixed over time. I was well aware of a barometer issues reported by Instinct users. But I said hey, let's try. My first run. Running uphill from approx 300 meters to approx 500 meters. No calibration was done. Not needed. Starting altitude was correct. But then, during the activity, Garmin Instinct decided that altitude dropped for 90 meters. Out of nowhere. Because of the sweat are saying many users. Blocking the sensor... Elevation was completely wrong. I run this course with 3 different watches. Both Garmins failed elevation gain data (Instinct failed badly, model 645 failed for 30 meters). Huawei watch, the cheapest of the bunch, with barometer positioned on the downside (like Instinct), reported correct elevation (within 10 meters of error). How can a 170 USD watch report correct elevation, but 300 and 400 USD watches fail to their basic job? Dissapointed.
I have a Garmin 935 and it doubles the elevation gains compared to my friend's as we ran the same course. I see you wrote that I would need to calibrate at each run - that's kind of a pain. Do you think I can restore the factory settings and that would help? I've cleaned the and hopefully unclogged that sensor in the back too. I appreciate your help. Thank you.
Calibration has nothing to do with the total meters ascended or descended, it's just so it reports the correct height.
If altimeter is way off, it can be because the sensor port is dirty, so after the cleaning it may start working again. If after restoring factory settings altitude is off, then your barometer is defective.
I find the article very interesting to understand the operation of these devices. The thing is that I bought a forerunner 645 and when using it for cycling the same thing is happening to me several times. Suddenly, it stops measuring slopes correctly and does not continue to accumulate altitude. Could this problem be due to it being defective? Or could it be due to the air it gets? I don't know if it makes much sense that it suddenly stops marking correctly being a new device.
Greetings and thank you very much!
Thank you Eric.
No, the altimeter should measure at all times. The errors that 1TP10We may encounter are due to atmospheric pressure changes, but at no time should the watch stop marking slope or accumulating altitude. If it does, the barometer is defective.
Hi, I have a suunto 9 Baro, I go hiking in the mountains, and it always shows me the cumulative elevation gain. A colleague of mine has a suunto traverse without Barometer system, and at the end my positive elevation gain is higher than his. Is this normal?
I always take you to determine altitude automatically. You should include the manual altitude at the start of each route.
Thank you very much for your comments.
Yes, it is normal because of what was already mentioned in the article, the height data recorded through GPS is not accurate.
Hi Eduardo, I have struggled with Garmin for weeks now and accidentally stumbled upon your article! Thank you so much - it explains a lot.
I sit with the trouble that my Garmin 7X SS registers different elevation gains for the same route. One night it is 25 m, which is close to correct (still a bit high), and then the next night, same route, it registers 140 m.
I will now keep it on using DEM, and then calibrate it every time before I start. Should this deal with the problem? I can obviously try for myself, which I will do, but would like to hear your opinion.
Thanks again for your great explanation!
Hi Johan, yes, using DEM values it should deal with your issue. You'll keep experiencing some differences if your workout is long and there are changes in barometric pressure, but there's nothing you can do to overcome that.