Skip to content

Commit

Permalink
icm42670: Add 6-axis MotionTracking
Browse files Browse the repository at this point in the history
  • Loading branch information
espzav committed Sep 26, 2023
1 parent 41742bb commit 6f1e5c6
Show file tree
Hide file tree
Showing 8 changed files with 932 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/upload_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
with:
directories: >
esp32_azure_iot_kit;esp32_s2_kaluga_kit;esp_wrover_kit;esp-box;esp32_s3_usb_otg;esp32_s3_eye;esp32_s3_lcd_ev_board;esp32_s3_korvo_2;esp-box-lite;esp32_lyrat;esp32_c3_lcdkit;esp-box-3;
components/bh1750;components/ds18b20;components/es8311;components/es7210;components/fbm320;components/hts221;components/mag3110;components/mpu6050;components/ssd1306;components/esp_lvgl_port;
components/bh1750;components/ds18b20;components/es8311;components/es7210;components/fbm320;components/hts221;components/mag3110;components/mpu6050;components/ssd1306;components/esp_lvgl_port;components/icm42670;
components/lcd_touch/esp_lcd_touch;components/lcd_touch/esp_lcd_touch_ft5x06;components/lcd_touch/esp_lcd_touch_gt911;components/lcd_touch/esp_lcd_touch_tt21100;components/lcd_touch/esp_lcd_touch_gt1151;components/lcd_touch/esp_lcd_touch_cst816s;
components/lcd/esp_lcd_gc9a01;components/lcd/esp_lcd_ili9341;components/lcd/esp_lcd_ra8875;components/lcd_touch/esp_lcd_touch_stmpe610;components/lcd/esp_lcd_sh1107;components/lcd/esp_lcd_st7796;components/lcd/esp_lcd_gc9503;components/lcd/esp_lcd_ssd1681;
components/io_expander/esp_io_expander;components/io_expander/esp_io_expander_tca9554;components/io_expander/esp_io_expander_tca95xx_16bit;components/io_expander/esp_io_expander_ht8574;
Expand Down
1 change: 1 addition & 0 deletions components/icm42670/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
idf_component_register(SRCS "icm42670.c" INCLUDE_DIRS "include" REQUIRES "driver")
32 changes: 32 additions & 0 deletions components/icm42670/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# ICM42607/ICM42670 6-Axis MotionTracking (Accelerometer and Gyroscope)

[![Component Registry](https://components.espressif.com/components/espressif/icm42670/badge.svg)](https://components.espressif.com/components/espressif/icm42670)

C driver for Invensense ICM42607/ICM42670 6-axis gyroscope and accelerometer based on I2C communication.

## Features

- Get 3-axis accelerometer and 3-axis gyroscope data, either raw or as floating point values.
- Read temperature from ICM42607/ICM42670 internal temperature sensor.
- Configure gyroscope and accelerometer sensitivity.
- ICM42607/ICM42670 power down mode.

## Limitations

- Only I2C communication is supported.
- Driver has not been tested with ICM42670 yet.

## Get Started

This driver, along with many other components from this repository, can be used as a package from [Espressif's IDF Component Registry](https://components.espressif.com). To include this driver in your project, run the following idf.py from the project's root directory:

```
idf.py add-dependency "espressif/icm42670==1.0.0"
```

Another option is to manually create a `idf_component.yml` file. You can find more about using .yml files for components from [Espressif's documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html).

## See Also
* [MPU6050 datasheet](https://invensense.tdk.com/products/motion-tracking/6-axis/icm-42670-p/)


Loading

0 comments on commit 6f1e5c6

Please sign in to comment.