BNO080 IMU 115200 UART interface rvc mode, Yaw, Pitch, Roll outputs BNO085
mwroberts
Posts: 75
Here is a P2 program grabbing yaw, pitch and roll outputs from the BNO080 IMU chip in "robotic vacuum cleaner" mode.
100 times a second it sends out a 115200 b/s serial string of 19 bytes with yaw, pitch and roll information.
No calibrations needed.
I sent the data out to the new debug "plot" feature in pnut.
The board is from sparkfun.
100 times a second it sends out a 115200 b/s serial string of 19 bytes with yaw, pitch and roll information.
No calibrations needed.
I sent the data out to the new debug "plot" feature in pnut.
The board is from sparkfun.
Comments
Nice implementation and video.
Mike
Sparkfun is nice for me because they give Eagle layouts that I can use...
The board is a bit expensive, but the chip isn't so bad. Looks like it needs a crystal, or maybe a P2 pin could provide the clock.
I wonder how it corrects for soft-metal in the vicinity...
That correction is a bit of a pain in the regular 9DOF chips...
Looks like there's a BNO085 chip too with some kind of extra AR/VR firmware.
I had this working a few months back on a P1 with a ntsc screen using the P1 graphics driver.
I saw the p2 was getting to the point where the bugs were worked out and the software base was growing, so I took the leap and got a p2 eval board.
Getting the P1 uart part of the program to work on the p2 was pretty easy thanks to tips on this forum p1->p2 code conversions. This was mostly the waitcnt parts.
I had a lsm9ds1 working with a P1 a few months back and when it came time to figure out how to blend all the inputs together to get yaw, pitch and roll or quaterions or whatever, it looked like... well, hard and time consuming.
So I found these BNO055 and BNO080 chips... both made by bosch, but the firmware in the BNO080 is by a company different than bosch. And it had a simple "UART yaw pitch roll" output mode (along with a more complete complicated
one you want to use that).
Here are some clips from the BNO085 writeup on adafruit:
https://www.adafruit.com/product/4754
{
Please note, the BNO085 is the 'upgrade fix' to BNO080 - it is completely back-compatible with the BNO-080 and, in addition, fixes an SPI timeout bug that made SPI difficult to use.
Thanks to a unique agreement between Bosch and Hillcrest, the BNO085 uses the same hardware as the BNO055 but very different firmware running on it.
BN0085 also provides a simple but useful and well executed UART-based mode that provides calibrated heading and acceleration measurements. The UART-RVC mode takes its acronym form one of its potential applications: Robot Vacuum Cleaners. This mode is exceedingly simple to interface with and based on my limited testing it performs astoundingly well. The ease of use to utility ratio here is off the charts.
}
The sparkfun board I used was $34., the BNO085 board on adafruit is only $20., but out of stock...
It looks like Hillcrest is making the BNO080 which is the same as BNO055 from Bosch. It seems they are fighting with each other since they are competing products or something.
I have the BNO055 and tried to get it to work and found it very difficult to interface too.
So far I am not vary happy with Bosch products.
Mike
https://www.digikey.com/en/products/detail/ceva-technologies-inc/FSM300/7917164
Mike
Wonder if could share the crystal with RTC somehow...
Or, I wonder how precisely the P2 could generate a 32.768 kHz output.
It'd guess it could be precise enough...
How about this one. The price might make it worth the wait. US $9.89 postage US $3.
https://www.ebay.co.uk/itm/GY-BNO055-Attitude-Sensor-9DOF-9-Axis-Absolute-Orientation-Gyroscope-Module/322867412690?hash=item4b2c65bed2:g:xOYAAOSw1JVaAHLv
There many sellers at about this price.
I have one of these (not from this seller) and it seems to work well.
Dave