Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI323 fails to start feature engine, acc or gyro. Only reads 0x8000

    BMI323 fails to start feature engine, acc or gyro. Only reads 0x8000

    tobbeanton
    New Poster

    Hi,

    I'm building my own board with a BMI323. I tripple checked the connections, everything seams fine. I've tried resoldering 3 different BMI323 all with the same result. I'm using the latest offical bmi3 github drivers and all the three BMI323 answeres the correct chip ID but fails when soft-resetting and trying to start the feature engine.

    BMI323 CAD:ed like this:

    tobbeanton_0-1712075751753.png

    I've taken some I2C logs where I ignore the BMI3_E_FEATURE_ENGINE_STATUS error so I can also configure and read the acc+gyro both with a 0x8000 response on all axis:

    write to 0x68 ack data: 0x7E 
    write to 0x68 ack data: 0xAF 0xDE 
    write to 0x68 ack data: 0x12 
    write to 0x68 ack data: 0x2C 0x01 
    write to 0x68 ack data: 0x14 
    write to 0x68 ack data: 0x01 0x00 
    write to 0x68 ack data: 0x40 
    write to 0x68 ack data: 0x01 0x00 
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x11 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x00 
    read to 0x68 ack data: 0x00 0x00 0x43 0x11
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x05 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0x08 0x10 0x05 0x00 0xFA 0xA0 
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x08 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0x1E 0x10 0x03 0x00 0xFA 0xA0 
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x1E 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0xB6 0x00 0xFA 0x64 0x64 0x68 
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x10 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0x00 0x00 0x33 0x01 0xEC 0xF1 0x50 0x00 0x9A 0xD9 0x7E 0xF6 0x66 0xE6 0x14 0x20 0x0F 0x0E 0xC3 0xF3 0x96 0xA0 0x57 0x0D 
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x0D 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0xFA 0x00 0x96 0x20 0x53 0x46 
    write to 0x68 ack data: 0x41 
    write to 0x68 ack data: 0x1C 0x00 
    write to 0x68 ack data: 0x42 
    write to 0x68 ack data: 0xD8 0x54 0x32 0x20 
    write to 0x68 ack data: 0x21 
    read to 0x68 ack data: 0x00 0x00 0x48 0x00
    write to 0x68 ack data: 0x3A 
    read to 0x68 ack data: 0x00 0x00 0x00 0x00 0x00 0x00
    write to 0x68 ack data: 0x3A 
    write to 0x68 ack data: 0x00 0x00 0x00 0x01 
    write to 0x68 ack data: 0x21 
    write to 0x68 ack data: 0x48 0x40 
    write to 0x68 ack data: 0x03 
    read to 0x68 ack data: 0x00 0x00 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80 0x14 0x07 0x00 0x00 0x00 0x00

     

    I2C communication looks fine:

    tobbeanton_1-1712076145090.png

     

    What am I doing wrong?

    6 REPLIES 6

    tobbeanton
    New Poster

    No one has any idea?

    I got a BMI323 shuttle board 3.0 and hocked this up to the nRF52832 Dev kit and I get exactly the same response so I'm thinking there is somthing with the driver integration.

    tobbeanton_1-1712579803618.png

    Since the BMI323 answere with the correct CHIP_ID Im thinking it is the delay function that might not be working correctly? I'm using the nRF SDK function:

    static void bmi3_delay_us(uint32_t period, void *intf_ptr)
    {
      nrf_delay_us(period);
    }

     

    Some further updates.  I got some LSM6DS3 which are pin compatible and those work fine. This further suggest there is some driver problem or the integration of it. The LSM6DS3 uses the same underlying I2C driver so most likely the problem lies higher up.

    BSTRobin
    Community Moderator
    Community Moderator

    Hi tobbeanton,

    1. Could you provide your BMI323 schematic for double check?
    2. We uploaded BMI323 example code on STM32 for your reference. This example code based BMI323 sensor API & example code on github https://github.com/boschsensortec/BMI323_SensorAPI
    3. You can check the correctness of nrf_delay_us(period) function on your host platform.

    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