LSM303C 6DoF Hookup Guide

Contributors: .Brent.
Favorited Favorite 1


The LSM303C is a 6 degrees of freedom (6DOF) inertial measurement unit (IMU) in a sigle package. It houses a 3-axis accelerometer, and a 3-axis magnetometer. The range of each sensor is configurable: the accelerometer's scale can be set to ±2g, ±4g, ±6g, or ±8g, and the magnetometer has full-scale range of ±16 gauss.

SparkFun 6 Degrees of Freedom Breakout - LSM303C


The LSM303C supports I2C and SPI. This tutorial focuses on using this device in I2C mode, but will briefly describe how to use SPI.

Covered In This Tutorial

First we'll introduce you to 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 SparkFun LSM303C 6 DOF IMU Breakout Arduino Library.

The tutorial is split into the following sections:

Required Materials

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

The LSM303C is a 2.5V device! Supplying voltages greater than 4.8V can permanently damage the IC. InvenSense recommends running from 1.9V to 3.6V. As long as your Arduino has a 3.3V supply output, you shouldn't need any extra level shifting. See our logic level tutorial for more info if you aren't using a 3.3V system.

Suggested Reading

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

Pull-up Resistors

A quick introduction to pull-up resistors - whey they're important, and how/when to use them.

Accelerometer Basics

A quick introduction to accelerometers, how they work, and why they're used.


An introduction to I2C, one of the main embedded communications protocols in use today.