{
  "metadata": {
    "id": "adafruit-bme688-breakout",
    "name": "Adafruit BME688 Temperature, Humidity, Pressure, and Gas Sensor Breakout",
    "type": "sensor",
    "description": "Bosch BME688 environmental sensor on STEMMA QT/Qwiic breakout with 3–5 V input, onboard 3.3 V regulator and level shifting. I2C or SPI interface.",
    "manufacturer": "Adafruit",
    "part_number": "5046",
    "datasheet_url": "https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme688-ds000.pdf",
    "tags": [
      "bme688",
      "i2c",
      "spi",
      "stemmaqt",
      "qwiic",
      "0x77",
      "0x76",
      "bsec",
      "iaq"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "sensor.environmental",
      "sensor.gas",
      "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 3.3 V regulator"
        },
        {
          "id": "vdd_3v3_out",
          "name": "3Vo output",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": [
            3.2,
            3.4
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Regulated 3.3 V output from onboard LDO (for light loads)"
        }
      ],
      "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": "vout3v3",
          "name": "3Vo",
          "functions": [
            {
              "name": "power_out",
              "signal_class": "power"
            }
          ],
          "connector_type": "pin_header",
          "power_domain_id": "vdd_3v3_out"
        },
        {
          "id": "i2c_sda",
          "name": "SDA/SDI",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "i2c_scl",
          "name": "SCL/SCK",
          "functions": [
            {
              "name": "i2c_scl",
              "signal_class": "clock"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "spi_sck",
          "name": "SCK",
          "functions": [
            {
              "name": "spi_sck",
              "signal_class": "clock"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "spi_cipo",
          "name": "SDO",
          "functions": [
            {
              "name": "spi_cipo",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "spi_copi",
          "name": "SDI",
          "functions": [
            {
              "name": "spi_copi",
              "signal_class": "data"
            }
          ],
          "connector_type": "pin_header"
        },
        {
          "id": "spi_cs",
          "name": "CS",
          "functions": [
            {
              "name": "spi_cs",
              "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",
          "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": 400000
          },
          "description": "Default 7-bit address 0x77; selectable to 0x76 via SDO-to-GND jumper"
        },
        {
          "id": "spi_target",
          "name": "SPI target",
          "protocol": {
            "type": "spi",
            "role": "target"
          },
          "requires": [
            {
              "function": "spi_sck",
              "count": 1
            },
            {
              "function": "spi_copi",
              "count": 1
            },
            {
              "function": "spi_cipo",
              "count": 1
            },
            {
              "function": "spi_cs",
              "count": 1
            }
          ],
          "timing": {
            "max_spi_freq_hz": 10000000
          }
        }
      ],
      "supply_voltage_V": [
        3,
        5
      ],
      "metadata": {
        "i2c_addresses_7bit": [
          "0x77",
          "0x76"
        ],
        "i2c_pullups_present": true,
        "sensor_ranges": {
          "temperature_C": [
            -40,
            85
          ],
          "humidity_rh_percent": [
            0,
            100
          ],
          "pressure_hpa": [
            300,
            1100
          ]
        }
      }
    },
    {
      "domain": "mechanical",
      "package_type": "PCB Module",
      "dimensions_mm": {
        "length": 25.5,
        "width": 17.6,
        "height": 4.6
      },
      "resources": [],
      "interfaces": []
    }
  ],
  "design_rules": [
    "Burn-in: run ~48 h on first use, then ~30 min on each power-up before relying on gas readings.",
    "If using multiple I2C devices with the same base address, change this board’s address via SDO jumper before enabling both.",
    "For IAQ and gas classification use Bosch BSEC 2.x; raw gas resistance alone is not comparable across environments."
  ],
  "warnings": [
    "3Vo is an output, not an input.",
    "Avoid condensing humidity and strong solvents at the sensor opening.",
    "STEMMA QT uses I2C only; SPI is available on the header pins."
  ]
}