Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 wrong measurement after some time

    BME680 wrong measurement after some time

    Occasional Visitor

    Hello, can u help me with some problem. Sensor measures valid data only after power on (two/three times) and then the temperature start go up and humidity go down from real values, after some time temperature/humidity stops go up/down and shows incorrect values. For example, measured temperature 40 °С, but real is 25 °С, and measured humidity is 16 %, real value is 40 %. Measurement period 3 seconds, pressure measurement is always correct, gas measurement not used.  I am using BME sensor API version 3.5.9 and all recommended initialization and measurement procedures, I2C interface. Why my temperature/humidity measurements become wrong with time?

    3 REPLIES 3

    Community Moderator
    Community Moderator

    Hi heavyC1oud,

    Typically, while heating the gas sensor, depending on how the heater element is duty cycled, the internal temperature of the device increases. Additionally, if you have other heat sources on the PCB like a power management unit or a processor, this could lead to additional temperature increase that is measured at the sensor. This temperature increase also causes the measured relative humidity to drop by a relative amount. The BSEC library, can compensate for the heat generated by the sensor itself, and you can additionally input the expected temperature increase due to other heat sources  and the BSEC library will give you the corrected temperature and humidity. 

    Hi kgoveas,

    i got the same problem like heavyC1oud but I use the BME280. Can I use the BSEC library for the BME280 as well to get rid of the temperature offset? Do you know if there is any chance to download the source code from the BSEC library?

    Source code is not available, and BME280 does not suffer from self-heating. In your case, the heating effect must come from the other components of the PCB. The easiest compensation method would be to let the board temperature stabilize, and record your personal offset. Note that this offset will only be valid after the temperature has reached equilibrium.

    Then you can use standard physics formula to convert relative humidity measurement from one temperature to another.

    In fact, the original post mentions 15C difference in temperature which seems excessive. I believe that BME680 is not the only component generating heat.