Discussion about wrong barometric Pressure by BM280 sensor. https://forums.adafruit.com/viewtopic.php?f=22&t=118039 The BME280 is a digital pressure sensor which reports the actual pressure as it is designed for. For weather information purpose the reading that it gives needs to be corrected. In fact airport and other meteorological weather stations don't report the raw reading from their instruments (as in our case the BME280 sensor is showing now 986 millibar which the real raw data of the actual atmospheric pressure https://aprs.fi/?call=vu2mue-13). The BME280 sensor does not know at what altitude it is operating. If we want to compare readings reported by the local weather station, we would need to apply the same correction function that the weather stations apply to their barometric readings. They need to be 'normalized' to sea level pressure considering sea level average atmospheric pressure is 1013.25 millibar. When barometers in the home are set to match the local weather reports, they measure pressure adjusted to sea level, not the actual local atmospheric pressure. The average value of surface pressure on Earth is 985 hPa (millibar). This is in contrast to mean sea-level pressure, which involves the extrapolation of pressure to sea-level for locations above or below sea-level. The average pressure at mean sea-level (MSL) in the International Standard Atmosphere (ISA) is 1013.25 hPa, or 1 atmosphere (Atm), or 29.92 inches of mercury. Temperature and humidity also affect the atmospheric pressure, and it is necessary to know these to compute an accurate figure. For online correction of the BME280 sensor atmospheric pressure please visit the following web site: https://keisan.casio.com/exec/system/1224575267 Pressure on Earth varies with the altitude of the surface; so air pressure on mountains is usually lower than air pressure at sea level. Pressure varies smoothly from the Earth's surface to the top of the mesosphere. Although the pressure changes with the weather, NASA has averaged the conditions for all parts of the earth year-round. As altitude increases, atmospheric pressure decreases. One can calculate the atmospheric pressure at a given altitude. Temperature and humidity also affect the atmospheric pressure, and it is necessary to know these to compute an accurate figure. It can't possibly know what altitude it is being operated at - or even what you intend to use the pressure reading for. If you want to use it to control a hyperbaric chamber or maintain a positive pressure differential in a clean-room, it will give you exactly the readings you need. If you want to compare readings reported by the local weather station, you will need to apply the same correction function that the weather stations apply to their barometric readings. By convention, the pressures reported by airports and weather stations are not the raw readings from the instrument. They are 'normalized' to sea level so that air pilots can use the reported pressure to gauge altitude above sea-level." Here is the correction page: https://keisan.casio.com/exec/system/1224579725 When barometers in the home are set to match the local weather reports, they measure pressure adjusted to sea level, not the actual local atmospheric pressure. 1,013.25 hPa is the sea level average pressure The average value of surface pressure on Earth is 985 hPa. This is in contrast to mean sea-level pressure, which involves the extrapolation of pressure to sea-level for locations above or below sea-level. The average pressure at mean sea-level (MSL) in the International Standard Atmosphere (ISA) is 1013.25 hPa, or 1 atmosphere (Atm), or 29.92 inches of mercury. Correction when using Arduino [ https://github.com/adafruit/Adafruit_BME280_Library/ ]: // Keisan Calculation for Sea Level Pressure from current BME280 readings // http://keisan.casio.com/exec/system/1224575267 void getP() { int a = 43; // My altitude in meters = 142 (ft)* 0.30488 float k = .0065; // altitude multiplier volatile float z = (((k * a) / (bme.readTemperature() + (k * a) + 273.15))) ; volatile float y = (bme.readPressure()); P = y * (pow ((1 - z) , -5.257)) ; P = P * 0.0002953; // convert to Inches return P; } Re: BME280 Pressure Accuracy by WhidbeyBill on Sun Dec 17, 2017 12:09 am Sea Level Barometer Function: (check the sketch and comments for double to string conversion. Arduino cannot print doubles. #include ) // Keisan Calculation for Sea Level Pressure from current BME280 readings // http://keisan.casio.com/exec/system/1224575267 void getP() { int a = 43; // My altitude in meters = 142 (ft)* 0.30488 float k = .0065; // altitude multiplier volatile float z = (((k * a) / (bme.readTemperature() + (k * a) + 273.15))) ; volatile float y = (bme.readPressure()); P = y * (pow ((1 - z) , -5.257)) ; P = P * 0.0002953; // convert to Inches return P; } Attachments BYun_20171216_SeaLevelBarometer.txt Sea Level Barometer with fixed altitude. (3.81 KiB) Downloaded 290 times Pressure (P), mass (m), and the acceleration due to gravity (g), are related by P = F/A = (m*g)/A, where A is surface area. Atmospheric pressure is thus proportional to the weight per unit area of the atmospheric mass above that location. https://en.wikipedia.org/wiki/Atmospheric_pressure Pressure on Earth varies with the altitude of the surface; so air pressure on mountains is usually lower than air pressure at sea level. Pressure varies smoothly from the Earth's surface to the top of the mesosphere. Although the pressure changes with the weather, NASA has averaged the conditions for all parts of the earth year-round. As altitude increases, atmospheric pressure decreases. One can calculate the atmospheric pressure at a given altitude.Temperature and humidity also affect the atmospheric pressure, and it is necessary to know these to compute an accurate figure. The graph at right was developed for a temperature of 15 °C and a relative humidity of 0%. At low altitudes above sea level, the pressure decreases by about 1.2 kPa (12 hPa) for every 100 metres. For higher altitudes within the troposphere, the following equation (the barometric formula) relates atmospheric pressure p to altitude h: http://hyperphysics.phy-astr.gsu.edu/hbase/Kinetic/barfor.html https://www.e-education.psu.edu/meteo3/l6_p3.html How long Owner of Wikipedia - the free encyclopedia, American-British Internet entrepreneur Mr.Jimmy Donal "Jimbo" Wales would feed us with free information? We all need free service; we need free facebook, we need free WhatsApp, we need free twitter. It is high time that Facebook, Wikipedia, WhatsApp, Twitter etc. levy a fee as per the usage from their users. Then we can see how many people would actually continue to enjoy these services!!! The barometric formula, sometimes called the exponential atmosphere or isothermal atmosphere, is a formula used to model how the pressure (or density) of the air changes with altitude. The pressure drops approximately by 11.3 Pa per meter in first 1000 meters above sea level.