BNO085 or BNO080 IMU

#define BNO08x_ADRESS 0x4A //Use 0x4A for Adafruit BNO085 board, use 0x4B for Sparkfun BNO080 board

  1. line
1 Like

Iā€™m using the same code but I havenā€™t used mma, is bno not used for both purposes? (yaw and roll)

Yes, with BNO8X you donā€™t need MMA.

1 Like

Thanks, the picture misled me. I donā€™t remember who wrote it, but line 7 should have been like this.
#define CALIBRATION 0> #define CALIBRATION 2

I have a question, is it BNO I just plugged it into the mma socket, it works well in the office, do you think I need to mount it elsewhere with an extension cord?

Chineses BNO08x runs like Sparkfun

1 Like

Yes, is 10 times better than mma (in my desk), saturday field test in my combine with soybeans.

1 Like

Who uses the Sparkfun BNO080?

Can you use it without level shifter?

If so do you connect direct to SCL/SDA pins or use the old MMA socket with resistors on SCL/SDA lines?

I used it this way, there was no problem. Then I mounted it on my (nano) agent using UDP.

i2ca

Ok, we used one connected like the old MMA was but it didnt last long before it stopped. (I think becasuse of the Arduino 5 volt i2c pullup)

So now becasue the Sparkfun model is the only one without any level shifting on the module and 3.3volt only we added two lines of code after Wire.begin(); to disable the internal 5volt pullup resistors, then the external 3.3volt pullup resistors are used and everything should last longer this time.

//set up communication
Wire.begin();
pinMode(A4,INPUT); //Disable Arduino internal 5v pullup to use external 3.3v pullup in sparkfun BNO080
pinMode(A5,INPUT); //Disable Arduino internal 5v pullup to use external 3.3v pullup in sparkfun BNO080
Serial.begin(38400);

Note: if the BNO is not connected you must use external pullup resistors on the i2c lines for the program to run. And there canā€™t be any other 5volt pullups on any other modules connected to i2c. The i2c devices only drive to GND so you can use 5v and 3.3v devices on the same i2c but you must only pullup to 3.3volt.

Just my two cents worth? But will see what happens over time.

3 Likes

Hello,

The Sparkfun MMA is also already 3.3V. To used with 5V ĀµC, they suggest to add 330Ohm resistor in serial with ĀµC: this is what itā€™s done on PCBv2.
I havenā€™t used Sparkfun BNO, but I was thinking this would works.

Other solution: they suggest a logic level shifter: https://www.sparkfun.com/products/12009?_ga=2.236110146.2109851253.1620247668-772025166.1610730978

Or you can re-used the Adadruit level shifter circuit from BNO085
image

Math

1 Like

Yes, that is what the original design i did for the pcb, worked well with the 330 in series. Can do the same i am sure with the 080

1 Like

Hello,

I was sure too, but if I understand well @CommonRail, he connects it BNO080 at MMA pin (so behind the 330Ohm resistor, but his BNO080 died.

Math

The Adafruit BNO085 is both 3v3 and 5v tolerant and half the price of the Sparkfun from what I can see. At least here anyway.

Agree, I prefer the Adafruit board. But somes are using the Sparkfun, so we have to be sure how to connect it to current PCBv2 without making users take the risk of breaking them.

Math

Whatā€™s the recommended mounting configuration for the BNO08x (or CMPS) - integrate it into the PCB v2 box or as a separate stand-alone system?

Appreciate any pics on the physical setup and wiring that is working well.

Hi,
I might be lucky, but I have 3 sparkfuns on the MMA port, and so far no problem ā€¦

I just drilled 1 hole for GND in pcb, and connected gnd under pcb, then switched to nano + udp and connected a switch with cat5 cable.

0655 (1)

I personally use the Adafruit BNO085 in all my setups.

But I was helping someone else who was using the Sparkfun model, setup using the 330 resistors.

Just to be safe I would use a level shifter, maybe the broken one was bad luck and just using resistors is ok?

Hello,

According to Tooki RETEX, itā€™s seems that Tooki is not particulary lucky, it just work with 330 Ohm and it seems that CommonRail you were not lucky with the BNO080 the guy !
Perhaps the faillure has nothing to do with I2C line, just bad luck.

Math

Have been now drilling for a couple of days with autosteer and seems like no problems with the BNO085 tilted at an angle and then tared :+1:

2 Likes