Hello everyone!
I am currently looking to acquire data (linear acceleration, gyroscope and rotation vector) from 2 BNO085s as quickly as possible. I am interfacing with a BeagleBone black. I started using I2C because it seemed the easiest.
The maximum frequency I was able to achieve was about 55 Hz (with the 2 BNOs) which is not bad but a bit far from what I expected knowing that it could go up to 400 Hz according to the datasheet (But I saw other posts complaining about the frequency drop when using multiple reports, so I wasn't surprised).
Then I decided to try it with SPI. Looking at the signals on the oscillo, the communication time was much faster (just to receive a packet from BNO) which shows good potential. But a problem with packets and reports appeared when using SPI.
When I requested one report per second from BNO for all three types of reports, I had no problem, the packet arrived every second with all three reports. But when I set the report delay to 5ms less or more, I got a packet about right in timing that contained only one report.
In the end, I couldn't get the report delay below 20ms AND a packet containing all three reports... Have you heard of this problem (I haven't seen anything on the internet)? Is it a software problem with the BNO? Have I reached the performance limit of the BNO?
Thanks in advance!
PS: I don't use the interrupt pin for practical reasons. So I ask the BeagleBone to read the BNO values periodically. I tune this period and the reports delay so that I always have something to read. This worked well with I2C...
BNO085 I2C VS SPI issue
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- gammaburst
- Posts: 1015
- Joined: Thu Dec 31, 2015 12:06 pm
Re: BNO085 I2C VS SPI issue
I while ago I experimented with talking fast to three BNO085s over I2C and SPI. Difficult journey. Problems with other people's code, especially the BNO's awful communication firmware. My test results were disappointing, although a lot faster than 55 Hz. I forget the details. Maybe something in the discussion will help you:
Three BNO085s I2C: viewtopic.php?p=857930#p857930
Three BNO085s SPI: viewtopic.php?p=859651#p859651
Adafruit's forum just now tried to ban my word "disappointing".
Three BNO085s I2C: viewtopic.php?p=857930#p857930
Three BNO085s SPI: viewtopic.php?p=859651#p859651
Adafruit's forum just now tried to ban my word "disappointing".
- getEmbedded
- Posts: 2
- Joined: Tue Nov 22, 2022 4:16 am
Re: BNO085 I2C VS SPI issue
Thanks for the quick answer gammaburst !
I checked the past discussion and for the moment I could already understand another bug I had. Sometimes not all the reports were enabled at the begining of the code (in SPI, not I2C) and I didn't see why. I understand that I didn't get the complexity of the BNO firmware...
I checked the past discussion and for the moment I could already understand another bug I had. Sometimes not all the reports were enabled at the begining of the code (in SPI, not I2C) and I didn't see why. I understand that I didn't get the complexity of the BNO firmware...
Please be positive and constructive with your questions and comments.