Bosch Sensortec Community

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

    BMP280 Pressure offset/calibration

    BMP280 Pressure offset/calibration

    Jussi
    Member

    Hi,

    I just received a a patch of custom PCBs with BMP280 in them. 1 out of the 5 boards I have tested so far is giving wrong pressure values. I am using drivers from zephyr project and using I2C communication. It looks like the sensor follows the same curve as the other ones, but it just reports ~10hPa too low values

    Jussi_0-1610525124612.png

    This lead me to wonder about BMP280 self test. I can see that Bosch drivers used to have some non-datasheet-documented code for self testing the sensor, but it has been removed

    Removed the self-test API as it was no longer valid

    So I have two questions:

    Any idea why the one sensor is reporting wrong values and is there a way to fix the in-board calibration data so that I get correct results from this sensor?

    Is there a way to execute self-test for the sensor so that we can detect such faulty sensors in production tests?

     

    8 REPLIES 8

    I concentrated on that last word of calibration parameters. So for my sensor under test the value of P9 is normally 6000(0x1770). Same as in datasheet example data. But when I get wrong pressure this is 1904(0x0770).

    I tried to read the calibration data twise, read the P9 register separately, but it never changes as long as BMP280 has power. On power up that one bit is randomly picked and then it stays.

    I am out of ideas how to fix this with SW. What is that P9 anyway? Can I assume that it should always be 6000? Or maybe (p9 mod 1000 == 0)? So that I would have means to try to detect the errors

    Minhwan
    Community Moderator
    Community Moderator

    Hello Jussi, 

     

    Could you provide register value just before you test and get some data? 

    I'd like to check your BMP280 status. 

    Thanks, 

    I am not sure I understand what you mean. The test is to to power up the sensor and read calibration parameters. I can't really read them before I read them?

    Anyway, I think I managed to resolve the symptoms although the root cause is still unknown.

    In short: BMP280 is connected to 3.3V bus and there is also 1.8V bus/LDO on the board. This 1.8V bus discharges slowly. I noticed that if 1.8V LDO was on before the board was power cycled, there is still charge left on the 1.8V bus when BMP280 calibration parameters are read after power cycle. This somehow randomly corrupts the calibration data.

    Workaround was to wait for 1.8V bus to go to 0V and read registers from BMP280 then.

    Minhwan
    Community Moderator
    Community Moderator

    Good to hear it. 

    Yes, the root cause is probably related to operating voltage. 

    Thanks, 

    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