Seeed XIAO BLE nRF52840 Sense giving bad gyroscope data

You can change these with register writes if you want

I think these might also be 17.50 instead of 16.50

Yeah the drift is pretty bad! But there are some ways to get around it. There are some filters that can be used that use sensor fusion (combination of data from multiple sensors) to lessen the error. The video below talks about a complimentary filter which combines data from the accel and data from the gyro to help negate the drift. There are some filters that are talked about in later videos, but the complementary one is a great place to start!

I haven’t implemented it into my work application yet, so I can’t provide much insight.

Additionally, you could add a ‘calibration’ section where you let the board run for maybe ~10 seconds or so to collect data and then average them together. You could then subtract your average from the measured values. Its a pretty rough approach, but it might be able to work depending on the length of time you want to measure data.

For example:

float realGyroX = calcGryoX - avgGyroX