Posts: 1
Joined: Wed Jan 24, 2018 8:08 pm

BNO080 gyro-integrated rotation vector pitch data incorrect

Wed Jan 24, 2018 8:21 pm

Hey guys,

So i'm working on some project using the Bosch Sensortec BNO080, if some of you used it you may help me.

I managed to get data from the sensors over I2C .

Getting data from the integrated-gyro RV gives you quaternions (Yaw, pitch, roll and real) and/or Euler angle. I got a nice and stable data for the roll and the yaw, but when it comes to the pitch, the value seems to only be an accelerometer value. What i mean is whenever i rotate the device, the pitch data goes up. The faster i make a movement, the higher the data goes. The it goes back to 0 when i stop moving, whatever the angles of the device. All the datas come from the same report.

Anyone of you have use this and experience something like this? Or is just familiar with IMUs and knows what could probably cause this?


Posts: 1
Joined: Tue Sep 11, 2018 6:17 pm

Re: BNO080 gyro-integrated rotation vector pitch data incorrect

Tue Sep 11, 2018 6:31 pm

Hi, Im wondering if you could work with the BNO080? im working with this sensor but I can't communicate with it. Can you tell me how did you do?

Posts: 141
Joined: Tue Dec 18, 2012 10:34 am

Re: BNO080 gyro-integrated rotation vector pitch data incorrect

Tue Oct 09, 2018 8:51 pm

In case it helps anyone, I am working on a BNO080 implementation at the moment. It's not finished but I am able to communicate with the device over SPI and have written code designed for my use case but which I think will have a fair few routines of more general application.

It uses the excellent bcm2835 library to communicate over SPI and to control/read some GPIOs (so that needs to be installed first). Library is available from here

Code is in this repository: There's loads of other stuff in there but the relevant BNO080 code (BNO080-general.c and BNO080.h) are in the "old" directory.

I haven't experienced any problems with the pitch, perhaps the OP might find the answer in the quaternion to euler conversion code in the parseGyroIntegratedRotationVector() function.

Have fun


EDIT: changed filenames

Return to “HATs and other add-ons”