Skip to content

BME280 wrong readings / oversampling mode #1274

@xeroxoid

Description

@xeroxoid

Hi and thanks for the excellent work!

I was trying out j5 on my Raspberry Pi 2 Model B and noticed that the readings for Multi as well as `Barometer' and 'Humidity' return wrong values for a Sparkfun BME280 breakout.

As I am new in the IoT scene, I am assuming that I am doing something wrong or have not read enough, but here are some assumptions followed by some questions:

  1. Using the python library Adafruit_Python_BME280 I get the following results:
Temp      = 24.140 deg C
Pressure  = 991.88 hPa
Humidity  = 41.53 %
  1. Using another python library I get similar results:
Chip ID     : 96
Version     : 0
Temperature :  24.14 C
Pressure :  991.880802123 hPa
Humidity :  41.5296441194 %
  1. But when I use NodeJS with j5 and Multi I get:
--------------------------------------
Thermometer
  celsius      :  21.55
--------------------------------------
Barometer
  pressure     :  76.27
--------------------------------------
Hygrometer
  humidity     :  71.061
--------------------------------------

I noticed that both python libraries set (by default) the oversampling mode or oversampling rate to 8 . When I set it to 1, even with python I get similar wrong values.

For reference I am using an external/handheld barometer and 2 different hygrometers which all report similar values to the oversampled ones (i.e. relative humidity ~ 42 and pressure ~ 992 hPa)

My questions are:

  1. Is there a way to set the oversampling rate in j5?
  2. Why does the BME280 need such a high oversampling mode in order to provide correct values?
  3. Can you point me to some reading material about oversampling and how/why it affects the readings so much?
  4. I notice that even the temperature is off a bit, can I assume that this is a normal fluctuation?
  5. After getting data with node/j5 one of the two python libraries also reports wrong data: i.e.
Chip ID     : 96
Version     : 0
Temperature :  21.55 C
Pressure :  762.681500693 hPa
Humidity :  71.0611180087 %

but then I run the Adafruit lib again and it corrects/resets it. Its like the JS code messes with the sensor in a way I can't explain...

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions