LSM6DS3 gyro bias?

My nano-33-iot seems to work pretty well but I have noticed that the gyro attitude rates seem to have a bias in each of the 3 axes: on the order of 2 deg/sec in X, 5 in Y, and 4 in Z. The good news is that the bias is very constant over hundreds of measurements, so I can mathematically correct for it. I am just wondering if others have seen the same thing -- a constant bias? One can place the device on a table in any stable orientation and you will see the same X,Y,Z bias values.

The accelerometer on the other hand is showing essentially no bias. When level, it reports X=0, Y=0, and Z= 1 g, as expected.

Also, FYI for those just starting to use this component, the X-axis points towards the USB connector from the center of the nano-33-iot, The Y axis is to the "left" on the other side of the power supply LED,and the Z-axis points upwards from the Arduino. Expect a value of +1.0 g in the Z-direction (equivalent to 9.8m/s^2 ).

Hello donjpearson,

Gyros do have a tendency to drift. I would take a look trying to implement something called a Kalman filter. They are designed to compensate and limit the noise from these kinds of devices. I found an Arduino forum guide here.

I have never implemented one myself but when I was playing around with 9 degrees of freedom inertial measurement units this came up a lot.

Hope that helps,

Matt