Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI270-to-BMM150 I2C nacking address byte

    BMI270-to-BMM150 I2C nacking address byte

    embeddedavenger
    New Poster

    Three years ago, I was given a custom prototype board with a BMI160/BMM150, with the MAG sitting on the IMU AUX interface. And I got the pair working, which for this discussion means I could read MAG data through the IMU.

    This year that prototype board is being turned into a product. And the BMI160 has been replaced by the BMI270. And I can no longer read anything from the MAG. Or rather, every attempt to read a MAG register leaves a zero in DATA_0.

    After reading the three specs (150, 160, 270) way too many times, I put scope probes on the SCL and SDA lines between the 270 and 150. And it looks like the I2C address byte is being nack'd.

    My first conclusion was that the ground connection to either SDO or CSB was no longer a connection. So I tried 0x11, 0x12, and 0x13 as addresses. No luck. (I was desperate enough to then try every address from 0 to 127. No luck there either.)

    So I'm looking for some ideas about why the AUX interface does not work for me.

    I don't think it is relevant, but I'll include that my interface to the IMU is SPI rather than I2C. And yes, I can read and write the BMI270 registers, and get ACC and GYR data from the BMI270.

    But before I go, ...

    One of the things I discovered while reading those specs too many times was that the 270 datasheet states (in two different places):

    The auxiliary interface is fully compatible with sensors supporting I2C fast-mode-plus (fm+) and which do not require clock stretching. For operating the device with sensors supporting only I2C fast-mode (fm), please contact your regional Bosch Sensortec sales representative.

    Whereas the 150 datasheet never mentions fast mode plus. It does state:

    The BMM150 supports I2C standard mode and fast mode

    OTOH, there are plenty of web pages out there from people who are using the 270/150 pair. So maybe they will work together. And the 270 datasheet specifically mentions the BMM150 as an example of a sensor that can be used on the AUX interface. Which seems an odd thing to do if they are not compatible.

    Does anyone out there have some illuminating insight for me?

    Thanks.

    1 REPLY 1

    BSTRobin
    Community Moderator
    Community Moderator

    Hi embeddedavenger,

    Could we know your schematic you used? The hardware connection determines what driver software should be used on the host side.

    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