✨ Free Pico H with every Pico Pack and Base! Click here for a list of qualifying add-ons
✨ Free Pico H with every Pico Pack and Base! Click here for a list of qualifying add-ons

Adafruit LSM6DS3TR-C + LIS3MDL - Precision 9 DoF IMU - STEMMA QT / Qwiic

by Adafruit

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 ST LSM6DS3TR-C (a.k.a LSM6DS3), a great entry-level 6-DoF IMU accelerometer + gyro. The 3-axis accelerometer can tell you which direction is down towards 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 chip is very similar to the now-discontinued LSM6DS33, a great entry-level IMU. As part of the illustrious LSM6DS family, it's well-established and well-supported, and this chip even has better performance! Note it is not firmware-compatible with the 'DS33, so you will need to recompile code (e.g Adafruit's Arduino and Python libraries support the whole family but you do have to indicate which exact chip you're using)

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!). Adafruit have 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 LSM6DS3TR-C and also for the LIS3MDL magnetometer.

Technical Details

LSM6DS3TR-C Specifications:

  • ±2/±4/±8/±16 g full scale
  • ±125/±250/±500/±1000/±2000 dps full scale
  • I2C or SPI hardware interface
  • Up to 1.6 KHz ODR
  • Tap and double-tap detection
  • Free-fall detection
  • Pedometer / shake detection
  • 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