Adafruit
LSM6DS3TR-C 6-DoF Accelerometer + Gyro IMU Breakout
· MPN: ADA4503
Add motion and orientation sensing to your project with this compact 6 Degree of Freedom IMU breakout built around the ST LSM6DS3TR-C. It combines a 3-axis a...
Get notified when back in stock
Add motion and orientation sensing to your project with this compact 6 Degree of Freedom IMU breakout built around the ST LSM6DS3TR-C. It combines a 3-axis accelerometer for measuring gravity and acceleration with a 3-axis gyroscope for measuring spin and twist.
The breakout includes voltage regulation and level-shifted inputs, so it can be used with 3V or 5V power and logic. It supports both I2C and SPI, comes fully assembled and tested, includes extra header for breadboard use, and has four mounting holes for secure installation.
For quick I2C wiring, the board includes SparkFun qwiic-compatible STEMMA QT connectors, so you can connect with a plug-and-play cable instead of soldering. The I2C address can be changed using the solder jumper on the back, allowing two of these sensor boards on the same bus.
Adafruit provides Arduino/C++ and Python/CircuitPython library support for getting accel/gyro data into your project. This chip is similar to the discontinued LSM6DS33, but it is not firmware-compatible with the LSM6DS33, so code must be recompiled and configured for the exact chip.
Specifications:
- Accelerometer full scale: ±2/±4/±8/±16 g full scale
- Gyroscope full scale: ±125/±250/±500/±1000/±2000 dps full scale
- Hardware interface: I2C or SPI hardware interface
- ODR: Up to 1.6 KHz ODR
- Tap detection: Tap and double-tap detection
- Free-fall detection: Free-fall detection
- Pedometer / shake detection: Pedometer / shake detection
- I2C address: 0x6A or 0x6B
- Product dimensions: 25.3mm x 17.8mm x 4.6mm / 1.0" x 0.7" x 0.2"
- Product weight: 1.7g / 0.1oz
This breakout does not include a magnetometer, which is often required for accurate orientation; it can be paired with a compatible 3-axis magnetometer for full orientation projects.
Jargon buster
Plain-language definitions for the technical terms used above.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- Gravity
- Gravity is DFRobot’s plug-in connector system for sensors, motors and modules, using standard cables to reduce loose jumper wiring. It matters because Gravity-compatible parts can connect directly to these ports, while non-Gravity parts may need adapters or manual wiring.
- Gyroscope
- A gyroscope measures rotation, such as how fast a board is turning around its X, Y, and Z axes. This matters for projects like gesture controls, balancing robots, and motion tracking where tilt or rotation changes need to be detected.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- I2C address
- An I2C address is the number a device uses so a microcontroller can tell it apart from other devices on the same I2C bus. It matters because two devices with the same fixed address may conflict if used together.
- IMU
- An IMU (Inertial Measurement Unit) combines motion sensors, typically an accelerometer and gyroscope and sometimes a magnetometer, to measure movement and orientation. It can sense motion, tilt, vibration, rotation, and changes in direction, which is useful for tasks such as navigation, stabilisation, gesture detection, and asset tracking.
- magnetometer
- A sensor that measures magnetic fields, often used to work out compass direction. It matters because nearby magnets, motors, or metal objects can affect readings and may require calibration.
- ODR
- ODR means output data rate: how often the sensor produces a new measurement. A higher ODR can capture faster motion or vibration, but it usually uses more power and creates more data for the microcontroller to handle.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- solder jumper
- A solder jumper is a small pair or group of pads on a circuit board that can be bridged or cut with solder to change a hardware setting. It matters because changing modes may require careful soldering rather than just changing software.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- STEMMA QT
- A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
Find this product in
Sensors & Input
LSM6DS3TR-C Datasheet
Datasheet · 1.5 MB · Click any page to view full size
Supplier page — adafruit.com
Supplier Description · 1.0 MB · Click any page to view full size
Source Code
Open-source libraries, firmware & example projects for this product
Arduino library to support the LSM6DS3 3D accelerometer and 3D gyroscope
30e5385
over 5 years ago
· 19 commits
- examples Add begin and end APIs and SPI support over 5 years ago
- src Add begin and end APIs and SPI support over 5 years ago
- keywords.txt Add begin and end APIs and SPI support over 5 years ago
- library.properties Add begin and end APIs and SPI support over 5 years ago
- README.md Add begin and end APIs and SPI support over 5 years ago
EAGLE silkscreen label generator
38fb028
over 3 years ago
· 37 commits
- fonts Output embedded in .brd as lib, vital to handling anchor points! almost 4 years ago
- symbols more bmps (tested) over 3 years ago
- .gitignore Heck yeah, anchor starting to work almost 4 years ago
- AHT20.brd Add rectangle-to-bitmap substitution (logos, etc.) over 3 years ago
- LICENSE Initial commit almost 4 years ago
- pinguin.py Merge branch 'main' of github.com:adafruit/Adafruit_Pinguin over 3 years ago
- README.md Add rectangle notes in README over 3 years ago
CircuitPython helper library for the LSM6DS family of motion sensors from ST
cdfc14a
2 months ago
· 191 commits
- .github Add upload url to release action over 3 years ago
- adafruit_lsm6ds "Update ruff pre-commit hook 2 months ago
- docs remove deprecated ruff rule, workaround RTD theme property inline issue. 8 months ago
- examples "Update ruff pre-commit hook 2 months ago
- LICENSES adding the lsm6dso32 almost 6 years ago
- .gitattributes change to ruff about 1 year ago
- .gitignore Add .venv to .gitignore over 3 years ago
- .pre-commit-config.yaml "Update ruff pre-commit hook 2 months ago
- .readthedocs.yaml update rtd.yml file about 1 year ago
- CODE_OF_CONDUCT.md adding the lsm6dso32 almost 6 years ago
- LICENSE initial commit over 6 years ago
- optional_requirements.txt Switched to pyproject.toml almost 4 years ago
- pyproject.toml Update license specification 3 months ago
- README.rst change to ruff about 1 year ago
- README.rst.license added the lsm6dso32 almost 6 years ago
Arduino library for LSM6DS
379a520
over 1 year ago
· 151 commits
- .github Update CI action versions about 3 years ago
- assets updating readme over 6 years ago
- examples shake genericize about 4 years ago
- .gitignore cleaning up almost 6 years ago
- Adafruit_ISM330DHCX.cpp set BDU about 2 years ago
- Adafruit_ISM330DHCX.h correcting "DHCT" typo about 6 years ago
- Adafruit_LSM6DS.cpp switched to position of sensorID and frequency in begin() about 4 years ago
- Adafruit_LSM6DS.h update docs over 1 year ago
- Adafruit_LSM6DS3.cpp fix temperature sensitivity almost 5 years ago
- Adafruit_LSM6DS3.h clangy over 6 years ago
- Adafruit_LSM6DS33.cpp fix temperature sensitivity almost 5 years ago
- Adafruit_LSM6DS33.h calng over 6 years ago
- Adafruit_LSM6DS3TRC.cpp set BDU about 2 years ago
- Adafruit_LSM6DS3TRC.h fix pedometer for 3TR-C about 4 years ago
- Adafruit_LSM6DSL.cpp use base class common _init() to reduce code duplication about 5 years ago