Imu / bno085

The Mouser order of 1,000 BNO085 units did not arrive so a couple of us are still looking for BNO085s.

Does anyone know where has any in stock? They just seem to be increasingly difficult to find as each day passes.

Anyone?

Expensive for what looks like a cheap Chinese board. Reads like it’s in stock. Not sure I’d be keen to order though.

https://gbr.grandado.com/products/gy-bno080-bno085-ar-imu-high-precision-nine-axis-9dof-ahrs-sensor-module-1?gclid=Cj0KCQjwyMiTBhDKARIsAAJ-9Vs3X1JzUtB-nOFvJliIj8eJomlfjfS0-lXz2F_0QRpWUl_Eb9_4NbIaAoa1EALw_wcB&variant=UHJvZHVjdFZhcmlhbnQ6MjI5MDI3MTc2

I’ve tried three times to order from Grandado and on each occasion they cancelled the order after theee days due to no stock. Saying that, that’s about the best price I have seen in a while so it may be worth trying again to see what happens.

@yelrom Might be worth considering ordering just one for your tractor?

There are millions of cheap 055s about. What was the problem with these, inaccurate? IIRC, they don’t have roll detection, but is that the only downside?

I have used both bno055 and bno085 with Raspberry Pi.

Short answer: roll is ok with with bno055 and heading is drifting a bit on mowing tractor, so I found that GPS 70 % IMU 30 % setting is ok. Heading is better with bno085.

Longer answer:
Adafruit Python libraries have caused me major problems. Last year I first used bno055 and it was completely useless, heading was jumping all over and roll was drifting. I changed to bno085 and roll was good, heading was still the problem. I tried all kinds of error corrections.
The problem with bno085 I2C communication is that it is quite complex to implement and Adafruit library (or chinese hardware) is very unstable, it will crash time to time. Which means there is gap in data flow and it will also lost previous heading. To be precise here I use game vector that don’t use magnetic compass. Losing heading will cause jump on heading. For both bno055 and bno085 I2C there are also minor bad data reading that are easy to detect, quaternion norm should always be very close to 1, on bad data it can be anything.
Only recently I discovered bno085 UART-RVC mode that is really simple serial communication. Why haven’t I noticed that before. I haven’t found any problems with UART-RVC mode yet. As I am writing I just realized I don’t know whether it uses magnetic compass or not.
For bno055 now I use smbus Python library for I2C and made my own code for the data. There are no communication errors just some minor bad data that are easy to detect and discard. No drifting on roll, no jumps jumps on heading but small drift on heading.
At the moment I have one unit with bno085 and one with bno055 in use.

3 Likes

I don’t think it does use the magnetic compass in that mode.

Panda is using gyro integrated rotation mode, at least it was in the version of the code I have, and I’m not sure that mode uses the compass either.

Not anymore, roll is drifting really bad in this mode, so switch back to Game Rotation Vector