Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BMI270 CHIP ID reported as 0x26 instead of 0x24

    BMI270 CHIP ID reported as 0x26 instead of 0x24

    ArchJoeD
    New Poster

    Hi,

    I had received a new order of product containing a BMI270.  For some reason, my BMI270-Sensor-API based code that was running perfectly fine on a previous build of that same product fails at the CHIP ID check in the bmi270_init.  It is returning 0x26 instead of 0x24.

    I had thought that it was speed related since it's off by one bit, so I tried changing the SPI speed.  I tried several speeds from 400kHz - 8MHz but all gave the same result.  I modified the CHIP ID check code to also accept 0x26 and this allowed the structure to be initialized.  Furthermore, the subsequent calls to the BMI2 library return a BMI2_OK.  However, it doesn't seem to actually work or at least the interrupts don't seem to fire.  Again, the exact same binary working as expected on batch of product.

    Examined the chip and found that the markings on the "working" BMI270 says "5L-U4K" (may be an "O" instead of a "U").  The "non-working" BMI270 says "5N-OKC".  See attached pictures.  So finally, took the chip from the working board and reflowed onto the new board.  Suddenly works.

    Anyway, kind of long-winded but questions are:
    1) What is the "5N-OKC" chip?  What product do you have that reports CHIP ID as 0x26?  My hope is that you simply sent the wrong but footprint compatible part to my CM.

    2) If it is an IMU type chip, can you please provide some documentation for it so I can make the appropriate changes to the software?  I have 350 of a 400 unit batch that was built probably from the same reel.  I would prefer to just make a software change to fix this.  Please don't tell me that these are just defective BMI270 chips.  I don't really have the time, nor can I afford to have all these units reworked.

    Thanks!

    Joe

    7 REPLIES 7

    BSTRobin
    Community Moderator
    Community Moderator

    Hello ArchJoeD,

    You can check it first from the official Bosch distributor who purchased the chip. They know the specific shipping information as you bought stock from them.

    bront
    Member

    Did you ever find a resolution to this? I'm dealing with a very similar situation. My non-working chip says:

    5N-3CN

    Unfortunately, Bosch and our sales reps could not help since they could not verify that our CM purchased the chips directly from them.  I suspect the chips were discarded defective units that someone reinjected into the supply chain.

    At the time, the chips were unavailable through traditional sources and wouldn't be for another year.  So, since we were on a tight timeline, I had to make a purchase through a third-party reseller, Utmel (https://www.utmel.com/), who had a small inventory.  My CM reworked about 350 affected units, and we settled for a three-week production delay.

    The BMI270 may be more readily available now.  If you need a backup and have time/resources to rewrite your firmware, you'll be happy to know that the BMI160/BMX160/BMI260 are all footprint compatible if you can find them.  Surprisingly, the STMicroelectronics LSM6DS3, LSM6DSL, and LSM6DSM are also footprint compatible.

    I'd taken that situation as a lesson to plan future contingencies by preparing the drivers for these alternatives for component drop-in.  It means possibly adding some product SKU and additional testing but it's a lot better than pinning your hopes on any component manufacturer coming to your rescue. 😒

    Cheers!  Joe

     

    Thanks Joe, I appreciate the response. I'll keep all that in mind.

    I noticed that on POR the device starts up with Advanced Power Save (APS) mode enabled and in the datasheet they indicate it should be turned off after switching to SPI mode. This doesn't occur in the official driver, so perhaps that's an issue with this revision of chips. I perform a dummy read to switch to SPI and then turn APS off before initializing via the driver and it appears to work so far. Not the first workaround I've had to implement with a Bosch MEMS chip and probably won't be the last.

    Capture.PNG

    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