Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BME280 temperature offset 4 Degree after 3 months

    RainerS
    Member

    BME280 temperature offset 4 Degree after 3 months

    Hi,

    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;
    m_dev.read = IicCWrapper::smRead_c_wrapper;
    m_dev.write = IicCWrapper::smWrite_c_wrapper;
    m_dev.delay_us = Bme280::delay_us;
    checkResult(bme280_init(&m_dev));
    
    /* 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;
    ...

     

     

     

     
    Questions:
    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
    RainerS
    Member

    Re: BME280 temperature offset 4 Degree after 3 months

    Short update:
    I made some pictures, on how I physically positioned the Sensor in the Casing and on the wall.

    I also took the opportunity when I had the case disassembled, to swap the Sensor with a new one.
    After the swap the new sensor as expected reads the correct temperature again (as did the old sensor for 3 months).

    From this I conclude the issue is not from any ambient heat source, but sensor degradation over time.
    Now let's see if the new sensor also degrades over time.

    I would be happy on any feedback on this. Is the way I mounted the sensor  OK for a humid Bathroom environment (I let the sensor face downwards to avoid any condensation forming on and dripping into the sensor)?

    BSTRobin
    Community Moderator

    Re: BME280 temperature offset 4 Degree after 3 months

    Hi RainerS,

    According your feedback, we would like to get more information from you:
    1. Where are the other five BME280 installed? And what about the surrounding environment?
    2. The BME280 in the bathroom has a temperature drift of 4 °. Is the humidity value normal at that time?
    3. Is the temperature and humidity normal when the BME280 in the bathroom is taken out of the bathroom?

    RainerS
    Member

    Re: BME280 temperature offset 4 Degree after 3 months

    Hi, thanks for the reply.

    Regarding question 1:

    • All of the sensors are installed indoors.
    • Three of those in directly adjacent rooms to the bathroom.
    • I usually have all doors completely open to the adjacent rooms (except when showering) which provides free air circulation.
    • All sensors are at same height of 1.4m mounted in a slotted casing 1cm from the wall (internal, wall, not perimeter wall). Casing and mounting method see photos in previous post.
    • I checked the correct temperature / offset as follows (All methods showed 3.5....4.5 Degree offset to the affected sensor, affected sensor always reading a too high temperature):
      • Using an IR thermometer measuring the surface temperature of the casing
      • Using an analog thermometer
      • Replacing the BME280 module with a brand new one (which then showed the correct temperature)
      • Comparing to Sensor readouts of the other three BME sensors in adjacent rooms with free air circulation

    Regarding question 2:

    • The Humidity value also reads a way too low value
    • If I remember correctly (I did not make protocol for humidity): When showering: I read about 65% RH and 35 Degree Celsius, When in reality it should have been >80% RH and 30 Degree Celsius

    Regarding question 3:

    • A week ago, I replaced the affected sensor module in the bathroom with a new one. This now shows the correct temperature (4 degrees lower) again (as did the affected sensor for ~3 month).
    • I just now swapped the sensor module in the living room with the affected sensor module (Which I stored in a plastic box for 1 week now), to see if outside of bathroom environment the temperature offset is still there:
      • Original living room sensor: 22.5 Degree Celsius, 62% RH
      • Living room sensor with BME280 module from bathroom (after 3 minutes wait time to acclimatize): 25.4 Degree Celsius, 50% RH

     

    I will still keep the affected sensor module. If you are interested, I can send it to you.

    BSTRobin
    Community Moderator

    Re: BME280 temperature offset 4 Degree after 3 months

    Hi RainerS,

    Thank for your feedback.

    Could we know which region you located?

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist