{
  "metadata": {
    "id": "mlx90632-fir-sensor",
    "name": "MLX90632 FIR Sensor",
    "type": "sensor",
    "description": "FIR Sensor, I2C compatible, FOV of 50 degrees",
    "manufacturer": "Melexis",
    "part_number": "MLX90632",
    "datasheet_url": "https://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90632",
    "tags": [
      "ir_sensor",
      "fir_sensor"
    ],
    "schema_version": "1.4.0",
    "version": "0.1.0",
    "taxonomy": [
      "sensor.thermal"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vdd",
          "name": "VDD",
          "nominal_voltage_V": 3.3,
          "functions": [
            {
              "name": "VDD",
              "signal_class": "power"
            }
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Main analog/digital supply must not exceed 3.3V."
        }
      ],
      "resources": [
        {
          "id": "vdd",
          "name": "VDD",
          "description": "Power supply",
          "functions": [
            {
              "name": "VDD",
              "signal_class": "power"
            }
          ]
        },
        {
          "id": "gnd",
          "name": "GND",
          "description": "Ground pin",
          "functions": [
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ]
        },
        {
          "id": "sda",
          "name": "I2C_SDA",
          "description": "I2C data line",
          "functions": [
            {
              "name": "I2C_SDA",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "id": "scl",
          "name": "I2C_SCL",
          "description": "I2C clock line",
          "functions": [
            {
              "name": "I2C_SCL",
              "direction": "sink",
              "signal_class": "clock"
            }
          ]
        },
        {
          "id": "addr",
          "name": "I2C_ADDR",
          "description": "I2C address line",
          "functions": [
            {
              "name": "I2C_ADDR",
              "direction": "source",
              "signal_class": "address"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "power_supply",
          "name": "Power supply",
          "protocol": {
            "type": "power_supply",
            "role": "supply"
          },
          "requires": [
            {
              "function": "VDD",
              "count": 1
            },
            {
              "function": "ground",
              "count": 1
            }
          ]
        },
        {
          "id": "i2c_slave",
          "name": "I2C slave",
          "protocol": {
            "type": "i2c",
            "role": "slave"
          },
          "requires": [
            {
              "function": "I2C_SDA",
              "count": 1
            },
            {
              "function": "I2C_SCL",
              "count": 1
            },
            {
              "function": "I2C_ADDR",
              "count": 1
            }
          ]
        }
      ]
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "pkg",
          "name": "SMD SFN",
          "description": "Package",
          "functions": [
            {
              "name": "MECHANICAL_MOUNT",
              "direction": "bidirectional",
              "signal_class": "mechanical_mount"
            }
          ],
          "connector_type": "surface_mount"
        }
      ],
      "interfaces": [
        {
          "id": "pcb_mount",
          "name": "PCB mounting",
          "protocol": {
            "type": "mechanical_connection",
            "role": "mounting_point"
          },
          "requires": [
            {
              "function": "MECHANICAL_MOUNT",
              "count": 1
            }
          ]
        }
      ],
      "package_type": "SMD SFN"
    }
  ],
  "design_rules": [
    "Supply voltage must be 2.6V to 3.6V (3.3V nominal). Do not exceed 3.6V absolute maximum.",
    "I2C requires external pull-up resistors (typically 4.7kΩ) to VDD on SDA and SCL lines.",
    "I2C address is configurable via ADDR pin: 0x3A (ADDR=0) or 0x3B (ADDR=1).",
    "Provide local decoupling capacitor (100nF ceramic) close to VDD pin for power supply filtering.",
    "Sensor has 50° field of view - ensure clear optical path without obstructions.",
    "Avoid placing heat sources near the sensor to prevent thermal interference.",
    "Sensor window must be kept clean - avoid fingerprints, dust, or protective films that block IR radiation."
  ]
}