LSM6DSOX Simple test

Ensure your LSM6DSOX device works with this simple test.

examples/lsm6ds_lsm6dsox_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import time
 5import board
 6from adafruit_lsm6ds.lsm6dsox import LSM6DSOX
 7
 8i2c = board.I2C()  # uses board.SCL and board.SDA
 9# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
10sensor = LSM6DSOX(i2c)
11
12while True:
13    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
14    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
15    print("")
16    time.sleep(0.5)

LSM6DSO32 Simple test

Ensure your LSM6DSO32 device works with this simple test.

examples/lsm6ds_lsm6dso32_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import time
 5import board
 6from adafruit_lsm6ds.lsm6dso32 import LSM6DSO32
 7
 8i2c = board.I2C()  # uses board.SCL and board.SDA
 9# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
10sensor = LSM6DSO32(i2c)
11
12while True:
13    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
14    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
15    print("")
16    time.sleep(0.5)

LSM6DS Simple test

Ensure your LSM6DS device works with this simple test.

examples/lsm6ds_lsm6ds33_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import time
 5import board
 6from adafruit_lsm6ds.lsm6ds33 import LSM6DS33
 7
 8i2c = board.I2C()  # uses board.SCL and board.SDA
 9# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
10sensor = LSM6DS33(i2c)
11
12while True:
13    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
14    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
15    print("")
16    time.sleep(0.5)

ISM330DHCX Simple test

Ensure your ISM330DHCX device works with this simple test.

examples/lsm6ds_ism330dhcx_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import time
 5import board
 6from adafruit_lsm6ds.ism330dhcx import ISM330DHCX
 7
 8i2c = board.I2C()  # uses board.SCL and board.SDA
 9# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
10sensor = ISM330DHCX(i2c)
11
12while True:
13    print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (sensor.acceleration))
14    print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s" % (sensor.gyro))
15    print("")
16    time.sleep(0.5)

LSM6DS Full test

LSM6DS Full tests

examples/lsm6ds_full_test.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import time
 5import board
 6
 7# pylint:disable=no-member
 8from adafruit_lsm6ds import Rate, AccelRange, GyroRange
 9
10from adafruit_lsm6ds.lsm6dsox import LSM6DSOX as LSM6DS
11
12# from adafruit_lsm6ds.lsm6ds33 import LSM6DS33 as LSM6DS
13# from adafruit_lsm6ds.lsm6dso32 import LSM6DSO32 as LSM6DS
14# from adafruit_lsm6ds.ism330dhcx import ISM330DHCX as LSM6DS
15
16i2c = board.I2C()  # uses board.SCL and board.SDA
17# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
18sensor = LSM6DS(i2c)
19
20sensor.accelerometer_range = AccelRange.RANGE_8G
21print(
22    "Accelerometer range set to: %d G" % AccelRange.string[sensor.accelerometer_range]
23)
24
25sensor.gyro_range = GyroRange.RANGE_2000_DPS
26print("Gyro range set to: %d DPS" % GyroRange.string[sensor.gyro_range])
27
28sensor.accelerometer_data_rate = Rate.RATE_1_66K_HZ
29# sensor.accelerometer_data_rate = Rate.RATE_12_5_HZ
30print("Accelerometer rate set to: %d HZ" % Rate.string[sensor.accelerometer_data_rate])
31
32sensor.gyro_data_rate = Rate.RATE_1_66K_HZ
33print("Gyro rate set to: %d HZ" % Rate.string[sensor.gyro_data_rate])
34
35while True:
36    print(
37        "Accel X:%.2f Y:%.2f Z:%.2f ms^2 Gyro X:%.2f Y:%.2f Z:%.2f radians/s"
38        % (sensor.acceleration + sensor.gyro)
39    )
40    time.sleep(0.05)

Pedometer Example

Example showing how to use the device as a pedometer

examples/lsm6ds_pedometer.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4""" This example shows off how to use the step counter built
 5into the ST LSM6DS series IMUs. The steps are calculated in
 6the chip so you don't have to do any calculations!"""
 7
 8import time
 9import board
10
11# pylint:disable=no-member
12from adafruit_lsm6ds.lsm6ds33 import LSM6DS33
13from adafruit_lsm6ds import Rate, AccelRange
14
15i2c = board.I2C()  # uses board.SCL and board.SDA
16# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
17sensor = LSM6DS33(i2c)
18
19# enable accelerometer sensor @ 2G and 26 Hz
20sensor.accelerometer_range = AccelRange.RANGE_2G
21sensor.accelerometer_data_rate = Rate.RATE_26_HZ
22# no gyro used for step detection
23sensor.gyro_data_rate = Rate.RATE_SHUTDOWN
24
25# enable the pedometer
26sensor.pedometer_enable = True
27
28while True:
29    print("Steps: ", sensor.pedometer_steps)
30    time.sleep(1)

Rate test

Example showing a Rate test

examples/lsm6ds_rate_test.py
 1# SPDX-FileCopyrightText: Copyright (c) 2020 Bryan Siepert for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4import board
 5
 6# pylint:disable=no-member,unused-import
 7from adafruit_lsm6ds import Rate
 8from adafruit_lsm6ds.lsm6dsox import LSM6DSOX as LSM6DS
 9
10# from adafruit_lsm6ds.lsm6ds33 import LSM6DS33 as LSM6DS
11# from adafruit_lsm6ds.lsm6dso32 import LSM6DSO32 as LSM6DS
12# from adafruit_lsm6ds.ism330dhcx import ISM330DHCX as LSM6DS
13
14i2c = board.I2C()  # uses board.SCL and board.SDA
15# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
16sensor = LSM6DS(i2c)
17
18while True:
19    sensor.accelerometer_data_rate = Rate.RATE_12_5_HZ
20    sensor.gyro_data_rate = Rate.RATE_12_5_HZ
21    for i in range(100):
22        print(
23            "(%.2f, %.2f, %.2f, %.2f, %.2f, %.2f" % (sensor.acceleration + sensor.gyro)
24        )
25    print()
26
27    sensor.accelerometer_data_rate = Rate.RATE_52_HZ
28    sensor.gyro_data_rate = Rate.RATE_52_HZ
29    for i in range(100):
30        print(
31            "(%.2f, %.2f, %.2f, %.2f, %.2f, %.2f" % (sensor.acceleration + sensor.gyro)
32        )
33    print()
34
35    sensor.accelerometer_data_rate = Rate.RATE_416_HZ
36    sensor.gyro_data_rate = Rate.RATE_416_HZ
37    for i in range(100):
38        print(
39            "(%.2f, %.2f, %.2f, %.2f, %.2f, %.2f" % (sensor.acceleration + sensor.gyro)
40        )
41    print()