Hello everyone,
We are attempting to connect the BNO086 sensor (the one available on the Mouser website here) to an ESP32 using the code from the SparkFun library: SparkFun_BNO08x_Arduino_Library/examples/Example_02_Accelerometer/Example_02_Accelerometer.ino at main · sparkfun/SparkFun_BNO08x_Arduino_Library · GitHub. We only modified lines 52 to 55 as follows:
// #define BNO08X_INT A4
#define BNO08X_INT -1
// #define BNO08X_RST A5
#define BNO08X_RST -1
In lines 57 and 58, we changed the address from 4B to 4A. We found that with the 4A address, the IMU is recognized, but we are unable to read data.
Our question is whether the driver needs modification to handle switching between these configurations, specifically regarding how the sensor interacts when using the internal or external clock, and the differences between the 4A and 4B addresses. We are using the ESP32-WROOM-32 as our microcontroller.
Thank you in advance for your time and help!
Best regards,
Valerio
You have to modify the backside ADR jumper by putting a solder blob connecting the 2 pads
The I2C with address 4A enables the device but causes an internal reset, which we have verified with flag 2 using the function myIMU.getResetReason();. The sensor does not write anything. What could be the issue, and how can we resolve it?
Thank you in advance for your time and help!
Best regards,
Valerio
Report_Log.pdf (165.1 KB)
…did you set the ADR jumper pads?
Could you clarify what you mean by ‘set the ADR jumper pads’? We have left the SA0 pin unused—could this be causing the issue? The address we want to communicate with is 0x4A, and we can detect it when scanning the I2C bus. I’ve attached the schematic in a PDF (please see the attached file); could you take a look and let me know if this is a hardware or software issue? I’d also appreciate any further clarification on this point. Thank you!
Report_Log.pdf (165.1 KB)
Click the link I sent previously…you need to physically set the address as well