{
  "metadata": {
    "id": "max30102efd-t",
    "name": "MAX30102EFD+T",
    "type": "sensor",
    "description": "Integrated pulse oximeter and heart-rate sensor module with internal red/IR LEDs, photodetectors, and optics; I2C interface.",
    "manufacturer": "Analog Devices",
    "part_number": "MAX30102EFD+T",
    "datasheet_url": "https://www.analog.com/media/en/technical-documentation/data-sheets/max30102.pdf",
    "tags": [
      "pulse-oximeter",
      "heart-rate",
      "PPG",
      "I2C",
      "biosensor",
      "wearable",
      "red-LED",
      "IR-LED"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "sensor.biometric"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vdd_1v8",
          "name": "VDD 1.8V core",
          "nominal_voltage_V": 1.8,
          "voltage_range_V": [
            1.7,
            2
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Core analog/digital supply."
        },
        {
          "id": "vled_3v3_5v",
          "name": "VLED+ LED supply",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": [
            3.1,
            5
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "LED driver anode supply."
        }
      ],
      "resources": [
        {
          "id": "pin2_scl",
          "name": "SCL",
          "description": "I2C clock input",
          "functions": [
            {
              "name": "I2C_SCL",
              "direction": "sink",
              "signal_class": "clock"
            }
          ],
          "power_domain_id": "vdd_1v8",
          "has_internal_pullup": false,
          "connector_type": "surface_pad",
          "notes": "External pull-up required to host logic rail."
        },
        {
          "id": "pin3_sda",
          "name": "SDA",
          "description": "I2C data (open-drain)",
          "functions": [
            {
              "name": "I2C_SDA",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "power_domain_id": "vdd_1v8",
          "has_internal_pullup": false,
          "connector_type": "surface_pad",
          "notes": "Open-drain. External pull-up required to host logic rail."
        },
        {
          "id": "pin13_int",
          "name": "INT",
          "description": "Active-low interrupt output (open-drain)",
          "functions": [
            {
              "name": "INT_N",
              "direction": "source",
              "signal_class": "data"
            }
          ],
          "power_domain_id": "vdd_1v8",
          "connector_type": "surface_pad",
          "notes": "Open-drain. Pull up to host logic rail."
        },
        {
          "id": "pin11_vdd",
          "name": "VDD",
          "description": "1.8V core supply input",
          "functions": [
            {
              "name": "VDD_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "vdd_1v8",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin9_vledp",
          "name": "VLED+ (1)",
          "description": "LED driver anode supply",
          "functions": [
            {
              "name": "VLED_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "vled_3v3_5v",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin10_vledp",
          "name": "VLED+ (2)",
          "description": "LED driver anode supply",
          "functions": [
            {
              "name": "VLED_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "vled_3v3_5v",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin12_gnd",
          "name": "GND",
          "description": "Analog ground",
          "functions": [
            {
              "name": "GND",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "vdd_1v8",
          "connector_type": "surface_pad"
        },
        {
          "id": "pin4_pgnd",
          "name": "PGND",
          "description": "LED driver power ground",
          "functions": [
            {
              "name": "PGND",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "power_domain_id": "vled_3v3_5v",
          "connector_type": "surface_pad"
        }
      ],
      "interfaces": [
        {
          "id": "i2c_slave",
          "name": "I2C",
          "protocol": {
            "type": "i2c",
            "role": "slave"
          },
          "requires": [
            {
              "function": "I2C_SDA",
              "count": 1
            },
            {
              "function": "I2C_SCL",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "max_lane_rate_mbps": 0.4,
            "requires_matching_voltage_domain": true
          },
          "description": "I2C-compatible up to 400kHz; 7-bit fixed address 0x57."
        },
        {
          "id": "int_output",
          "name": "Interrupt",
          "protocol": {
            "type": "digital",
            "role": "output"
          },
          "requires": [
            {
              "function": "INT_N",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1
          },
          "description": "Open-drain active-low interrupt. Pull up to host logic rail."
        },
        {
          "id": "vdd_power_in",
          "name": "VDD Power",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "VDD_IN",
              "count": 1
            },
            {
              "function": "GND",
              "count": 1
            }
          ],
          "description": "1.7–2.0V core supply with local decoupling."
        },
        {
          "id": "vled_power_in",
          "name": "VLED+ Power",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "VLED_IN",
              "count": 1
            },
            {
              "function": "PGND",
              "count": 1
            }
          ],
          "description": "3.1–5.0V LED supply with local decoupling to PGND."
        }
      ],
      "supply_voltage_V": [
        1.7,
        5
      ],
      "pin_count": 14,
      "metadata": {
        "package_type": "14-Lead OESIP"
      }
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "package_mount",
          "name": "Package",
          "description": "Surface-mount optical module body",
          "functions": [
            {
              "name": "MECHANICAL_MOUNT",
              "direction": "bidirectional",
              "signal_class": "mechanical_drive"
            }
          ],
          "connector_type": "surface_mount"
        }
      ],
      "interfaces": [
        {
          "id": "pcb_mounting",
          "name": "PCB mounting",
          "protocol": {
            "type": "mechanical_connection",
            "role": "mounting_point"
          },
          "requires": [
            {
              "function": "MECHANICAL_MOUNT",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Surface-mount reflow soldering per package land pattern."
        }
      ],
      "package_type": "14-Lead OESIP",
      "dimensions_mm": {
        "length": 5.6,
        "width": 3.3,
        "height": 1.55
      },
      "metadata": {
        "mounting_method": "surface_mount",
        "enclosure_type": "sealed_window",
        "field_serviceable": false
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        85
      ],
      "metadata": {
        "requires_thermal_management": false,
        "thermal_monitoring_available": false,
        "cooling_method": "passive"
      }
    }
  ],
  "design_rules": [
    "Do not exceed 50 mA LED current per channel.",
    "VLED+ must be 3.1–5.0 V; VDD must be 1.7–2.0 V.",
    "I2C 7-bit address fixed at 0x57; cannot be changed.",
    "Use external pull-ups on SDA, SCL, and INT. I2C up to 400 kHz.",
    "Prefer VDD power-up before VLED+; see datasheet sequencing."
  ],
  "usage_notes": "Typical application uses 3.3 V for VLED+ and 1.8 V for VDD with local 10 uF/0.1 uF (VLED+) and 4.7 uF/0.1 uF (VDD) decoupling; INT is open-drain; SDA/SCL open-drain.",
  "application_examples": [
    "MAX30102 Evaluation Kit: https://www.analog.com/media/en/technical-documentation/data-sheets/max30102accevkit.pdf",
    "Analog Devices Reference Design MAXREFDES1043: https://www.analog.com/media/en/reference-design-documentation/reference-designs/maxrefdes1043.pdf"
  ],
  "compatibility_notes": "Optical window must be unobstructed; mechanical design should minimize ambient light leakage into sensor window.",
  "warnings": [
    "ESD sensitive device (HBM 2.5 kV).",
    "Observe optical cleanliness; cover glass contamination degrades readings."
  ]
}