BNO080 I2C Reliability

Hi folks,

I’ve been attempting to communicate with the BNO080 using a SparkFun Qwiic Micro and a Qwiic cable but have been experiencing numerous I2C-related issues. I’m curious to know if anyone has had success with using the BNO080 over I2C or if perhaps my boards are faulty.

Most commonly, the BNO080 fails to initialize, producing the error message:

Qwiic Power Switch not detected at default I2C address. Please check wiring. Freezing.

When the sensor fails to initialize it, it also does so ungracefully, causing the entire code to crash. It usually takes a number of hard resets power disconnects to get it working again.

I’ve also been trying to control power to the BNO080 using a Qwiic Power Switch, but after the first power cycle the BNO080 fails to re-initialize about 99% of the time. This issue is described in greater detail in the following GitHub issue:(https://github.com/sparkfun/SparkFun_BN … /issues/78).

The more I read about the BNO080, the more I learn how temperamental this sensor can be. There are a number of discussions across a wide range of platforms (ESP32, STM, SAMD21, etc.) regarding I2C issues, and it has also been established (by SparkFun) that it does not work reliably with the Artemis.

I’d be keen to hear of any success stories with the BNO080 or tips to help get it working reliably over I2C. At present, I’d be nervous about using this sensor in a real-world application.

Cheers,

Adam