LSM9DS1 Accelerometer... Maximum Float Value Resolution

Hi there,

I'm using a Nano 33 BLE and the Arduino_LSM9DS1.h library.

Via IMU.readAcceleration(x, y, z) for 180 degrees rotation, I'm getting -1.00 to +1.00 in 0.01 steps, so that's a resolution of 100 for 90 degrees rotation.

However, my servos operate from 1000 to 2000 microseconds in 1 microsecond increments for their full travel, which is roughly 90 degrees I think, maybe a bit more...

So that's a resolution of 100 from the accelerometer vs 1000 from my PWM/PPM.

Therefore, is it possible via Arduino programming to acquire a higher resolution from the accelerometer? If not, then please kindly explain where the limitation resides?

Thank you, Gary.

You forgot to post the code, but I'll take a wild guess: you are using Serial.print without specifying the number of digits past the decimal point (2 is the default).

1 Like

Beautiful :star_struck:

Wow, that was fast... I'm glad I asked... it's now at 13 decimal places which is a whole lot better than 2, so thank you and cheers! :joy:

At most, five of those 13 decimal places are meaningful, for a 16 bit sensor.

The LSM9DS1 data sheet will have all the important details.