10-23-2022 11:27 PM
TL;DR - even the BHI160B shuttle board 3.0 fails to send interrupts or data after uploading firmware ("firmware/Bosch_PCB_7183_di03_BMI160-7183_di03.2.1.11696_170103.h") and installing virtual sensors (been trying with BHY_VS_ACCELEROMETER) and callbacks when I desolder the BMM150 (but leave the aux pull-up resistors). Is there some MINIMUM bus capacitance needed to slow down the rise/fall times on the ASDA and ASCK lines?
I've been fighting with a custom board using the BHI160B and an ESP32S3 (programmed in Platform.IO with the Arduino framework) for a while. The behavior has been the same, I talk to the chip just fine, upload firmware just fine, install virtual sensors and callbacks just fine, but I only ever get an interrupt after firmware upload.
I ended up buying the shuttleboard to isolate my problem, and it immediately worked. Both with the stand-alone firmware and accelerometer virtual sensor, and with the BHI+BMM firmware and orientation virtual sensor. I don't have a BMM150 on my custom board so I desoldered it from the shuttle board and suddenly it started having identical behavior. I tried to add 10pf capacitors to the ASDA and ASCK lines as that is the input capacitance in the BMM150 datasheet but I ripped up a pad on the shuttleboard and so was unsuccessful. I have no other ideas for what could cause the BHI failure using firmware not talking to the BMM150 when the BMM is simply removed.
10-26-2022 08:06 AM
Hi Benji,
If you didn't use BMM150, you should remove aux pull-up resistors and keep ASCK, ASDA pins floating.
10-26-2022 06:04 PM
fascinating, since the datasheet says exactly the opposite. I'll give it a try and report back.
10-26-2022 07:48 PM
No luck, it has the same behavior where I can talk to the BHI hub just fine, but it doesn't seem to get any data from the BMI.
11-03-2022 06:00 AM
Well, we decided we needed magnetic data as well. Spun up a new board with both the BHI and BMM and it worked straight away. Part of me wants to start desoldering to figure out where the problem was, but alas - it works so I'm moving on.