example

Example of the component espp/lsm6dso v1.0.10
# LSM6DSO Example

This example demonstrates how to use the espp LSM6DSO 6-axis IMU driver with the
ESP-IDF. The example is modeled after the ICM42607 example and shows how to
configure the IMU, read accelerometer and gyroscope data, and use orientation
filtering (e.g., Madgwick filter).

![CleanShot 2025-06-18 at 14 16 01](https://github.com/user-attachments/assets/10b15539-688b-4711-b1ce-e7bb33f7e343)

## Features
- I2C communication with the LSM6DSO
- Configurable accelerometer and gyroscope range and output data rate
- Periodic reading of accelerometer, gyroscope, and temperature data
- Orientation filtering using Madgwick filter

## Usage
- Configure the I2C pins and address in `sdkconfig` or via Kconfig options
- Build and flash the example to your ESP32/ESP-IDF target
- The example will print IMU data and orientation to the serial console

### Build and Flash

Build the project and flash it to the board, then run monitor tool to view
serial output:

```
idf.py -p PORT flash monitor
```

(Replace PORT with the name of the serial port to use.)

(To exit the serial monitor, type ``Ctrl-]``.)

See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.

## Example Output

![CleanShot 2025-06-18 at 14 15 13](https://github.com/user-attachments/assets/26b07fa0-4e4a-4025-a5a7-135322da8d3b)
![CleanShot 2025-06-18 at 14 16 01](https://github.com/user-attachments/assets/10b15539-688b-4711-b1ce-e7bb33f7e343)

## Example Code
See `main/lsm6dso_example.cpp` for the full example source code.

## Configuration
- Default I2C address: 0x6A (can be changed in Kconfig or via config struct)
- Example I2C pins: SDA = 21, SCL = 22

## Documentation
See the [documentation](https://esp-cpp.github.io/espp/imu/lsm6dso.html) for
full API details.

To create a project from this example, run:

idf.py create-project-from-example "espp/lsm6dso=1.0.10:example"

or download archive (~5.01 KB)