LIS3DH Hookup Guide

Contributors: MTaylor
Favorited Favorite 1


SparkFun Triple Axis Accelerometer Breakout - LIS3DH

SparkFun Triple Axis Accelerometer Breakout - LIS3DH


The LIS3DH is a triple axis accelerometer you can use to add translation detection to your project. The "3D" in LIS3DH refers to the fact that it is a 3DoF, or 3 Degrees of Freedom. Additionally, it has a few analog inputs to play with, and it has some built in movement detection features to detect things like free-fall, and to indicate if the FIFO buffers are full.

If you're looking for something small and inexpensive, and are only measuring acceleration, this is the product for you. Other inertial measurement units (or IMUs), such as the LSM9DS1; the LSM6DS3; or the LSM303C, can provide additional space location data such as gyroscopic or magnetometric.

This guide presents the basics of plugging the board into a RedBoard, shows how to use the Arduino library to get acceleration data live or by FIFO collection, and describes the library usage.

Required Materials

To follow along, you'll need the following materials:

The LIS3DH is a 3.3V device! Supplying voltages greater than ~3.6V can permanently damage the IC. As long as your Arduino has a 3.3V supply output, and you're OK with using I2C; you shouldn't need any extra level shifting. But, if you want to use SPI, you may need a level shifter.

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.

Also, the following ST documents are helpful for advanced users: