Skip to product information
1 of 4

Axiometa

Accelerometer (LSM6DS3TR)

Accelerometer (LSM6DS3TR)

SKU:AX22-0054

62 in stock

Add precise 6-axis motion sensing to your projects with this compact IMU module. The LSM6DS3 combines a 3-axis accelerometer and 3-axis gyroscope in one package, perfect for motion tracking, gesture recognition, activity monitoring, or stabilization systems. With selectable ranges up to ±16g for acceleration and ±2000 dps for rotation, it handles everything from subtle movements to high-speed motion. Two STEMMA QT connectors make I²C daisy-chaining simple, while dual interrupt pins let you wake on motion, tap detection, or orientation changes. The sensor's built-in FIFO buffer and pedometer functions offload processing from your microcontroller. Drop it into any AX22 backplane and start sensing motion with Arduino IDE, MicroPython, or MicroBlocks.

Regular price $5.49
Regular price Sale price $5.49
Sale Sold out
Taxes included. Shipping calculated at checkout.
View full details
  • - 22 mm × 22 mm square
    - Default I2C Address 0x6B
    - 4× ⌀2.7 mm Mounting Holes
    - LSM6DS3 6-axis IMU
    - 2× STEMMA QT connectors
    - SPI interface option
    - 3.3 V, 5.0 V
    - Arduino IDE Compatible
    - MicroPython Compatible
    - MicroBlocks Compatible

    Material Datasheet 

Technical Resources

Accelerometer (LSM6DS3TR) - (AX22-0054)

PCB FRONT

PCB BACK

🟢 Live 3D Model

🖱️ Click & drag to rotate
#include <Adafruit_LSM6DS3.h>

Adafruit_LSM6DS3 lsm6ds;
Adafruit_Sensor *lsm_temp, *lsm_accel, *lsm_gyro;

void setup(void) {
  Serial.begin(115200);
  while (!Serial)
    delay(10);

  Serial.println("Adafruit LSM6DS3TR test!");

  if (!lsm6ds.begin_I2C(0x6B)) {
    Serial.println("Failed to find LSM6DS chip");
    while (1) {
      delay(10);
    }
  }

  Serial.println("LSM6DS3TR Found!");

  lsm_temp = lsm6ds.getTemperatureSensor();
  lsm_temp->printSensorDetails();

  lsm_accel = lsm6ds.getAccelerometerSensor();
  lsm_accel->printSensorDetails();

  lsm_gyro = lsm6ds.getGyroSensor();
  lsm_gyro->printSensorDetails();
}

void loop() {
  sensors_event_t accel;
  sensors_event_t gyro;
  sensors_event_t temp;

  lsm_temp->getEvent(&temp);
  lsm_accel->getEvent(&accel);
  lsm_gyro->getEvent(&gyro);

  Serial.print("\t\tTemperature ");
  Serial.print(temp.temperature);
  Serial.println(" deg C");

  /* Display the results (acceleration is measured in m/s^2) */
  Serial.print("\t\tAccel X: ");
  Serial.print(accel.acceleration.x);
  Serial.print(" \tY: ");
  Serial.print(accel.acceleration.y);
  Serial.print(" \tZ: ");
  Serial.print(accel.acceleration.z);
  Serial.println(" m/s^2 ");

  /* Display the results (rotation is measured in rad/s) */
  Serial.print("\t\tGyro X: ");
  Serial.print(gyro.gyro.x);
  Serial.print(" \tY: ");
  Serial.print(gyro.gyro.y);
  Serial.print(" \tZ: ");
  Serial.print(gyro.gyro.z);
  Serial.println(" radians/s ");
  Serial.println();

  delay(100);
}