Cant detect BNO055 IMU sensor

I am using an Arduino Micro board connected to an Adafruit BNO055 IMU sensor. I cannot detect the board and when I run an I2C scanner it detects nothing. Here are the connections and photos
Arduino Pin 2 to SDA
Arduino Pin 3 to SCL
Arduino 5v to Vin
Arduino GND to GND

This was one of my first times soldering and did not do a great job, did I fry the board or anything? Would love to hear anyone's thoughts on this. Thanks!

I had a similar problem. The info on my page here may help

I have my sensor wired up the same as yours was however if I run the I2C Wire Scanner it will not detect the sensor. I think it is also important to note I have had this sensor working for a while and had this problem in the past. I can not recall how I was able to solve it though.

Are the required pullup resistors on either the sensor module, or the Arduino?

If not, you'll need to add 2.2K to 4.7K resistors between SDA, SCL and Arduino Vcc.

Sorry for the late reply, I always thought that the BNO055 already had pull-up resistors built-in, I've been able to get it to work a lot before without these resistors as well.

Then it would be sensible to actually check.

Another sensible course of action is to get out your multimeter and check for correct voltages, broken wires, intermittent connections or shorts between pins.

Okay, I was wrong and it does need those resistors. I was using it for a good couple of weeks before this happened and it worked fine. Would running this without those resistors cause the board to be permanently damaged?

I also checked for shorts and wire connections which all were as expected.

No, not possible to damage the board.

The Arduino core enables the internal pullup resistors, which are weak, but sometimes adequate to allow I2C to function. Then if you change the wiring, it stops working.

I did some more research into the board and it has 10k pull up resistors in line of the two I2C lines ( Pinouts | Adafruit BNO055 Absolute Orientation Sensor | Adafruit Learning System)
Guess I missed this before, do you have any other ideas on what could be causing this?

The soldering is poor. You could have a short circuit between two adjacent connections, or a bad connection to the board.

If you are very careful, it is possible to use a multimeter to check continuity between the wiring and the actual pins on the BNO055 chip, or at least connections to them on the PCB. The schematic is at

I tested all the pads and found no shorts. Is there supposed to be continuity between the ground pin and Vin or between Ground and 3v?

Having the same Project right now but using an esp8266 with the Arduino IDE. In my case it works perfectly fine without resistor. I had do define this Adafruit_BNO055 IMU = Adafruit_BNO055(-1, 0x28) to make it work.

There will be some resistance, depending on the polarity of the probes and the internal circuitry of the multimeter. I would expect that to be a few thousand Ohms.

I'm not able to read any continuity between the Vin pin and ground on the IMU board.

In my code, I was defining it with
Adafruit_BNO055 IMU = Adafruit_BNO055(55), Still not able to detect the board but I will try this change once I can get the board connected.

Since that is an Adafruit board, post on their forum. They probably would have better advice on how to determine the problem.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.