BNO080 no longer sending data.

Hello All,

I am currently running into an issue where the BNO080 no longer sends any up to date data.

My current setup is a BNO080 breakout board hooked up to a 3.3V Pro Micro via SPI

In my current loop method I check to be sure that no commands have been sent over serial before updating my quaternion values. When I send a DataRequest command I should get the latest recorded data back. However when I do this I no longer get data from the BNO080 sensor.

At first I thought the micro was to slow at 8 MHz. But even when I enable theRotation vector to be enable for sending 1 report every second I still see the data no longer updating.

To prove that the data was being sent to the micro in the first place and that it was updating when I rotated the sensor I have code setup to print the current quaternion values that are being recorded. Once I send a command over serial though I no longer get any updated values from the sensor.

I am currently at a loss as to what may be the issue. Any idea as to what I might be missing.

testbno080.zip (955 Bytes)

Hi Factorem.

When you reset the Pro Micro, are you able to get data again?

When I unplug the ProMicro from PC and replug it in I am able to get data again.

That’s good, that means the breakout is working.

It’s gotta be something in your code. I can’t help debug that, but maybe someone else in the forum can help you with that.

Thank you for the help you could provide though. It was appreciated.

Update.

I guess it was speed.

Instead of reading in a string I tried just using a single byte for my commands.

It turns out that Serial.readString() is a really expensive operation if you don’t edit the default timeout.

The default timeout if 1000ms. I set it to 1 ms and everything is working properly. I can now use strings for my commands.

Glad you got it working!

Hopefully your post will help someone else if they encounter the same problem. :slight_smile: