Adadfruit Sensor s/w for BME280 inaccurate

I have used the Adafruit BME_280 library example bme280test and it gives a wrong value for the height. By using the #define SEALEVELPRESSURE_HPA (1013.25) it gives a totally wrong height value from Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA))
This is pretty misleading as the sea level pressure according to the Bureau of Meteorology currently varies from 987 to 1031 hPa in our area. The reading obtained currently from my bme280 is 1017.9 hPa. This gives an altitude of -36 metres which is obviously wrong as I know we are about 42 metres. From the Adafruit example I would now be below sea level. Can anyone comment on this as it is a misleading and meaningless height result?

That's how altimeters work - if you don't know the sea-level atmospheric pressure the reading will be out - on aircraft they continually receive updates on the meteorological conditions by radio so they can calibrate the altimeter.

If you download the current sea-level pressure from the web regularly you too can
calibrate your altitude.

Basically pressure is not height. You are using pressure as a proxy for height, which means you need to know the current atmospheric conditions to get accuracy.

For quadcopters you simply calibrate the altitude as zero at the start of the flight and
assume it doesn't change during the flight (which is only a few minutes).

MarkT, what you say is quite right but I suppose the point I was making was that to have an example which outputs the height is quite misleading with a sea level pressure which is fixed. Many might believe the height is correct if they are uninformed.

Examples are to demonstrate how to interface to the chip, nothing more.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.