Adafruit LSM6DSOX & LIS3MDL 9 DoF IMU Breakout Board

Adafruit LSM6DSOX and LIS3MDL 9 DoF IMU Breakout Board add high-quality motion, direction, and orientation sensing to an Arduino project. This breakout board 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, and a gyroscope. The 3-axis accelerometer can tell the user which direction is down towards the Earth or how fast the board accelerates in 3D space. The 3-axis gyroscope can measure spin and twist. This sensor from ST has very low gyro zero rates and noise compared to the MPU6050 or even LSM6DS33, so it’s excellent for orientation fusion usage. The user will get less drift and faster responses.

The LSM6DSOX has flexible data rates and ranges. For the accelerometer: ±2/±4/±8/±16g at 1.6Hz to 6.7KHz update rate. For the gyroscope: ±125/±250/±500/±1000/±2000dps at 12.5Hz to 6.7KHz. The device also includes 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. The breakout board also includes a LIS3MDL 3-axis magnetometer that can sense where the strongest magnetic force comes from, generally used to detect magnetic north. The three triple-axis sensors add up to 9 degrees of freedom, and by combining these data, the user can orient the board.

These sensors are placed on a compact breakout board with voltage regulation and level-shifted inputs. Users can use them with 3V or 5V power/logic devices. Only the I2C interface is exposed, and some interrupt pins from each chip. The breakout comes fully assembled and tested, with extra headers so the user can use it on a breadboard. Four mounting holes make for a secure connection. Since it has I2C, the user can easily connect it with two data wires plus power and ground. The SparkFun qwiic compatible STEMMA QT connectors have been included for the I2C bus, so solder is unnecessary. The user can wire up to a favorite microcontroller like the STM32F405 Feather using a STEMMA QT adapter cable to get 6-DoF data immediately.

The user can change the I2C addresses on the back using the solder jumpers to have two sensor boards on one bus. Some drivers and examples have been created for the user. Adafruit wrote libraries to help the user integrate these sensors into Arduino/C++. This library covers the accel/gyro and the magnetometer. ST has a fully-featured library for advanced Arduino usage, including extras such as FIFO management and tap detection for the LSM6DSOX and the LIS3MDL magnetometer.

Specifications

  • LSM6DSOX specifications
    • Accelerometer ±2/±4/±8/±16g at 1.6Hz to 6.7KHz update rate
    • Gyroscope ±125/±250/±500/±1000/±2000dps at 12.5Hz to 6.7KHz
    • 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

Adafruit LSM6DSOX & LIS3MDL 9 DoF IMU Breakout Board