BNO08X and ESP32 Thing Plus => BNO08x not detected at default I2C address. Check your jumpers and the hookup guide. Freezing

Hello,

I want to use a BNO08X with a ESP32 Thing Plus.

While I am able to receive data from the IMU, I noticed 2 issues:

  1. during boot, I get several of these messages:
  • BNO08x not detected at default I2C address. Check your jumpers and the hookup guide. Freezing…
  • E (1883) i2c.master: I2C transaction unexpected nack detected
  • Could not enable rotation vector
  • sensor was reset
    after the 2nd “sensor was reset” message, the IMU delivers values
  1. (worse) after around 20 minutes, I do not receive any more data and need to reset the ESP32

Are those 2 issues related?

Am I missing something with the setup? I followed the hookup guide and did those steps:

I did not change anything else on the IMU board and use these defines following the examples:
#include <Wire.h>
#include “SparkFun_BNO08x_Arduino_Library.h”
BNO08x myIMU;
#define BNO08X_INT A4
#define BNO08X_RST A5
#define BNO08X_ADDR 0x4B

myIMU.begin(BNO08X_ADDR, Wire, BNO08X_INT, BNO08X_RST);

What am I doing wrong or missing?

Share a photo of the setup

Is anything else on the i2c bus?

@TS-Russell - sure please find them attached.

From GND to 21 attached is a simple on/off switch connecting 21 to GND when pressed.

Nothing else is connected.


Ah, I suspect the soldering might be the issue - I’d recommend de-soldering what you have there and inserting the wires through the holes and re-solder them (right now they aren’t making much contact with the board’s electrics as they’re atop)

some thoughts:

Make sure to do a Wire.begin(); before calling MyIMU.begin().

Check the Qwiic connectors, sometimes the pins are bend and/or not connecting correctly.

Try without using RST and INT : myIMU.begin(BNO08X_ADDR, Wire). see what happens

Check the 3v3 on the Qwiic is really 3v3.