BHI260 Fifo Overflow

Hello, the title is quite self explanatory, but here is the story.

I am reading quaternion data from a BHI260+BMM150 using I2C at 400 Hz, along with Accelerometer and Gyroscope WU. Yet I'm reading every now and then a FIFO overflow with some seconds of data loss.

Why is that happening? The while(true) loop is basically empty, I only have a led toggling and the BHI reading. Even if I flush the FIFO before the get_and_process, I will overflow it just after the flush. How is that I'm not able to empty the FIFO fast enough?

I'm using an NRF5340 as a host microcontroller.

6 replies