Add high-quality motion, direction, and orientation sensing to your Arduino project with this all-in-one 9 Degree of Freedom (9-DoF) sensor with sensors from ST. This little breakout contains two chips that sit side-by-side to provide 9 degrees of full-motion data.
The board includes an LSM6DSOX, a 6-DoF IMU accelerometer + gyro. The 3-axis accelerometer can tell you which direction is down toward the Earth (by measuring gravity) or how fast the board is accelerating in 3D space. The 3-axis gyroscope can measure spin and twist. This new sensor from ST has very low gyro zero rate and noise, compared to the MPU6050 or even LSM6DS33 so it's excellent for orientation fusion usage: you'll get less drift and faster responses.
The LSM6DSOX has flexible data rates and ranges. For the accelerometer: ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate. For the gyroscope: ±125/±250/±500/±1000/±2000 dps 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 a programmable finite state machine/machine learning core that can perform some basic gesture recognition.
It also includes a LIS3MDL 3-axis magnetometer that can sense where the strongest magnetic force is coming from, generally used to detect magnetic north. The three triple-axis sensors add up to 9 degrees of freedom, by combining this data you can orient the board. Check out the guide on how to do that!
To make getting started fast and easy, Adafruit placed the sensors on a compact breakout board with voltage regulation and level-shifted inputs. That way you can use them with 3V or 5V power/logic devices without worry. To make usage simple, they expose only the I2C interface and some interrupt pins from each chip. The breakout comes fully assembled and tested, with some extra header so you can use it on a breadboard. Four mounting holes make for a secure connection.
Additionally, since it speaks I2C you can easily connect it up with two wires (plus power and ground!). They'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 like the STM32F405 Feather with a plug-and-play cable to get 9 DoF data ASAP. You can change the I2C addresses on the back using the solder jumpers, to have two of these sensor boards on one bus. QT Cable is not included, but we have a variety in the shop.
Adafruit also wrote libraries to help you get these sensors integrated with your Arduino/C++. This library covers the accel/gyro and this library is for the magnetometer. For advanced Arduino usage, ST has their own fully-featured library that includes extras such as FIFO management and tap detection for the LSM6DSOX and also for the LIS3MDL magnetometer.
TECHNICAL DETAILS
LSM6DSOX Specifications:
Accelerometer ±2/±4/±8/±16 g at 1.6 Hz to 6.7KHz update rate
Gyroscope: ±125/±250/±500/±1000/±2000 dps at 12.5 Hz to 6.7 KHz
Continuous and single-conversion modes
Advanced pedometer, step detector and step counter
Significant Motion Detection, Tilt detection
Standard interrupts: free-fall, wakeup, 6D/4D orientation, click and double-click
Programmable finite state machine: accelerometer, gyroscope and external sensors
Machine Learning Core
I2C Address 0x6A or 0x6B
LIS3MDL Specifications:
±4/±8/±12/±16 gauss selectable magnetic full scales
Continuous and single-conversion modes
16-bit data output
Interrupt generator
I2C Address 0x1C or 0x1E