Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMP280 self-test fail

    BMP280 self-test fail

    marto
    Member

    Hello,

    [ this is a repost of https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BMP280-self-test-fails/m-p/9519 since there is no response since two weeks]

     

    On our board we've integrated a BMP280 that we drive with I²C. I use the driver provided by https://github.com/BoschSensortec/BMP280_driver

    However the self-test fails for t3 check: the value 50 is not within the range [-3000, -1000] (https://github.com/BoschSensortec/BMP280_driver/blob/master/bmp280_defs.h#L304-L305)

    Debug traces:

     

    13:33:36.631733 😧 read: 0xd0: @00: 58
    13:33:36.631748 😧 read: 0x88: @00: d5
    13:33:36.631761 😧 read: 0x88: @01: 6a
    13:33:36.631775 😧 read: 0x88: @02: ac
    13:33:36.631789 😧 read: 0x88: @03: 64
    13:33:36.631804 😧 read: 0x88: @04: 32
    13:33:36.631821 😧 read: 0x88: @05: 00
    13:33:36.631836 😧 read: 0x88: @06: fb
    13:33:36.639739 😧 read: 0x88: @07: 94
    13:33:36.639844 😧 read: 0x88: @08: 9e
    13:33:36.639857 😧 read: 0x88: @09: d6
    13:33:36.639870 😧 read: 0x88: @0a: d0
    13:33:36.639889 😧 read: 0x88: @0b: 0b
    13:33:36.639907 😧 read: 0x88: @0c: 26
    13:33:36.639924 😧 read: 0x88: @0d: 20
    13:33:36.639939 😧 read: 0x88: @0e: 62
    13:33:36.639955 😧 read: 0x88: @0f: ff
    13:33:36.639971 😧 read: 0x88: @10: f9
    13:33:36.639988 😧 read: 0x88: @11: ff
    13:33:36.640005 😧 read: 0x88: @12: 8c
    13:33:36.640023 😧 read: 0x88: @13: 3c
    13:33:36.640040 😧 read: 0x88: @14: f8
    13:33:36.640055 😧 read: 0x88: @15: c6
    13:33:36.640072 😧 read: 0x88: @16: 70
    13:33:36.640090 😧 read: 0x88: @17: 17
    13:33:36.645969 OK: 875: 27349 vs. 19000/ 35000
    13:33:36.646048 OK: 881: 25772 vs. 22000/ 30000
    13:33:36.646063 ERR: 884: 50 vs. -3000/ -1000
    13:33:36.646095 OK: 893: 38139 vs. 30000/ 42000
    13:33:36.646109 OK: 899: -10594 vs. -12970/ -8000
    13:33:36.646125 OK: 905: 3024 vs. -5000/ 8000
    13:33:36.646141 OK: 911: 8230 vs. -10000/ 18000
    13:33:36.646158 OK: 917: -158 vs. -500/ 1100
    13:33:36.646174 OK: 923: -7 vs. -1000/ 1000
    13:33:36.646190 OK: 929: -14600 vs. -30000/ 10000
    13:33:36.662018 OK: 935: 6000 vs. -10000/ 30000
    13:33:36.662074 E: 128: self-test failed: -9

    Since I do not see the values in the datasheet, I'm unsure where the problem lies: code (-1000 value is too low) or in the chip (i.e. at production time).

    I have tested with two chips and both show 50 (but have some different values on other fields):

    12:56:50.979826 OK: 879: 27608 vs. 19000/ 35000
    12:56:50.979848 OK: 885: 25836 vs. 22000/ 30000
    12:56:50.979882 ERR: 888: 50 vs. -3000/ -1000
    12:56:50.979914 OK: 896: 39409 vs. 30000/ 42000
    12:56:50.979937 OK: 902: -10632 vs. -12970/ -8000
    12:56:50.979965 OK: 908: 3024 vs. -5000/ 8000
    12:56:50.979998 OK: 914: 8011 vs. -10000/ 18000
    12:56:50.995638 OK: 920: -293 vs. -500/ 1100
    12:56:50.995815 OK: 926: -7 vs. -1000/ 1000
    12:56:50.995860 OK: 932: -14600 vs. -30000/ 10000
    12:56:50.995901 OK: 938: 6000 vs. -10000/ 30000
    

     

    The register 0xf3 returns 0x00, and regarding the marking I have two pre-prod series:

    - 919 KS

    - 9N2 KS

    Both return value 50 for the failing test.

     

    Any help appreciated. 

     

    Thanks,

     

    Marc.

    3 REPLIES 3

    handytech
    Community Moderator
    Community Moderator

    @marto wrote:

    However the self-test fails for t3 check: the value 50 is not within the range [-3000, -1000] (https://github.com/BoschSensortec/BMP280_driver/blob/master/bmp280_defs.h#L304-L305)


    Unfortunately this is an issue from the limits defined in the sensor API. A value of 50 for DIG_T3 is plausible and within our current expectations.

    Thank-you for this report and sorry for the delay, we will trigger the necessary actions accordingly.

    Thanks for the anwer. So what's your advice (until a patch is available) ?

    - remove the failing test 

    - or change the upper value with a positive high value such as 1000

     

    handytech
    Community Moderator
    Community Moderator

    According to the latest news, we will stop supporting the trimming threshold validation in the self-test procedure. Therefore my advice would to to skip the whole st_check_cal_param() function.

    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