Behold, the ST LSM6DSOX: The latest in a long line of  quality Accelerometer+Gyroscope 6-DOF IMUs from ST. Along with the LSM6DSOX, this guide will cover the industrial version, the ISM330DHCX and their wider range sibling the LSM6DSO32. All are pin-compatible and are nearly code-compatible - we'll be using the same library code and wiring diagrams to connect to both

In the ISM330DHCX the sensing elements of the accelerometer and of the gyroscope are implemented on the same silicon die, thus guaranteeing superior stability and robustness. It also has an extended temperature range of -40 to +105 °C compared to the LSM6DSOX's -40 to +85 °C. Finally, the ISM330's gyroscope can measure up to ±4000 dps, the LSM6DSOX tops out at ±2000 dps. If those extras aren't essential for your needs, the LSM6DSOX will do quite nicely.

Should you wish for a wider range of acceleration measurement, the LSM6DSO32 will have you covered. Compared to the +/-2 to +/- 16g , the LSM6DSO32 can measure higher acceleration amounts and is configurable from +/- 4-32g! This will allow for capturing more extreme motion events.

All three sensors are great IMU sensors with 6 degrees of freedom - 3 degrees each of linear acceleration and angular velocity at varying rates within a respectable range.

For the LSM6DSOX and ISM330DHCX, the accelerometers have a respectable range of: ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate. The LSM6DSO32's accelerometers can measure ±4/±8/±16±32 at the cost of a bit of additional noise in the signal. 

For the gyroscopes: ±125/±250/±500/±1000/±2000 dps (plus ±4000 dps for the ISM330) at 12.5 Hz to 6.7 KHz. There's also some nice extras, such as built in tap detection, activity detection, pedometer/step counter and in the LSM6DSOX and ISM330DHCX a programmable finite state machine / machine learning core that can perform some basic gesture recognition. 

For interfacing, you can use either SPI or I2C - there's two configurable interrupt pins. For advanced usage, you can attach additional devices to an external I2C/SPI port - used for optical image stabilization.

To make getting started fast and easy, we placed the sensors on compact breakout boards with voltage regulation and level-shifted inputs. That way you can use them with 3V or 5V power/logic devices without worry.

We also wrote libraries to help you get these sensors integrated with your Arduino/C++ or CircuitPython/Python boards such as Raspberry Pi or other single board computers.

Additionally since it speaks I2C you can easily connect it up with two wires (plus power and ground!).  We've even included SparkFun qwiic compatible STEMMA QT connectors for the I2C bus so you don't even need to solder! Just wire up to your favorite micro with a plug-and-play cable to get 6 DoF data ASAP.

This guide was first published on Dec 22, 2019. It was last updated on Dec 22, 2019.
This page (Overview) was last updated on Oct 25, 2020.