{
  "metadata": {
    "id": "lsm6ds3tr-c",
    "name": "LSM6DS3TR-C",
    "type": "sensor",
    "description": "6-axis IMU with 3D accelerometer + 3D gyroscope, I2C/SPI digital interface, embedded FIFO, and always-on low-power features.",
    "manufacturer": "STMicroelectronics",
    "part_number": "LSM6DS3TR-C",
    "datasheet_url": "https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf",
    "tags": [
      "accelerometer",
      "gyroscope",
      "imu",
      "i2c",
      "spi",
      "fifo",
      "6-axis",
      "interrupts",
      "temperature-sensor"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "sensor.motion"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vdd",
          "name": "VDD core/sense",
          "nominal_voltage_V": 1.8,
          "voltage_range_V": [
            1.71,
            3.6
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Main analog/digital supply."
        },
        {
          "id": "vddio",
          "name": "VDDIO I/O supply",
          "nominal_voltage_V": 1.8,
          "voltage_range_V": [
            1.62,
            3.6
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Digital I/O supply. Must not exceed VDD by more than 0.1 V."
        }
      ],
      "resources": [
        {
          "id": "pin13_scl_spc",
          "name": "SCL/SPC",
          "description": "I2C clock / SPI clock",
          "functions": [
            {
              "name": "I2C_SCL",
              "direction": "sink",
              "signal_class": "clock"
            },
            {
              "name": "SPI_SCLK",
              "direction": "sink",
              "signal_class": "clock"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad",
          "notes": "I2C fast-mode 400 kHz; SPI up to 10 MHz."
        },
        {
          "id": "pin14_sda_sdi_sdo",
          "name": "SDA/SDI/SDO",
          "description": "I2C data / SPI MOSI / 3-wire SDO",
          "functions": [
            {
              "name": "I2C_SDA",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "name": "SPI_MOSI",
              "direction": "sink",
              "signal_class": "data"
            },
            {
              "name": "SPI_SDO_3WIRE",
              "direction": "source",
              "signal_class": "data"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad",
          "notes": "External pull-ups required for I2C."
        },
        {
          "id": "pin12_cs",
          "name": "CS",
          "description": "SPI chip-select, I2C/SPI mode select",
          "functions": [
            {
              "name": "SPI_CS_N",
              "direction": "sink",
              "signal_class": "chip_select"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad",
          "notes": "Tie high to VDDIO for I2C mode."
        },
        {
          "id": "pin1_sdo_sa0",
          "name": "SDO/SA0",
          "description": "SPI MISO / I2C address LSB",
          "functions": [
            {
              "name": "SPI_MISO",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "name": "I2C_SA0",
              "direction": "config",
              "signal_class": "static_config"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad",
          "notes": "SA0=0 → 0x6A; SA0=1 → 0x6B (7-bit)."
        },
        {
          "id": "pin4_int1",
          "name": "INT1",
          "description": "Programmable interrupt 1",
          "functions": [
            {
              "name": "INT1",
              "direction": "source",
              "signal_class": "interrupt"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad",
          "notes": "Push-pull or open-drain selectable."
        },
        {
          "id": "pin9_int2",
          "name": "INT2/DEN/MDRDY",
          "description": "Programmable interrupt 2 / Data enable / I2C master DRDY",
          "functions": [
            {
              "name": "INT2",
              "direction": "source",
              "signal_class": "interrupt"
            },
            {
              "name": "DEN",
              "direction": "sink",
              "signal_class": "control"
            },
            {
              "name": "I2C_MDRDY",
              "direction": "bidirectional",
              "signal_class": "sync"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin5_vddio",
          "name": "VDDIO",
          "description": "I/O supply",
          "functions": [
            {
              "name": "VDDIO_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin8_vdd",
          "name": "VDD",
          "description": "Core/sensor supply",
          "functions": [
            {
              "name": "VDD_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "vdd",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin6_gnd",
          "name": "GND",
          "description": "Ground",
          "functions": [
            {
              "name": "GND",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "vdd",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin7_gnd",
          "name": "GND",
          "description": "Ground",
          "functions": [
            {
              "name": "GND",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "vdd",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin2_sdx",
          "name": "SDx",
          "description": "I2C master data (Mode 2) or tie to VDDIO/GND",
          "functions": [
            {
              "name": "I2C_MSDA",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin3_scx",
          "name": "SCx",
          "description": "I2C master clock (Mode 2) or tie to VDDIO/GND",
          "functions": [
            {
              "name": "I2C_MSCL",
              "direction": "sink",
              "signal_class": "clock"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin10_nc",
          "name": "NC",
          "description": "No connect",
          "functions": [
            {
              "name": "NC",
              "direction": "none",
              "signal_class": "nc"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin11_nc",
          "name": "NC",
          "description": "No connect",
          "functions": [
            {
              "name": "NC",
              "direction": "none",
              "signal_class": "nc"
            }
          ],
          "power_domain_id": "vddio",
          "connector_type": "surface_pad"
        }
      ],
      "interfaces": [
        {
          "id": "i2c_slave",
          "name": "I2C slave",
          "protocol": {
            "type": "i2c",
            "role": "slave"
          },
          "requires": [
            {
              "function": "I2C_SCL",
              "count": 1
            },
            {
              "function": "I2C_SDA",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "max_lane_rate_mbps": 0.4,
            "requires_matching_voltage_domain": true,
            "addressing": {
              "type": "7bit",
              "addresses": [
                "0x6A",
                "0x6B"
              ]
            }
          },
          "description": "Standard/Fast-mode I2C up to 400 kHz. Address set by SA0 (pin 1)."
        },
        {
          "id": "spi_slave",
          "name": "SPI slave",
          "protocol": {
            "type": "spi",
            "role": "slave",
            "mode_support": [
              "3-wire",
              "4-wire"
            ]
          },
          "requires": [
            {
              "function": "SPI_CS_N",
              "count": 1
            },
            {
              "function": "SPI_SCLK",
              "count": 1
            },
            {
              "function": "SPI_MOSI",
              "count": 1
            },
            {
              "function": "SPI_MISO",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "max_lane_rate_mbps": 10
          },
          "description": "SPI up to 10 MHz, modes per datasheet; 3-wire enabled by SIM bit."
        },
        {
          "id": "int1_if",
          "name": "INT1 output",
          "protocol": {
            "type": "digital",
            "role": "output"
          },
          "requires": [
            {
              "function": "INT1",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1
          },
          "description": "Programmable interrupt output. Push-pull or open-drain."
        },
        {
          "id": "int2_if",
          "name": "INT2 output",
          "protocol": {
            "type": "digital",
            "role": "output"
          },
          "requires": [
            {
              "function": "INT2",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1
          },
          "description": "Programmable interrupt output. Can also serve DEN/MDRDY."
        },
        {
          "id": "vdd_power_in",
          "name": "VDD Power",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "VDD_IN",
              "count": 1
            },
            {
              "function": "GND",
              "count": 1
            }
          ],
          "description": "1.71–3.6 V main supply with local decoupling."
        },
        {
          "id": "vddio_power_in",
          "name": "VDDIO Power",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "VDDIO_IN",
              "count": 1
            },
            {
              "function": "GND",
              "count": 1
            }
          ],
          "description": "1.62 V min I/O supply. Keep ≤ VDD + 0.1 V."
        },
        {
          "id": "i2c_master",
          "name": "I2C master (optional)",
          "protocol": {
            "type": "i2c",
            "role": "master"
          },
          "requires": [
            {
              "function": "I2C_MSCL",
              "count": 1
            },
            {
              "function": "I2C_MSDA",
              "count": 1
            }
          ],
          "constraints": {
            "max_lane_rate_mbps": 0.4
          },
          "description": "Available only in Mode 2 for external sensor hub on SCx/SDx pins."
        }
      ],
      "supply_voltage_V": [
        1.62,
        3.6
      ],
      "power_consumption_mW": 1.62,
      "pin_count": 14,
      "metadata": {
        "package_type": "LGA-14L",
        "logic_levels": {
          "vih_min": "0.7*VDDIO",
          "vil_max": "0.3*VDDIO",
          "voh_min": "VDDIO-0.2V @4mA",
          "vol_max": "0.2V @4mA"
        }
      }
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "pkg",
          "name": "Package",
          "description": "LGA-14 body",
          "functions": [
            {
              "name": "MECHANICAL_MOUNT",
              "direction": "bidirectional",
              "signal_class": "mechanical_drive"
            }
          ],
          "connector_type": "surface_mount"
        }
      ],
      "interfaces": [
        {
          "id": "pcb_mount",
          "name": "PCB mounting",
          "protocol": {
            "type": "mechanical_connection",
            "role": "mounting_point"
          },
          "requires": [
            {
              "function": "MECHANICAL_MOUNT",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Surface-mount reflow per land pattern."
        }
      ],
      "package_type": "LGA-14L",
      "dimensions_mm": {
        "length": 3,
        "width": 2.5,
        "height": 0.86
      },
      "metadata": {
        "mounting_method": "surface_mount"
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        85
      ],
      "metadata": {
        "requires_thermal_management": false
      }
    }
  ],
  "design_rules": [
    "I2C requires external pull-up resistors to VDDIO on SCL and SDA.",
    "I2C 7-bit address is 0x6A (SA0=0) or 0x6B (SA0=1).",
    "SPI up to 10 MHz. Set SIM=1 for 3-wire operation.",
    "Keep VDDIO ≤ VDD + 0.1 V.",
    "Tie CS high to VDDIO for I2C mode. For SPI, drive CS from host.",
    "Leave NC pins 10 and 11 unconnected but soldered to PCB land."
  ],
  "usage_notes": "Typical operation uses VDD=1.8 V and VDDIO=1.8 V or 3.3 V. Provide local 100 nF decoupling on VDD and VDDIO. FIFO up to 4 kB supports batching. INT pins can be push-pull or open-drain via PP_OD bit.",
  "application_examples": [
    "ST Application Note AN5130: LSM6DS3TR-C usage information.",
    "ST product page with resources and drivers."
  ],
  "compatibility_notes": "Logic thresholds scale with VDDIO. Ensure host I/O levels are compatible. For I2C, avoid address conflicts when SA0=1 (0x6B) or SA0=0 (0x6A).",
  "warnings": [
    "Absolute maximum supply on any pin must not exceed 4.8 V.",
    "HBM ESD 2 kV; handle per JEDEC standards."
  ]
}