> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sensors

The Dragonwing IQ-9075 EVK includes an on-board IMU and a temperature sensor, both connected to the real-time subsystem (RTSS) domain.

<Warning>
  Software support for the IMU and temperature sensors is not currently available.
</Warning>

| Reference Designator | Sensor Type        | Protocol            | MPN            | Manufacturer      |
| -------------------- | ------------------ | ------------------- | -------------- | ----------------- |
| U97                  | IMU sensor         | I2C                 | ICM-42688      | TDK InvenSense    |
| U109                 | Temperature sensor | I2C (optional: SPI) | TMP411DQDGKRQ1 | Texas Instruments |

## Hardware Interfaces

**IMU (ICM-42688)**

* I²C bus on SAIL domain for register access (no software support currently)
* Interrupt GPIO for data-ready signaling

**Temperature Sensor (TMP411)**

* I²C bus on main domain (shared with fan controller)
* Optional SPI interface for faster data reads

<img src="https://mintcdn.com/qualcomm-prod/jy6NQT2Y7J_sAxdX/Linux/images/peripheral-interfaces/sensor-connections.png?fit=max&auto=format&n=jy6NQT2Y7J_sAxdX&q=85&s=963507d4de4ff19ca0b0968f74c9f652" width="680" height="426" data-path="Linux/images/peripheral-interfaces/sensor-connections.png" />

<Note>
  Additional I2C, SPI, and UART interfaces are available on the LS1 low-speed header for connecting external sensors.
</Note>

## Usage

**IMU Sensor (ICM-42688)** — Provides 6-axis motion data (accelerometer + gyroscope) for robotics, navigation, and sensor fusion. Ideal for real-time applications requiring low-latency motion feedback.

**Temperature Sensor (TMP411)** — Monitors board and ambient temperature for thermal management. Used by fan control logic for dynamic cooling.

## Troubleshooting

| Issue                            | Possible Cause                      | Solution                                                                                    |
| -------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------- |
| IMU not detected on I²C          | Incorrect device tree or bus number | Verify `i2cdetect` output; check DTS configuration; confirm power rails                     |
| IMU interrupt not firing         | GPIO misconfiguration               | Check DTS interrupt mapping; verify GPIO polarity; test with `cat /proc/interrupts`         |
| Temperature sensor not reporting | Driver not loaded or bus conflict   | Load `tmp411` driver (`modprobe tmp411`); check fan controller sharing; confirm I²C address |
| Sensor read errors               | Clock or power instability          | Validate PMIC settings; check RTSS domain clocks; inspect `dmesg`                           |
