{
  "metadata": {
    "id": "adafruit-vl53l4cd-breakout",
    "name": "Adafruit VL53L4CD Time-of-Flight Distance Sensor Breakout",
    "type": "sensor",
    "description": "VL53L4CD ToF proximity sensor on STEMMA QT/Qwiic breakout. 3–5 V input with onboard regulation and level shifting. I2C, 1 mm resolution.",
    "manufacturer": "Adafruit",
    "part_number": "5396",
    "datasheet_url": "https://www.st.com/resource/en/datasheet/vl53l4cd.pdf",
    "tags": [
      "vl53l4cd",
      "tof",
      "distance",
      "i2c",
      "0x29",
      "stemmaqt",
      "qwiic",
      "interrupt",
      "xshut"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "sensor.distance",
      "expansion.breakout"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vin_3to5",
          "name": "VIN (3–5 V)",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": [
            3,
            5
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Board input; feeds onboard regulator for sensor core"
        },
        {
          "id": "vdd_sensor",
          "name": "Sensor core rail",
          "nominal_voltage_V": 2.8,
          "voltage_range_V": [
            2.6,
            3.5
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Internal rail for VL53L4CD"
        }
      ],
      "resources": [
        {
          "id": "vin",
          "name": "VIN",
          "functions": [
            {
              "name": "power_in",
              "signal_class": "power"
            }
          ],
          "connector_type": "pin_header",
          "power_domain_id": "vin_3to5"
        },
        {
          "id": "gnd",
          "name": "GND",
          "functions": [
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "pin_header",
          "power_domain_id": "vin_3to5"
        },
        {
          "id": "sda",
          "name": "SDA",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "scl",
          "name": "SCL",
          "functions": [
            {
              "name": "i2c_scl",
              "signal_class": "clock"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "gpio1",
          "name": "GPIO (INT)",
          "functions": [
            {
              "name": "interrupt",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "xshut",
          "name": "XSHUT",
          "functions": [
            {
              "name": "shutdown_ctrl",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "stemmaqta",
          "name": "STEMMA QT A",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data",
              "shareable_with": [
                "i2c_scl"
              ]
            },
            {
              "name": "i2c_scl",
              "signal_class": "clock",
              "shareable_with": [
                "i2c_sda"
              ]
            },
            {
              "name": "power_in",
              "signal_class": "power"
            },
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "jst-sh",
          "power_domain_id": "vin_3to5",
          "description": "JST-SH 4-pin I2C"
        },
        {
          "id": "stemmaqtb",
          "name": "STEMMA QT B",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data",
              "shareable_with": [
                "i2c_scl"
              ]
            },
            {
              "name": "i2c_scl",
              "signal_class": "clock",
              "shareable_with": [
                "i2c_sda"
              ]
            },
            {
              "name": "power_in",
              "signal_class": "power"
            },
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "jst-sh",
          "power_domain_id": "vin_3to5",
          "description": "JST-SH 4-pin I2C (pass-through)"
        }
      ],
      "interfaces": [
        {
          "id": "i2c_target",
          "name": "I2C target interface",
          "protocol": {
            "type": "i2c",
            "role": "target"
          },
          "requires": [
            {
              "function": "i2c_sda",
              "count": 1,
              "shareable_with": [
                "i2c_scl"
              ]
            },
            {
              "function": "i2c_scl",
              "count": 1,
              "shareable_with": [
                "i2c_sda"
              ]
            }
          ],
          "timing": {
            "max_i2c_freq_hz": 1000000
          },
          "description": "Default 7-bit address 0x29"
        },
        {
          "id": "int_out",
          "name": "Interrupt output",
          "protocol": {
            "type": "gpio_interrupt",
            "role": "source"
          },
          "requires": [
            {
              "function": "interrupt",
              "count": 1
            }
          ],
          "description": "Open-drain style interrupt output from sensor"
        },
        {
          "id": "shutdown_in",
          "name": "Shutdown control",
          "protocol": {
            "type": "gpio_control",
            "role": "sink"
          },
          "requires": [
            {
              "function": "shutdown_ctrl",
              "count": 1
            }
          ],
          "description": "Active-low XSHUT to place sensor in HW standby"
        }
      ],
      "supply_voltage_V": [
        3,
        5
      ],
      "metadata": {
        "i2c_address_7bit": "0x29",
        "i2c_max_frequency_hz": 1000000,
        "measurement_range_mm": [
          1,
          1200
        ],
        "field_of_view_deg": 18,
        "max_ranging_frequency_hz": 100,
        "resolution_mm": 1
      }
    },
    {
      "domain": "mechanical",
      "package_type": "PCB Module",
      "dimensions_mm": {
        "length": 25.5,
        "width": 17.7,
        "height": 4.6
      },
      "resources": [],
      "interfaces": []
    }
  ],
  "design_rules": [
    "Power the VIN pin with 3–5 V only; I2C on STEMMA QT expects same rail.",
    "For multiple sensors on one bus, hold others in XSHUT and reassign I2C addresses in firmware before enabling.",
    "Keep sensor aperture unobstructed; remove shipping tape before use."
  ],
  "warnings": [
    "Class 1 laser device; avoid deliberate eye exposure.",
    "GPIO interrupt pin is ~2.8 V logic; confirm compatibility with 5 V-only inputs.",
    "Do not exceed 1 MHz I2C clock."
  ]
}