Sparkfun BNO080 not detected on i2c

Hello, I have two BNO080 sensors, and both are giving me i2c detection issues. I have tested them on an arduino mega, on teensy 4.0 and on arduino uno, but the were randomly detected and not detected, until now that I can’t seem to have them detected anymore

Would you please share an i2c scanner code that I could use to scan bn080 on i2c, for 1 of the arduino I mentioned above?

Then i would report the findings.

Is it possible that the 2 bno080 are stuck in some sort of freezing status that make the bno080 not detected anymore on i2c?

Thanks!

When did you purchase these modules?

Did you perform any modifications to the IC itself, i.e. soldering rework?

Did you originally use the Arduino provided i2cScanner sketch? (https://www.hackster.io/abdularbi17/how … ino-eaadda)

Hi!

From Amzon store.

No soldering rework, just soldered the pins.

1 works, 1 seems dead.

I am using this scanner here:

https://learn.sparkfun.com/tutorials/qw … e-overview

I have a question about this:

Optional Features
Pull-Up Resistor Jumper

The Qwiic VR IMU has onboard I2C pull up resistors; if multiple sensors are connected to the bus with the pull-up resistors enabled, the parallel equivalent resistance will create too strong of a pull-up for the bus to operate correctly. As a general rule of thumb, disable all but one pair of pull-up resistors if multiple devices are connected to the bus. If you need to disconnect the pull up resistors they can be removed by removing the solder on the corresponding jumpers highlighted below.

I am mounting on a teensy 4.0 , on 1 bus only, two bno050 and one bno080.

Do I need to remove pull-up resistors and from which of the 3 accelerometers?

Scanning…

Device found at address 0x28 (BNO055,EM7180,CAP1188)

Device found at address 0x29 (TSL2561,VL6180,TSL2561,TSL2591,BNO055,CAP1188)

Device found at address 0x4B (ADS1115,TMP102,BNO080,Qwiic Keypad)

done

Thanks!

Since you bought from Amazon, you’ll have to follow their returns policies if one of the modules doesn’t respond at all.

You should be able to have a few devices with pull ups attached but it does run the risk of odd behavior. You should only need one device to have pull-ups and the others disconnected. It could be worth a try before returning

Ok. Thanks!

Any idea how i could remove the pull up from the bno055?

Would you suggest to remove the pull up from the bno080 and keep the ones from the bno055?

BNO080: There is a soldered jumper on the bottom left of the board. https://cdn.sparkfun.com//assets/parts/ … 080-04.jpg, desolder those connections and the pull-ups are disconnected.

I’m not sure about the BNO055 since we don’t sell that product.

I have been trying to use your bno080 with my code, but the bno080 have times when output data and times where data is not output

http://www.mediafire.com/file/ll7sdpsf8 … us.7z/file

Is there any suggestion you could give?

https://ibb.co/Hqd9QSy

https://ibb.co/yVY9D2J

https://ibb.co/V9Rrw6F

Just to confirm, did you try the scanner example with just the BNO080’s attached and nothing else? Both of them separately?

Hi . I have tried the bno080 singularly. 1 work and the other is dead.

I am using only 1 bno080 in my project.

I have 3 accelerometers connected on 1 bus of the teensy or arduino mega or uno.

Of the 3 accelerometers , 1 accelerometer is the bno080 and the other two are the bno055.

Please see attached code.

http://www.mediafire.com/file/5vqt22p43 … 29.7z/file

When i run the code, after about 30 minutes, the bno080 stops transmitting data.

Do you see anything in the code related to the bno080 that would presume a wrong configuration of the bno080 for this project

This is how the accelerometers are comnected using an uno or a teensy

https://ibb.co/2MvGS6J

https://ibb.co/rbDvt1S

I’m afraid we can’t assist with your code.

Try connecting the non working BNO080 board to an Arduino Uno and use the Arduino IDE along with our library and example code to test it. If it’s still not working and you bought it directly from the SparkFun website, fill out the form [on this page with your order number and the URL to this forum post and we will see what we can do to help.

If you bough the board from a distributor of ours you will need to contact them to see if they can replace it.](Return Policy - SparkFun Electronics)

Hi there , i have purchased another bnoo80

It works on the uno but not on teensy 3.2 or t33nsy 4.0

I am using this scanner code

// Arduino I2C Scanner
// Re-writed by Arbi Abdul Jabbaar
// Using Arduino IDE 1.8.7
// Using GY-87 module for the target
// Tested on 10 September 2019
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.

#include <Wire.h> //include Wire.h library

void setup()
{
  Wire.begin(); // Wire communication begin
  Serial.begin(9600); // The baudrate of Serial monitor is set in 9600
  while (!Serial); // Waiting for Serial Monitor
  Serial.println("\nI2C Scanner");
}

void loop()
{
  byte error, address; //variable for error and I2C address
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for (address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.print(address, HEX);
      Serial.println("  !");
      nDevices++;
    }
    else if (error == 4)
    {
      Serial.print("Unknown error at address 0x");
      if (address < 16)
        Serial.print("0");
      Serial.println(address, HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000); // wait 5 seconds for the next I2C scan
}

The bno080 is detected on uno but not on teensy 3.2 or 4.0

Could you please fix your library for compatibility?

If you’re just scanning, there wouldn’t be any libraries in use so it’s not a library issue.

YellowDog is correct. Please also be aware that the scanner is not working on each and every board. Some board libraries will not send anything on I2C if there was nothing writing to send. The sending is only happening at endtransmission(). Don’t know about teensy library.

The bno080 is not working on a teensy with the sparkfun example codes. No data shows, because the bno080 is not detected.

Do you have a way to test your bno080 on a teensy and give me feedback after you guys do test on the actual hardware ?

I have 3 bno080 and none works. So defenitly is not a faulty bno080

I found the bno080 very challenging to work with. Having issues also having the bno080 detected on an arduino leonardo.

For the teensy, I have times when the bno080 is detected and times when it is not. And the detection worked after I installed a modified i2c library for the teensy 3.2 that addresses issues with the bno080