Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME280 temperature offset 4 Degree after 3 months

    BME280 temperature offset 4 Degree after 3 months



    Problem Statement:
    I am using in total 6 BME280 sensors In my smart Home setup.

    Initially the sensors worked fine with accurate temperature and Humidity readings.
    However after ~3 Months one of the sensors suddenly shows a much too high temperature. The temperature is about 4 Degrees higher than the other sensors (e.g. 28 degree instead of real temperature of 24 degree).
    This also causes invalid/too low humidity readouts (as temperature is used to calculate relative humitidy)
    The other 5 sensors work fine with the same hardware setup and software.

    Technical Details:
    The affected sensor is positioned in the Bathroom (which will sense a humidity change from 30% to 85% to 30% each day during showering) and controls the Fan to blow humid air out of the room.
    I sample sensor values every 5 seconds.
    Regarding PCB layout, I am using the Breakout boards with integrated 5V regulator and level shifter commonly found on Amazon or Ebay.
    The sensor is mounted Head-down (metal casing pointing towards the floor) inside of a Plastic casing with slots to allow free airflow.
    I am using the Bosch BME driver software v3.5.0 on AVR controller.

    This is how I initialize the device (Weather monitoring mode):




    struct bme280_dev m_dev;
    m_dev.intf_ptr = &m_i2c;
    m_dev.intf = BME280_I2C_INTF; = IicCWrapper::smRead_c_wrapper;
    m_dev.write = IicCWrapper::smWrite_c_wrapper;
    m_dev.delay_us = Bme280::delay_us;
    /* Recommended mode of operation: Weather monitoring */
    m_dev.settings.osr_h = BME280_OVERSAMPLING_1X;
    m_dev.settings.osr_p = BME280_OVERSAMPLING_1X;
    m_dev.settings.osr_t = BME280_OVERSAMPLING_1X;
    m_dev.settings.filter = BME280_FILTER_COEFF_OFF;
    m_dev.settings.standby_time = BME280_STANDBY_TIME_1000_MS;
    uint8_t settings_sel = BME280_OSR_PRESS_SEL;
    settings_sel |= BME280_OSR_TEMP_SEL;
    settings_sel |= BME280_OSR_HUM_SEL;
    settings_sel |= BME280_STANDBY_SEL;
    settings_sel |= BME280_FILTER_SEL;




    It shis a known issue?
    Did I do something wrong, e.g. use the sensor outside of its spec?
    Does the sensors intended use cover usage inside a Bathroom to control the room ventilation?
    Might this be related to the affected sensor being exposed to numerous humidity changes as ist is situated in the bathroom?
    Is this a defective sensor?
    If I replace the sensor, will it show the same problem after 3 month?

    Thanks for looking into this 🙂

    7 REPLIES 7

    Community Moderator
    Community Moderator

    Hi RainerS,

    Could you give further feedback? Thanks.

    Hi, Sorry was quite busy lately.

    I am located in Germany Stuttgart Area near Renningen/Boeblingen

    FYI: The replaced sensor is still running fine after ~3 Month now. Will update if it goes bad.

    I can still offer to send/give the broken sensor to you.

    Community Moderator
    Community Moderator

    Hi RainerS,

    I located in China.

    As the HSMI document description, user should avoid to use the sensor in below chemicals environment which can damage the sensor permanently.


    Also, as our previous experience, 'the sensor communication is ok and at same time the sensor performance is not good', maybe caused by contamination.

    You can continue to observe replaced sensor, update if it is abnormal.

    By the way, where did you buy BME280?