LSM9DS0 Hookup Guide

Contributors: jimblom
Favorited Favorite 6


The LSM9DS0 is a versatile, motion-sensing system-in-a-chip. It houses a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer -- nine degrees of freedom (9DOF) in a single IC! Each sensor in the LSM9DS0 supports a wide range of...ranges: the accelerometer's scale can be set to ± 2, 4, 6, 8, or 16 g, the gyroscope supports ± 245, 500, and 2000 °/s, and the magnetometer has full-scale ranges of ± 2, 4, 8, or 12 gauss. The IMU-in-a-chip is so cool we put it on a breakout board.

SparkFun 9 Degrees of Freedom IMU Breakout - LSM9DS0

4 Retired

The LSM9DS0 is equipped with a digital interface, but even that is flexible: it supports both I2C and SPI, so you'll be hard-pressed to find a microcontroller it doesn't work with.

Covered In This Tutorial

This tutorial is devoted to all things LSM9DS0. We'll introduce you to the chip itself, then the breakout board. Then we'll switch over to example code, and show you how to interface with the board using an Arduino and our SFE_LSM9DS0 Arduino library.

The tutorial is split into the following pages:

  • About the LSM9DS0 -- An overview of the LSM9DS0, examining its features and capabilities.
  • Breakout Overview -- This page covers the LSM9DS0 Breakout Board -- topics like the pinout, jumpers, and schematic.
  • Hardware Assembly -- Assembly tips and tricks, plus some information about the breakout's dimensions.
  • Basic Arduino Example -- How to install the Arduino library, and use a simple example sketch.
  • Advanced Arduino Example -- A more advanced Arduino sketch -- using the library -- showing off features like switch the sensors' scales and data rates.
  • Using the Arduino Library -- An overview of the SFE_LSM9DS0 Arduino library.

Required Materials

This tutorial explains how to use the LSM9DS0 Breakout Board with an Arduino. To follow along, you'll need the following materials:

alt text

A logic level shifter is required for any 5V-operating Arduino (UNO, RedBoard, Leonardo, etc). If you use a 3.3V-based 'duino -- like the Arduino Pro 3.3V or 3.3V Pro Mini -- there is no need for level shifting.

Suggested Reading

If you're not familiar with some of the concepts below, we recommend checking out that tutorial before continuing on.