Using the ICM456868 sensor with the ESP32S3 microcontroller #35

Open
opened 2026-04-05 17:51:40 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @brightproject on 11/8/2025

For some reason, I couldn't find support for the ICM45686 sensor in this repository, but I did find it in another repository:

https://github.com/SlimeVR/SlimeVR-Tracker-nRF/blob/main/src/sensor/imu/ICM45686.c

Is this because the ICM45686 sensor doesn't work with the ESP32S3 over the I2C bus, or is there some other issue?

Could this be related to this issue?

https://github.com/SlimeVR/SlimeVR-Tracker-nRF/issues/121

I couldn't connect to the ICM45686 sensor via the I2C bus. I was only able to connect via the SPI library:

https://github.com/tdk-invn-oss/motion.arduino.ICM45686/issues/5

I use this board:

Image

Please tell me how to connect to the magnetometer sensor, which is connected via I2C to the ICM45686 sensor MAS_DA and MAS_CLK contacts.

This library contains the following code:

712b3c311c/src/sensor/imu/ICM45686.c (L430)

But as far as I understood from the document:

https://invensense.tdk.com/wp-content/uploads/2024/07/AN-000478_ICM-45605-ICM-45686-User-Guide.pdf

Image

This mode is only possible when the sensor is connected via I2C and transmits data from a magnetometer, also connected via I2C.

My ICM45686 sensor is connected via SPI, and I still can't find a way or code to extract data from the magnetometer🙂

*Originally created by @brightproject on 11/8/2025* For some reason, I couldn't find support for the `ICM45686` sensor in this repository, but I did find it in another repository: > https://github.com/SlimeVR/SlimeVR-Tracker-nRF/blob/main/src/sensor/imu/ICM45686.c Is this because the `ICM45686` sensor doesn't work with the `ESP32S3` over the `I2C` bus, or is there some other issue? Could this be related to this issue? > https://github.com/SlimeVR/SlimeVR-Tracker-nRF/issues/121 I couldn't connect to the ICM45686 sensor via the I2C bus. I was only able to connect via the SPI library: > https://github.com/tdk-invn-oss/motion.arduino.ICM45686/issues/5 I use this board: ![Image](https://github.com/user-attachments/assets/292dd068-c8fb-41c2-b576-0ba65770691d) Please tell me how to connect to the magnetometer sensor, which is connected via `I2C` to the `ICM45686` sensor `MAS_DA` and `MAS_CLK` contacts. This library contains the following code: > https://github.com/SlimeVR/SlimeVR-Tracker-nRF/blob/712b3c311c0d20812a3f3847ae7bd99446e4f86c/src/sensor/imu/ICM45686.c#L430 But as far as I understood from the document: > https://invensense.tdk.com/wp-content/uploads/2024/07/AN-000478_ICM-45605-ICM-45686-User-Guide.pdf <img width="1075" height="722" alt="Image" src="https://github.com/user-attachments/assets/2f01a2d8-b183-4392-a945-d58060b7bd43" /> This mode is only possible when the sensor is connected via `I2C` and transmits data from a magnetometer, also connected via `I2C`. My `ICM45686` sensor is connected via `SPI`, and I still can't find a way or code to extract data from the magnetometer🙂
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Tracker-ESP#35