Bosch Sensortec Community

    BMM150 Z value not correct

    Highlighted
    Established Member

    Re: BMM150 Z value not correct

    I just noticed, debugging the Bosh API, that the function `compensate_z` always returns `BMM150_OVERFLOW_OUTPUT` because `trim_data.dig_z2` is zero...

    How can this be possible? Does this mean that the initial trimming has failed?

    Furthermore performing a self test after initialization I get the following errors:
    Normal test: `BMM150_W_NORMAL_SELF_TEST_XZ_FAIL`
    Advanced test: `BMM150_W_ADV_SELF_TEST_FAIL`

    Thank you
    Walter

    Highlighted
    Community Moderator
    Community Moderator

    Re: BMM150 Z value not correct

    The normal self-test is a continuity check. If indeed the normal self-test has failed, the most likely cause is damage to the sensor. The sensing elements are very close to the edge of the package, and using metal tweezers can chip the silicon and cut the sensing coil.

    o_o
    Highlighted
    Established Member

    Re: BMM150 Z value not correct

    This is scaring since the PCB I'm using comes from production manufacturer, but it could explain a lot of things.

    Does a chip damage explain also the zero value for Z2 trim data?

    Highlighted
    Community Moderator
    Community Moderator

    Re: BMM150 Z value not correct

    Hello Myzhar,

    the Z2 parameter is a signed integer. Zero is a possible value, that would not indicate a failure. What is the failure rate? Do you have multiple failing parts?

    o_o
    Highlighted
    Established Member

    Re: BMM150 Z value not correct

    We have been using the BMM150 in production for a few years now.  We had to make a special effort to overcome initial poor yields.  Even minor superficial damage to the package may cause it to fail.  A device will typically fail completely but we have observed other failure modes such as single axis failure, failure after a period of time (minutes), or otherwise unreliable measurements.

    Physical damage can result in a whole range of unexpected behaviour. It seems reasonable to expect this to include apparent corrupted register values.

    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