LSM6DS3 Breakout Hookup Guide
Introduction
The LSM6DS3 is a accelerometer and gyroscope sensor with a giant 8 kbyte buffer and embedded processing interrupt functions, specifically targed at the cellphone market. The sensor is super-flexible and can be configured specifically for an application. We've put together a driver and slew of examples to help you explore the possibilities.
Some of the things the LSM6DS3 can do:
- Read accelerometer data up to 6.7 kilosamples per second, for super accurate movement sensing
- Read gyroscope data up to 1.7 kilosamples per second
- Operates at 1.25mA for up to 1.7 ksps modes
- Read temperature
- Buffer up to 8 kbytes of data between reads (built-in FIFO)
- Count steps (Pedometer)
- Detect shocks, tilt, motion, taps, double-taps
- Host other sensors into its FIFO
- Drive interrupt pins by embedded functions or by FIFO low-capacity/overflow warning.
Covered In This Tutorial
This tutorial gives you all you need to get going with the LSM6DS3. 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 SparkFun LSM6DS3 Arduino library.
The tutorial is split into the following pages:
- LSM6DS3 Overview -- Basic information
- Hardware Overview -- Hardware connections
- Assembly -- Connect to the LSM6DS3 by I2C or SPI
- Installing the Arduino Library -- Includes overview of the examples
- Using the Arduino Library -- explains the user API
- Theory and Example Data -- Advanced driver diagrams and graphs of recorded data
- Resources and Going Further -- Links to the datasheet and application notes, plus inspirational projects
Required Materials
Get the datasheet and application notes now. Open them in a non-browser viewer that can display the index/table of contents in a pane. There is so much information, paned viewing is a must!
This tutorial explains how to use the LSM6DS3 Breakout Board with an Arduino. To follow along, you'll need the following materials:
- LSM6DS3 Breakout Board
- Arduino UNO, RedBoard, or another Arduino-compatible board
- Straight Male Headers -- Or wire. Something to connect between the breakout and a breadboard.
- Breadboard -- Any size (even mini) should do.
- M/M Jumper Wires -- To connect between Arduino and breadboard.
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.
- Accelerometer Basics
- Gyroscopes
- Serial Peripheral Interface (SPI)
- Inter-IC Communication (I2C)
- Logic Levels
- Bi-Directional Level Shifter Hookup Guide