Skip to main content

lsm9ds1-rjg

Introduction

This is a device driver that enables a Raspberry Pi to access an LSM9DS1 IMU sensor.

The LSM9DS1 combines a 3D accelerometer, 3D rate gyroscope and a 3D magnetometer. It's useful in robotics and other applications for measuring a robot's attitude and movement. The LSM9DS1 is made by ST Microelectronics. The datasheet is available from their website.

Low cost breakout boards are available from various vendors including Adafruit and Sparkfun.

Driver Features

  • Connects with I2C or SPI
  • Preconfigured for 230 Hz output data rate
  • Converts accelerometer and gyro output to use the same axes as the magnetometer by flipping the direction of the x axis.
  • Detects data ready in software or with an optional GPIO hardware interrupt.
  • Provides raw, unscaled data. i.e. max acceleration is 32768 not 2g.
  • Extensible
  • Optionally enables high priority thread scheduling

Limitations

  • Not a complete implementation of the sensor's API.

Scaling

This driver returns raw unscaled data. This is a deliberate choice to make it easier to scale the data with your application.

Data Ready

If you don't check for data ready and just read data then you will miss some samples. Worse than that, in some cases you'll read part of one sample and part of the next. This provides plausible looking but incorrect data. You must wait for data ready before reading the sensor values. See the examples.

Examples

Known Issues

This library depends on smbus2 which introduced a breaking change in version 0.4.0. Please upgrade smbus2 or install v0.9.2 of this library.

Release files for lsm9ds1-rjg 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lsm9ds1-rjg 1.0.0
File Size Uploaded
lsm9ds1_rjg-1.0.0.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lsm9ds1-rjg 1.0.0
File Interpreter ABI Platform
lsm9ds1_rjg-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 25.2 kB

Release files / lsm9ds1_rjg-1.0.0.tar.gz

Download URL lsm9ds1_rjg-1.0.0.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
deff3acc6847e4bb8dbbcf885eef5dd70ed56e535704debf0e258d9f0cd5e7cc
BLAKE2b-256 checksum
How to use checksums
ce72474856b9518f77dd42d8d37cc9dfceb468b28a34f00c01315671567bba88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.2

Release files / lsm9ds1_rjg-1.0.0-py3-none-any.whl

Download URL lsm9ds1_rjg-1.0.0-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dd84b524d94f075fc5ad4430eade40f4484c3747ac984c6fa24b0439a89bdea
BLAKE2b-256 checksum
How to use checksums
7042e05434ec9a8f32cd9f437f6a77021f607532871b703e8caace3f4d3db986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.9.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page