window.jsonComponentsObject = { "components": { "i2c_output": [ { "id": "chardisplay20x4", "displayName": "20x4 Character Display", "name": "chardisplay20x4", "description": "Standard 20x4 HD44780 character display with I2C backpack", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/chardisplay20x4/image.png", "productUrl": "https://www.adafruit.com/product/198", "documentationUrl": "https://learn.adafruit.com/i2c-spi-lcd-backpack" }, { "id": "fthrwingoled128x32", "displayName": "128x32 OLED'wing (Small)", "name": "fthrwingoled128x32", "description": "Monochrome 128x32 OLED featherwing display with the default font size (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/2900-10.jpg", "productUrl": "https://www.adafruit.com/product/2900", "documentationUrl": "https://learn.adafruit.com/adafruit-oled-featherwing" }, { "id": "oled128x64default", "displayName": "128x64 OLED (Default)", "name": "oled128x64default", "description": "Monochrome 128x64 I2C OLED Display with the default font size (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled128x64default/image.png", "productUrl": "https://www.adafruit.com/product/938", "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" }, { "id": "chardisplay16x2", "displayName": "16x2 Character Display", "name": "chardisplay16x2", "description": "Standard 16x2 HD44780 character display with I2C backpack", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/chardisplay16x2/image.png", "productUrl": "https://www.adafruit.com/product/1447", "documentationUrl": "https://learn.adafruit.com/i2c-spi-lcd-backpack" }, { "id": "oled128x32large", "displayName": "128x32 OLED (Large Font)", "name": "oled128x32large", "description": "Monochrome 128x32 I2C OLED Display with a larger font size (SSD1306).", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled128x32large/image.png", "productUrl": "https://www.adafruit.com/product/4440", "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" }, { "id": "7seg", "displayName": "7-Segment LED Matrix", "name": "7seg", "description": "7-Segment LED Matrix with I2C Backpack", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/7seg/image.png", "productUrl": "https://www.adafruit.com/product/878", "documentationUrl": "https://learn.adafruit.com/adafruit-led-backpack/0-dot-56-seven-segment-backpack" }, { "id": "fthrwingoled128x64", "displayName": "128x64 OLED'wing (Small)", "name": "fthrwingoled128x64", "description": "Monochrome 128x64 OLED featherwing display with the default font size (SH1107)", "category": "i2c_output", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/4650-08.jpg", "productUrl": "https://www.adafruit.com/product/4650", "documentationUrl": "https://learn.adafruit.com/adafruit-128x64-oled-featherwing" }, { "id": "oled128x32default", "displayName": "128x32 OLED (Default)", "name": "oled128x32default", "description": "Monochrome 128x32 OLED graphic display with the default font size. (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled128x32default/image.png", "productUrl": "https://www.adafruit.com/product/4440", "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" }, { "id": "oled64x32large", "displayName": "64x32 OLED (Large Font)", "name": "oled64x32large", "description": "Monochrome 64x32 I2C OLED Display with a larger font size. (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled64x32large/image.jpg", "productUrl": "https://www.digikey.com/en/products/detail/midas-displays/MDOB064032AV-WI/18088023", "documentationUrl": "https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/4808/MDOB064032AV-WI.pdf" }, { "id": "fthrwingoled128x64lg", "displayName": "128x64 OLED'wing (Large)", "name": "fthrwingoled128x64lg", "description": "Monochrome 128x64 OLED featherwing display with the default font size (SH1107)", "category": "i2c_output", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/4650-08.jpg", "productUrl": "https://www.adafruit.com/product/4650", "documentationUrl": "https://learn.adafruit.com/adafruit-128x64-oled-featherwing" }, { "id": "oled64x32default", "displayName": "64x32 OLED (Small Font)", "name": "oled64x32default", "description": "Monochrome 64x32 I2C OLED Display with the default font size. (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled64x32default/image.jpg", "productUrl": "https://www.digikey.com/en/products/detail/midas-displays/MDOB064032AV-WI/18088023", "documentationUrl": "https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/4808/MDOB064032AV-WI.pdf" }, { "id": "fthrwingoled128x32lg", "displayName": "128x32 OLED'wing (Large)", "name": "fthrwingoled128x32lg", "description": "Monochrome 128x32 OLED featherwing display with a larger font size (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/2900-10.jpg", "productUrl": "https://www.adafruit.com/product/2900", "documentationUrl": "https://learn.adafruit.com/adafruit-oled-featherwing" }, { "id": "quadalphanum", "displayName": "Quad Alphanum. Display", "name": "quadalphanum", "description": "Quad Alphanumeric Display 0.54\" Digits w/ I2C Backpack - STEMMA QT / Qwiic", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/quadalphanum/image.png", "productUrl": "https://www.adafruit.com/product/1911", "documentationUrl": "https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric" }, { "id": "oled128x64large", "displayName": "128x64 OLED (Large Font)", "name": "oled128x64large", "description": "Monochrome 128x64 I2C OLED Display with a larger font size (SSD1306)", "category": "i2c_output", "dataTypes": [], "image": "components/i2c_output/oled128x64large/image.png", "productUrl": "https://www.adafruit.com/product/938", "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" } ], "uart": [ { "id": "us100", "displayName": "US-100 Distance Sensor", "name": "us100", "description": "", "category": "uart", "dataTypes": [ "raw", "ambient-temp" ], "image": "components/uart/us100/image.png", "productUrl": "https://www.adafruit.com/product/4019", "documentationUrl": "https://learn.adafruit.com/ultrasonic-sonar-distance-sensors", "deviceType": "generic_input", "deviceId": "us100", "generic_input": { "period": 30 } }, { "id": "pms5003", "displayName": "pms5003", "name": "pms5003", "description": "", "category": "uart", "dataTypes": [ "pm10-std", "pm25-std", "pm100-std", "pm10-env", "pm25-env", "pm100-env" ], "image": "components/uart/pms5003/image.png", "productUrl": "https://www.adafruit.com/product/3686", "documentationUrl": "https://learn.adafruit.com/pm25-air-quality-sensor", "deviceType": "pm25aqi", "deviceId": "pms5003", "pm25aqi": { "period": 30000 } }, { "id": "pm1006", "displayName": "VINDRIKTNING (PM1006)", "name": "pm1006", "description": "", "category": "uart", "dataTypes": [ "pm25-env" ], "image": "components/uart/pm1006/image.png", "productUrl": "https://www.ikea.com/us/en/p/vindriktning-air-quality-sensor-60515911/", "documentationUrl": "https://learn.adafruit.com/ikea-vindriktning-hack-with-qt-py-esp32-s3-and-adafruit-io", "deviceType": "pm25aqi", "deviceId": "pm1006", "pm25aqi": { "period": 30000, "is_pm1006": true } }, { "id": "ultimate_gps", "displayName": "Adafruit Ultimate GPS Breakout", "name": "ultimate_gps", "description": "High-performance GPS module with 10Hz updates and external antenna support", "category": "uart", "dataTypes": [], "image": "components/uart/ultimate_gps/image.png", "productUrl": "https://www.adafruit.com/product/5440", "documentationUrl": "https://learn.adafruit.com/adafruit-ultimate-gps/", "deviceType": "gps", "deviceId": "adaultimategps", "gps": { "period": 1000 } } ], "ds18x20": [ { "id": "ds18b20", "displayName": "DS18B20", "name": "ds18b20", "description": "", "category": "ds18x20", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/374-01.jpg", "productUrl": "https://www.adafruit.com/product/374", "documentationUrl": "https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-wippersnapper" }, { "id": "ds18b20_hi_temp_waterproof", "displayName": "High Temp + Waterproof DS18B20", "name": "ds18b20_hi_temp_waterproof", "description": "", "category": "ds18x20", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/642-00.jpg", "productUrl": "https://www.adafruit.com/product/642", "documentationUrl": "https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-wippersnapper" }, { "id": "ds18b20_waterproof", "displayName": "Waterproof DS18B20", "name": "ds18b20_waterproof", "description": "", "category": "ds18x20", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/381-01.jpg", "productUrl": "https://www.adafruit.com/product/381", "documentationUrl": "https://learn.adafruit.com/using-ds18b20-temperature-sensor-with-wippersnapper" } ], "servo": [ { "id": "servo", "displayName": "Generic Servo", "name": "servo", "description": "", "category": "servo", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/169-06.jpg", "productUrl": "https://www.adafruit.com/product/169", "documentationUrl": "https://learn.adafruit.com/using-servos-with-circuitpython" } ], "i2c": [ { "id": "sen50", "displayName": "SEN50", "name": "sen50", "description": "", "category": "i2c", "dataTypes": [ "pm10-std", "pm25-std", "pm100-std" ], "image": "components/i2c/sen50/image.png", "productUrl": "https://www.digikey.com/en/products/filter/gas-sensors/530?s=N4IgjCBcoLQCxVAYygMwIYBsDOBTANCAPZQDa4ADFRQgLoC%2BjQA", "documentationUrl": "https://sensirion.com/media/documents/6791EFA0/62A1F68F/Sensirion_Datasheet_Environmental_Node_SEN5x.pdf", "address": "0x69", "addresses": [ "0x69" ] }, { "id": "tmp117", "displayName": "TMP117", "name": "tmp117", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "components/i2c/tmp117/image.jpg", "productUrl": "https://www.adafruit.com/product/4821", "documentationUrl": "https://learn.adafruit.com/adafruit-tmp117-high-accuracy-i2c-temperature-monitor", "address": "0x48", "addresses": [ "0x48", "0x49", "0x4A", "0x4B" ] }, { "id": "pct2075", "displayName": "PCT2075", "name": "pct2075", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "components/i2c/pct2075/image.jpg", "productUrl": "https://www.adafruit.com/product/4369", "documentationUrl": "https://learn.adafruit.com/adafruit-pct2075-temperature-sensor", "address": "0x37", "addresses": [ "0x37", "0x36", "0x35", "0x2F", "0x2E", "0x2D", "0x2C", "0x2B", "0x2A", "0x29", "0x28", "0x77", "0x76", "0x75", "0x74", "0x73", "0x72", "0x71", "0x70", "0x4F", "0x4E", "0x4D", "0x4C", "0x4B", "0x4A", "0x49", "0x48" ] }, { "id": "ltr303", "displayName": "LTR-303", "name": "ltr303", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Ambient Light", "sensorType": "light" }, { "displayName": "Infrared", "sensorType": "raw" } ], "image": "components/i2c/ltr303/image.jpg", "productUrl": "https://www.adafruit.com/product/5610", "documentationUrl": "https://learn.adafruit.com/adafruit-ltr-329-ltr-303", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "mcp9808", "displayName": "MCP9808", "name": "mcp9808", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/1782-03.jpg", "productUrl": "https://www.adafruit.com/product/1782", "documentationUrl": "https://learn.adafruit.com/adafruit-mcp9808-precision-i2c-temperature-sensor-guide/overview", "address": "0x18", "addresses": [ "0x18", "0x19", "0x1A", "0x1B", "0x1C", "0x1D", "0x1E", "0x1F" ] }, { "id": "ina219", "displayName": "INA219", "name": "ina219", "description": "", "category": "i2c", "dataTypes": [ "voltage", "current" ], "image": "https://cdn-shop.adafruit.com/640x480/904-09.jpg", "productUrl": "https://www.adafruit.com/product/904", "documentationUrl": "https://learn.adafruit.com/adafruit-ina219-current-sensor-breakout", "address": "0x40", "addresses": [ "0x40", "0x41", "0x44", "0x45" ] }, { "id": "sgp40", "displayName": "SGP40", "name": "sgp40", "description": "", "category": "i2c", "dataTypes": [ "voc-index", { "displayName": "Raw (For Reference Only)", "sensorType": "raw" } ], "image": "https://cdn-shop.adafruit.com/640x480/4829-06.jpg", "productUrl": "https://www.adafruit.com/product/4829", "documentationUrl": "https://learn.adafruit.com/adafruit-sgp40", "address": "0x59", "addresses": [ "0x59" ] }, { "id": "stemma_soil", "displayName": "STEMMA Soil Sensor", "name": "stemma_soil", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", { "displayName": "Capacitive Sensor", "sensorType": "raw" } ], "image": "https://cdn-shop.adafruit.com/640x480/4026-01.jpg", "productUrl": "https://www.adafruit.com/product/4026", "documentationUrl": "https://learn.adafruit.com/adafruit-stemma-soil-sensor-i2c-capacitive-moisture-sensor", "address": "0x36", "addresses": [ "0x36", "0x37", "0x38", "0x39" ] }, { "id": "ina238", "displayName": "INA238", "name": "ina238", "description": "85V, 16-bit, high-precision power monitor (up to 10A, 0.1% gain error)", "category": "i2c", "dataTypes": [ "voltage", "current" ], "image": "https://cdn-shop.adafruit.com/640x480/6349-00.jpg", "productUrl": "https://www.adafruit.com/product/6349", "documentationUrl": "https://learn.adafruit.com/adafruit-ina238-dc-current-voltage-power-monitor", "address": "0x40", "addresses": [ "0x40", "0x41", "0x44", "0x45" ] }, { "id": "shtc3", "displayName": "SHTC3", "name": "shtc3", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/4636-05.jpg", "productUrl": "https://www.adafruit.com/product/4636", "documentationUrl": "https://learn.adafruit.com/adafruit-sensirion-shtc3-temperature-humidity-sensor", "address": "0x70", "addresses": [ "0x70" ] }, { "id": "sen54", "displayName": "SEN54", "name": "sen54", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pm10-std", "pm25-std", "pm100-std", "voc-index" ], "image": "components/i2c/sen54/image.png", "productUrl": "https://www.digikey.com/en/products/filter/gas-sensors/530?s=N4IgjCBcoLQCxVAYygMwIYBsDOBTANCAPZQDa4ADFRQgLoC%2BjQA", "documentationUrl": "https://sensirion.com/media/documents/6791EFA0/62A1F68F/Sensirion_Datasheet_Environmental_Node_SEN5x.pdf", "address": "0x69", "addresses": [ "0x69" ] }, { "id": "mcp3421", "displayName": "MCP3421", "name": "mcp3421", "description": "18-bit ADC. Great for Strain Gauges, Thermocouples and Pressure sensors, between 0 and 2.048 volts", "category": "i2c", "dataTypes": [ { "displayName": "ADC Reading", "sensorType": "raw" } ], "image": "components/i2c/mcp3421/image.jpg", "productUrl": "https://www.adafruit.com/product/5870", "documentationUrl": "https://learn.adafruit.com/adafruit-mcp3421-18-bit-adc", "address": "0x68", "addresses": [ "0x68" ] }, { "id": "ens160", "displayName": "ENS160", "name": "ens160", "description": "", "category": "i2c", "dataTypes": [ "tvoc", "eco2", { "displayName": "AQI", "sensorType": "raw" } ], "image": "components/i2c/ens160/image.jpg", "productUrl": "https://www.adafruit.com/product/5606", "documentationUrl": "https://learn.adafruit.com/adafruit-ens160-mox-gas-sensor", "address": "0x52", "addresses": [ "0x52", "0x53" ] }, { "id": "sen55", "displayName": "SEN55", "name": "sen55", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pm10-std", "pm25-std", "pm100-std", "voc-index", "nox-index" ], "image": "components/i2c/sen55/image.png", "productUrl": "https://www.digikey.com/en/products/filter/gas-sensors/530?s=N4IgjCBcoLQCxVAYygMwIYBsDOBTANCAPZQDa4ADFRQgLoC%2BjQA", "documentationUrl": "https://sensirion.com/media/documents/6791EFA0/62A1F68F/Sensirion_Datasheet_Environmental_Node_SEN5x.pdf", "address": "0x69", "addresses": [ "0x69" ] }, { "id": "scd30", "displayName": "SCD30", "name": "scd30", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "co2" ], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/4867-05.jpg", "productUrl": "https://www.adafruit.com/product/4867", "documentationUrl": "https://learn.adafruit.com/adafruit-scd30", "address": "0x61", "addresses": [ "0x61" ] }, { "id": "vl53l1x", "displayName": "VL53L1X", "name": "vl53l1x", "description": "Time of Flight (ToF) distance sensor with about ~30 to 4000mm range", "category": "i2c", "dataTypes": [ { "displayName": "ToF Sensor", "sensorType": "proximity" } ], "image": "components/i2c/vl53l1x/image.jpg", "productUrl": "https://www.adafruit.com/product/3967", "documentationUrl": "https://learn.adafruit.com/adafruit-vl53l1x", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "sht40", "displayName": "SHT40", "name": "sht40", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/4885-05.jpg", "productUrl": "https://www.adafruit.com/product/4885", "documentationUrl": "https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor", "address": "0x44", "addresses": [ "0x44" ] }, { "id": "ds2484", "displayName": "DS2484", "name": "ds2484", "description": "Adafruit DS2484 I2C to 1-Wire Bus Adapter Breakout - Converts a single DS18b20 temperature sensor to I2C", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/5976-00.jpg", "productUrl": "https://www.adafruit.com/product/5976", "documentationUrl": "https://learn.adafruit.com/adafruit-dps310-precision-barometric-pressure-sensor", "address": "0x18", "addresses": [ "0x18" ] }, { "id": "mcp9601", "displayName": "MCP9601", "name": "mcp9601", "description": "Thermocouple / ambient temperature sensor. *Note* Needs hotplugging after i2c scans + selecting component!", "category": "i2c", "dataTypes": [ { "displayName": "Ambient Temperature (°C)", "sensorType": "ambient-temp" }, { "displayName": "Ambient Temperature (°F)", "sensorType": "ambient-temp-fahrenheit" }, { "displayName": "Type K Thermocouple (°C)", "sensorType": "raw" } ], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/5165-05.jpg", "productUrl": "https://www.adafruit.com/product/5165", "documentationUrl": "https://learn.adafruit.com/adafruit-mcp9601", "address": "0x67", "addresses": [ "0x67", "0x66", "0x65", "0x64", "0x63", "0x62", "0x61", "0x60" ] }, { "id": "htu21d", "displayName": "HTU21D", "name": "htu21d", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/1899-04.jpg", "productUrl": "https://www.adafruit.com/product/1899", "documentationUrl": "https://learn.adafruit.com/adafruit-htu21d-f-temperature-humidity-sensor/overview", "address": "0x40", "addresses": [ "0x40" ] }, { "id": "ina228", "displayName": "INA228", "name": "ina228", "description": "85V, 20-bit, ultra-high-precision power monitor (max 10A, 0.05% gain error)", "category": "i2c", "dataTypes": [ "voltage", "current" ], "image": "https://cdn-shop.adafruit.com/640x480/5832-00.jpg", "productUrl": "https://www.adafruit.com/product/5832", "documentationUrl": "https://learn.adafruit.com/adafruit-ina228-i2c-power-monitor", "address": "0x40", "addresses": [ "0x40", "0x41", "0x44", "0x45" ] }, { "id": "nau7802", "displayName": "NAU7802", "name": "nau7802", "description": "24-bit ADC with 128x gain, used with a load cell for weight/force sensing", "category": "i2c", "dataTypes": [ { "displayName": "Weight Sensor", "sensorType": "raw" } ], "image": "components/i2c/nau7802/image.jpg", "productUrl": "https://www.adafruit.com/product/4538", "documentationUrl": "https://learn.adafruit.com/adafruit-nau7802-24-bit-adc-stemma-qt-qwiic/overview", "address": "0x2A", "addresses": [ "0x2A" ] }, { "id": "lc709203f", "displayName": "LC709203F", "name": "lc709203f", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Battery Cell Voltage", "sensorType": "voltage" }, { "displayName": "Battery Cell Percent", "sensorType": "unitless-percent" } ], "image": "https://cdn-shop.adafruit.com/640x480/4712-07.jpg", "productUrl": "https://www.adafruit.com/product/4712", "documentationUrl": "https://learn.adafruit.com/adafruit-lc709203f-lipo-lipoly-battery-monitor", "address": "0x0B", "addresses": [ "0x0B" ] }, { "id": "am2301b", "displayName": "AM2301B", "name": "am2301b", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5181-05.jpg", "productUrl": "https://www.adafruit.com/product/5181", "documentationUrl": "https://cdn-shop.adafruit.com/product-files/5181/5181_AM2301B.pdf", "address": "0x38", "addresses": [ "0x38" ] }, { "id": "lps28dfw", "displayName": "LPS28DFW", "name": "lps28dfw", "description": "From 260 to 4060 hPa, this is our largest range pressure sensor (24bit).", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "components/i2c/lps28dfw/image.jpg", "productUrl": "https://www.adafruit.com/product/6067", "documentationUrl": "https://learn.adafruit.com/adafruit-lps28-pressure-sensor", "address": "0x5C", "addresses": [ "0x5C", "0x5D" ] }, { "id": "tsl2591", "displayName": "TSL2591", "name": "tsl2591", "description": "", "category": "i2c", "dataTypes": [ "light" ], "image": "https://cdn-shop.adafruit.com/640x480/1980-08.jpg", "productUrl": "https://www.adafruit.com/product/1980", "documentationUrl": "https://learn.adafruit.com/adafruit-tsl2591", "address": "0x29", "addresses": [ "0x29", "0x39", "0x49" ] }, { "id": "sht41", "displayName": "SHT41", "name": "sht41", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5776-05.jpg", "productUrl": "https://www.adafruit.com/product/5776", "documentationUrl": "https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor", "address": "0x44", "addresses": [ "0x44" ] }, { "id": "tc74a0", "displayName": "TC74A0", "name": "tc74a0", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/4375-03.jpg", "productUrl": "https://www.adafruit.com/product/4375", "documentationUrl": "https://learn.adafruit.com/adafruit-pct2075-temperature-sensor", "address": "0x48", "addresses": [ "0x48" ] }, { "id": "bmp280", "displayName": "BMP280", "name": "bmp280", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ], "image": "https://cdn-shop.adafruit.com/640x480/2651-08.jpg", "productUrl": "https://www.adafruit.com/product/2651", "documentationUrl": "https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "aht21", "displayName": "AHT21", "name": "aht21", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "components/i2c/aht21/image.jpg", "documentationUrl": "http://www.aosong.com/en/products-60.html", "address": "0x38", "addresses": [ "0x38" ] }, { "id": "dht20", "displayName": "DHT20", "name": "dht20", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5183-04.jpg", "productUrl": "https://www.adafruit.com/product/5183", "documentationUrl": "https://cdn-shop.adafruit.com/product-files/5183/5193_DHT20.pdf", "address": "0x38", "addresses": [ "0x38" ] }, { "id": "vcnl4200", "displayName": "VCNL4200", "name": "vcnl4200", "description": "Proximity sensor works from 0 to 1.5m (about 59 inches) & light sensor with range of 0.003 to 1570 lux", "category": "i2c", "dataTypes": [ "light", "proximity" ], "image": "https://cdn-shop.adafruit.com/640x480/6064-00.jpg", "productUrl": "https://www.adafruit.com/product/6064", "documentationUrl": "https://learn.adafruit.com/adafruit-vcnl4200-long-distance-ir-proximity-and-light-sensor", "address": "0x51", "addresses": [ "0x51" ] }, { "id": "vl53l4cd", "displayName": "VL53L4CD", "name": "vl53l4cd", "description": "Time of Flight (ToF) distance sensor with about ~1 to 1300mm range", "category": "i2c", "dataTypes": [ { "displayName": "ToF Sensor", "sensorType": "proximity" } ], "image": "components/i2c/vl53l4cd/image.jpg", "productUrl": "https://www.adafruit.com/product/5396", "documentationUrl": "https://learn.adafruit.com/adafruit-vl53l4cd-time-of-flight-distance-sensor", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "sen66", "displayName": "SEN66", "name": "sen66", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pm10-std", "pm25-std", "pm100-std", "voc-index", "nox-index", "co2" ], "image": "https://cdn-shop.adafruit.com/640x480/6331-06.jpg", "productUrl": "https://www.adafruit.com/product/6331", "documentationUrl": "https://sensirion.com/media/documents/FAFC548D/6731FFFA/Sensirion_Datasheet_SEN6x.pdf", "address": "0x6B", "addresses": [ "0x6B" ] }, { "id": "bh1750", "displayName": "BH1750", "name": "bh1750", "description": "", "category": "i2c", "dataTypes": [ "light" ], "image": "https://cdn-shop.adafruit.com/640x480/4681-06.jpg", "productUrl": "https://www.adafruit.com/product/4681", "documentationUrl": "https://learn.adafruit.com/adafruit-bh1750-ambient-light-sensor", "address": "0x23", "addresses": [ "0x23", "0x5C" ] }, { "id": "si7021", "displayName": "Si7021", "name": "si7021", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/3251-08.jpg", "productUrl": "https://www.adafruit.com/product/3251", "documentationUrl": "https://learn.adafruit.com/adafruit-si7021-temperature-plus-humidity-sensor/overview", "address": "0x40", "addresses": [ "0x40" ] }, { "id": "hts221", "displayName": "HTS221", "name": "hts221", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/4535-04.jpg", "productUrl": "https://www.adafruit.com/product/4535", "documentationUrl": "https://learn.adafruit.com/adafruit-hts221-temperature-humidity-sensor/overview", "address": "0x5F", "addresses": [ "0x5F" ] }, { "id": "ltr390", "displayName": "LTR-390", "name": "ltr390", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Ambient Light", "sensorType": "light" }, { "displayName": "UV Count", "sensorType": "raw" } ], "image": "components/i2c/ltr390/image.jpg", "productUrl": "https://www.adafruit.com/product/4831", "documentationUrl": "https://learn.adafruit.com/adafruit-ltr390-uv-sensor", "address": "0x53", "addresses": [ "0x53" ] }, { "id": "lps35hw", "displayName": "LPS35HW", "name": "lps35hw", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/4258-10.jpg", "productUrl": "https://www.adafruit.com/product/4258", "documentationUrl": "https://learn.adafruit.com/lps35hw-water-resistant-pressure-sensor", "address": "0x5D", "addresses": [ "0x5D", "0x5C" ] }, { "id": "lps25hb", "displayName": "LPS25HB", "name": "lps25hb", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "components/i2c/lps25hb/image.jpg", "productUrl": "https://www.adafruit.com/product/4530", "documentationUrl": "https://learn.adafruit.com/adafruit-lps25-pressure-sensor", "address": "0x5D", "addresses": [ "0x5D", "0x5C" ] }, { "id": "sht30_mesh", "displayName": "Weatherproof SHT30", "name": "sht30_mesh", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/4099-09.jpg", "productUrl": "https://www.adafruit.com/product/4099", "documentationUrl": "https://learn.adafruit.com/adafruit-sht31-d-temperature-and-humidity-sensor-breakout", "address": "0x44", "addresses": [ "0x44" ] }, { "id": "ms8607", "displayName": "MS8607", "name": "ms8607", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/4716-01.jpg", "productUrl": "https://www.adafruit.com/product/4716", "documentationUrl": "https://learn.adafruit.com/adafruit-te-ms8607-pht-sensor", "address": "0x40", "addresses": [ "0x40", "0x76" ] }, { "id": "veml7700", "displayName": "VEML7700", "name": "veml7700", "description": "", "category": "i2c", "dataTypes": [ "light" ], "image": "https://cdn-shop.adafruit.com/640x480/4162-10.jpg", "productUrl": "https://www.adafruit.com/product/4162", "documentationUrl": "https://learn.adafruit.com/adafruit-veml7700", "address": "0x10", "addresses": [ "0x10" ] }, { "id": "bme680", "displayName": "BME680", "name": "bme680", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pressure", "altitude", "gas-resistance" ], "image": "https://cdn-shop.adafruit.com/640x480/3660-08.jpg", "productUrl": "https://www.adafruit.com/product/3660", "documentationUrl": "https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "vl53l4cx", "displayName": "VL53L4CX", "name": "vl53l4cx", "description": "Time of Flight (ToF) distance sensor with about ~1 to 6000mm range + 'multi object detection'", "category": "i2c", "dataTypes": [ { "displayName": "ToF Sensor - Object 1", "sensorType": "proximity" }, { "displayName": "ToF Sensor - Object 2", "sensorType": "raw" } ], "image": "https://cdn-shop.adafruit.com/640x480/5425-02.jpg", "productUrl": "https://www.adafruit.com/product/5425", "documentationUrl": "https://learn.adafruit.com/adafruit-vl53l4cx-time-of-flight-distance-sensor", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "vl6180x", "displayName": "VL6180X", "name": "vl6180x", "description": "Time of Flight (ToF) distance sensor with about ~5 to 200mm range", "category": "i2c", "dataTypes": [ { "displayName": "ToF Sensor", "sensorType": "proximity" }, "light" ], "image": "components/i2c/vl6180x/image.jpg", "productUrl": "https://www.adafruit.com/product/3316", "documentationUrl": "https://learn.adafruit.com/adafruit-vl6180x-time-of-flight-micro-lidar-distance-sensor-breakout", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "vcnl4020", "displayName": "VCNL4020", "name": "vcnl4020", "description": "Proximity sensor works from 0 to 200mm (about 7.5 inches) & light sensor with range of 0.26 to 16,000 lux.", "category": "i2c", "dataTypes": [ "light", "proximity" ], "image": "components/i2c/vcnl4020/image.jpg", "productUrl": "https://www.adafruit.com/product/5810", "documentationUrl": "https://learn.adafruit.com/adafruit-vcnl4020-proximity-and-light-sensor", "address": "0x13", "addresses": [ "0x13" ] }, { "id": "bme688", "displayName": "BME688", "name": "bme688", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pressure", "altitude", "gas-resistance" ], "image": "https://cdn-shop.adafruit.com/640x480/5046-05.jpg", "productUrl": "https://www.adafruit.com/product/5046", "documentationUrl": "https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "gps_sfe_ubx", "displayName": "MAX-M10S GPS/GNSS", "name": "gps_sfe_ubx", "description": "High-precision GNSS receiver with multi-constellation support and I2C interface", "category": "i2c", "dataTypes": [], "image": "components/i2c/gps_sfe_ubx/image.png", "productUrl": "https://www.sparkfun.com/sparkfun-gnss-receiver-breakout-max-m10s-qwiic.html", "documentationUrl": "https://learn.sparkfun.com/tutorials/gnss-receiver-breakout---max-m10s-qwiic-hookup-guide", "address": "0x42", "addresses": [ "0x42" ], "isGps": true, "gps": { "period": 1000 } }, { "id": "adt7410", "displayName": "ADT7410", "name": "adt7410", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit" ], "image": "https://cdn-shop.adafruit.com/640x480/4089-05.jpg", "productUrl": "https://www.adafruit.com/product/4089", "documentationUrl": "https://learn.adafruit.com/adt7410-breakout", "address": "0x48", "addresses": [ "0x48", "0x49", "0x4A", "0x4B" ] }, { "id": "sgp30", "displayName": "SGP30", "name": "sgp30", "description": "", "category": "i2c", "dataTypes": [ "eco2", "tvoc" ], "image": "https://cdn-shop.adafruit.com/640x480/3709-07.jpg", "productUrl": "https://www.adafruit.com/product/3709", "documentationUrl": "https://learn.adafruit.com/adafruit-sgp30-gas-tvoc-eco2-mox-sensor", "address": "0x58", "addresses": [ "0x58" ] }, { "id": "vcnl4040", "displayName": "VCNL4040", "name": "vcnl4040", "description": "Proximity sensor works from 0 to 200mm (about 7.5 inches) & light sensor with range of 0.0125 to 6,553.5 lux", "category": "i2c", "dataTypes": [ "light", "proximity" ], "image": "https://cdn-shop.adafruit.com/640x480/4161-06.jpg", "productUrl": "https://www.adafruit.com/product/4161", "documentationUrl": "https://learn.adafruit.com/adafruit-vcnl4040-proximity-sensor", "address": "0x60", "addresses": [ "0x60" ] }, { "id": "htu31d", "displayName": "HTU31D", "name": "htu31d", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/2857-03.jpg", "productUrl": "https://www.adafruit.com/product/2857", "documentationUrl": "https://www.adafruit.com/product/4832", "address": "0x40", "addresses": [ "0x40", "0x41" ] }, { "id": "lps33hw", "displayName": "LPS33HW", "name": "lps33hw", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "components/i2c/lps33hw/image.jpg", "productUrl": "https://www.adafruit.com/product/4414", "documentationUrl": "https://learn.adafruit.com/lps35hw-water-resistant-pressure-sensor", "address": "0x5D", "addresses": [ "0x5D", "0x5C" ] }, { "id": "bmp390", "displayName": "BMP390", "name": "bmp390", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ], "image": "https://cdn-shop.adafruit.com/640x480/4816-05.jpg", "productUrl": "https://www.adafruit.com/product/4816", "documentationUrl": "https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "sht20", "displayName": "SHT20", "name": "sht20", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "components/i2c/sht20/image.jpg", "productUrl": "https://www.digikey.com/en/products/detail/dfrobot/SEN0227/7897986", "documentationUrl": "https://sensirion.com/media/documents/CCDE1377/635000A2/Sensirion_Datasheet_Humidity_Sensor_SHT20.pdf", "address": "0x40", "addresses": [ "0x40" ] }, { "id": "dps310", "displayName": "DPS310", "name": "dps310", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/4494-05.jpg", "productUrl": "https://www.adafruit.com/product/4494", "documentationUrl": "https://learn.adafruit.com/adafruit-dps310-precision-barometric-pressure-sensor", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "scd40", "displayName": "SCD40/SCD41", "name": "scd40", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "co2" ], "image": "https://cdn-shop.adafruit.com/640x480/5187-08.jpg", "productUrl": "https://www.adafruit.com/product/5187", "documentationUrl": "https://learn.adafruit.com/adafruit-scd-40-and-scd-41", "address": "0x62", "addresses": [ "0x62" ] }, { "id": "bmp388", "displayName": "BMP388", "name": "bmp388", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure", "altitude" ], "image": "https://cdn-shop.adafruit.com/640x480/3966-10.jpg", "productUrl": "https://www.adafruit.com/product/3966", "documentationUrl": "https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "hdc302x", "displayName": "HDC302x", "name": "hdc302x", "description": "Precision temperature (±0.1°C typical) and humidity sensors (±0.5% typ). HDC3020 / HDC3021 / HDC3022", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5989-07.jpg", "productUrl": "https://www.adafruit.com/product/5989", "documentationUrl": "https://learn.adafruit.com/adafruit-hdc3021-precision-temperature-humidity-sensor/overview", "address": "0x44", "addresses": [ "0x44", "0x45", "0x46", "0x47" ] }, { "id": "vl53l0x", "displayName": "VL53L0X", "name": "vl53l0x", "description": "Time of Flight (ToF) distance sensor with about ~50 to 1200mm range", "category": "i2c", "dataTypes": [ { "displayName": "ToF Sensor", "sensorType": "proximity" } ], "image": "components/i2c/vl53l0x/image.jpg", "productUrl": "https://www.adafruit.com/product/3317", "documentationUrl": "https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "sen5x", "displayName": "SEN5x", "name": "sen5x", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pm10-std", "pm25-std", "pm100-std", "voc-index", "nox-index" ], "image": "components/i2c/sen5x/image.png", "productUrl": "https://www.digikey.com/en/products/filter/gas-sensors/530?s=N4IgjCBcoLQCxVAYygMwIYBsDOBTANCAPZQDa4ADFRQgLoC%2BjQA", "documentationUrl": "https://sensirion.com/media/documents/6791EFA0/62A1F68F/Sensirion_Datasheet_Environmental_Node_SEN5x.pdf", "address": "0x69", "addresses": [ "0x69" ] }, { "id": "bme280", "displayName": "BME280", "name": "bme280", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity", "pressure", "altitude" ], "image": "https://cdn-shop.adafruit.com/640x480/2652-04.jpg", "productUrl": "https://www.adafruit.com/product/2652", "documentationUrl": "https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout", "address": "0x77", "addresses": [ "0x77", "0x76" ] }, { "id": "lps22hb", "displayName": "LPS22HB", "name": "lps22hb", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/4633-09.jpg", "productUrl": "https://www.adafruit.com/product/4633", "documentationUrl": "https://learn.adafruit.com/adafruit-lps25-pressure-sensor", "address": "0x5D", "addresses": [ "0x5D", "0x5C" ] }, { "id": "max17048", "displayName": "MAX17048/MAX17049", "name": "max17048", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Battery Cell Voltage", "sensorType": "voltage" }, { "displayName": "Battery Cell Percent", "sensorType": "unitless-percent" } ], "image": "https://cdn-shop.adafruit.com/640x480/5580-06.jpg", "productUrl": "https://www.adafruit.com/product/5580", "documentationUrl": "https://learn.adafruit.com/adafruit-max17048-lipoly-liion-fuel-gauge-and-battery-monitor", "address": "0x36", "addresses": [ "0x36" ] }, { "id": "ina260", "displayName": "INA260", "name": "ina260", "description": "", "category": "i2c", "dataTypes": [ "voltage", "current" ], "image": "https://cdn-shop.adafruit.com/640x480/4226-12.jpg", "productUrl": "https://www.adafruit.com/product/4226", "documentationUrl": "https://learn.adafruit.com/adafruit-ina260-current-voltage-power-sensor-breakout", "address": "0x40", "addresses": [ "0x40", "0x41", "0x44", "0x45" ] }, { "id": "am2315c", "displayName": "AM2315C", "name": "am2315c", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5182-05.jpg", "productUrl": "https://www.adafruit.com/product/5182", "documentationUrl": "https://cdn-shop.adafruit.com/product-files/5182/5182_AM2315C.pdf", "address": "0x38", "addresses": [ "0x38" ] }, { "id": "gps_pa1010d", "displayName": "Mini GPS PA1010D", "name": "gps_pa1010d", "description": "", "category": "i2c", "dataTypes": [], "image": "components/i2c/gps_pa1010d/image.png", "productUrl": "https://www.adafruit.com/product/4415", "documentationUrl": "https://learn.adafruit.com/adafruit-mini-gps-pa1010d-module", "address": "0x10", "addresses": [ "0x10" ], "isGps": true, "gps": { "period": 30000 } }, { "id": "rotary_encoder", "displayName": "STEMMA QT Rotary Encoder", "name": "rotary_encoder", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Rotary Encoder Value", "sensorType": "raw" } ], "image": "components/i2c/rotary_encoder/image.jpeg", "productUrl": "https://www.adafruit.com/product/4991", "documentationUrl": "https://learn.adafruit.com/adafruit-i2c-qt-rotary-encoder", "address": "0x36", "addresses": [ "0x36", "0x37", "0x38", "0x39", "0x3A", "0x3B", "0x3C", "0x3D" ] }, { "id": "ltr329", "displayName": "LTR-329", "name": "ltr329", "description": "", "category": "i2c", "dataTypes": [ { "displayName": "Ambient Light", "sensorType": "light" }, { "displayName": "Infrared", "sensorType": "raw" } ], "image": "components/i2c/ltr329/image.jpg", "productUrl": "https://www.adafruit.com/product/5591", "documentationUrl": "https://learn.adafruit.com/adafruit-ltr-329-ltr-303", "address": "0x29", "addresses": [ "0x29" ] }, { "id": "sht45", "displayName": "SHT45", "name": "sht45", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5665-00.jpg", "productUrl": "https://www.adafruit.com/product/5665", "documentationUrl": "https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor", "address": "0x44", "addresses": [ "0x44" ] }, { "id": "mpl115a2", "displayName": "MPL115A2", "name": "mpl115a2", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/992-06.jpg", "productUrl": "https://www.adafruit.com/product/992", "documentationUrl": "https://cdn-shop.adafruit.com/datasheets/MPL115A2.pdf", "address": "0x60", "addresses": [ "0x60" ] }, { "id": "pmsa003i", "displayName": "PMSA003I", "name": "pmsa003i", "description": "", "category": "i2c", "dataTypes": [ "pm10-std", "pm25-std", "pm100-std" ], "image": "https://cdn-shop.adafruit.com/640x480/4632-10.jpg", "productUrl": "https://www.adafruit.com/product/4632", "documentationUrl": "https://learn.adafruit.com/pmsa003i", "address": "0x12", "addresses": [ "0x12" ] }, { "id": "mprls", "displayName": "MPRLS", "name": "mprls", "description": "", "category": "i2c", "dataTypes": [ "pressure" ], "image": "https://cdn-shop.adafruit.com/640x480/3965-04.jpg", "productUrl": "https://www.adafruit.com/product/3965", "documentationUrl": "https://learn.adafruit.com/adafruit-mprls-ported-pressure-sensor-breakout", "address": "0x18", "addresses": [ "0x18" ] }, { "id": "sht30_shell", "displayName": "Enclosed SHT30", "name": "sht30_shell", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/5064-00.jpg", "productUrl": "https://www.adafruit.com/product/5064", "documentationUrl": "https://learn.adafruit.com/adafruit-sht31-d-temperature-and-humidity-sensor-breakout", "address": "0x44", "addresses": [ "0x44" ] }, { "id": "sht3x", "displayName": "SHT3X", "name": "sht3x", "description": "", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/2857-03.jpg", "productUrl": "https://www.adafruit.com/product/2857", "documentationUrl": "https://learn.adafruit.com/adafruit-sht31-d-temperature-and-humidity-sensor-breakout/overview", "address": "0x44", "addresses": [ "0x44", "0x45" ] }, { "id": "aht20", "displayName": "AHT20", "name": "aht20", "description": "Inexpensive temperature and humidity sensor for I2C-capable boards.", "category": "i2c", "dataTypes": [ "ambient-temp", "ambient-temp-fahrenheit", "relative-humidity" ], "image": "https://cdn-shop.adafruit.com/640x480/4566-04.jpg", "productUrl": "https://www.adafruit.com/product/4566", "documentationUrl": "https://learn.adafruit.com/adafruit-aht20", "address": "0x38", "addresses": [ "0x38" ] }, { "id": "ina237", "displayName": "INA237", "name": "ina237", "description": "85V, 16-bit, good-precision power monitor (up to 10A, 0.3% gain error)", "category": "i2c", "dataTypes": [ "voltage", "current" ], "image": "https://cdn-shop.adafruit.com/640x480/6340-02.jpg", "productUrl": "https://www.adafruit.com/product/6340", "documentationUrl": "https://learn.adafruit.com/adafruit-ina237-dc-current-voltage-power-monitor", "address": "0x40", "addresses": [ "0x40", "0x41", "0x44", "0x45" ] }, { "id": "d6t1a", "displayName": "D6T-1A Thermal Sensor", "name": "d6t1a", "description": "Non-contact MEMS thermal infrared sensor for precise temperature detection (D6T-1A-01/D6T-1A-02)", "category": "i2c", "dataTypes": [ { "displayName": "Ambient Temperature (°C)", "sensorType": "ambient-temp" }, { "displayName": "Ambient Temperature (°F)", "sensorType": "ambient-temp-fahrenheit" }, { "displayName": "Measured Object Temp (°C)", "sensorType": "object-temp" }, { "displayName": "Measured Object Temp (°F)", "sensorType": "object-temp-fahrenheit" } ], "image": "components/i2c/d6t1a/image.jpg", "productUrl": "https://www.digikey.com/en/products/detail/omron-electronics-inc-emc-div/D6T-1A-02/8602566", "documentationUrl": "https://omronfs.omron.com/en_US/ecb/products/pdf/en_D6T_users_manual.pdf", "address": "0x0A", "addresses": [ "0x0A" ] } ], "pixel": [ { "id": "neorgb", "displayName": "NeoRGB Stemma", "name": "neorgb", "description": "Speak NeoPixel to your RGB strips! Treat PWM-able common-anode LEDs as a NeoPixel [16V/3A/channel]", "category": "pixel", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/5888-10.jpg", "productUrl": "https://www.adafruit.com/product/5888", "documentationUrl": "https://learn.adafruit.com/adafruit-neorgb-stemma" }, { "id": "dotstar", "displayName": "DotStar", "name": "dotstar", "description": "", "category": "pixel", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/2343-03.jpg", "productUrl": "https://www.adafruit.com/product/2343", "documentationUrl": "https://learn.adafruit.com/adafruit-dotstar-leds" }, { "id": "neopixel", "displayName": "NeoPixel", "name": "neopixel", "description": "", "category": "pixel", "dataTypes": [], "image": "components/pixel/neopixel/image.jpg", "productUrl": "http://www.adafruit.com/category/168", "documentationUrl": "https://learn.adafruit.com/adafruit-neopixel-uberguide" } ], "pwm": [ { "id": "piezo_buzzer", "displayName": "Piezo Buzzer", "name": "piezo_buzzer", "description": "", "category": "pwm", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/160-01.jpg", "productUrl": "https://www.adafruit.com/product/160", "documentationUrl": "https://learn.adafruit.com/using-piezo-buzzers-with-wippersnapper" }, { "id": "pwm_output", "displayName": "PWM Output", "name": "pwm_output", "description": "A Pulse-Width-Modulated component with fixed frequency. Duty cycle can be set from 0-255", "category": "pwm", "dataTypes": [], "image": "components/pwm/pwm_output/image.png", "productUrl": "https://www.adafruit.com/product/301", "documentationUrl": "https://learn.adafruit.com/improve-brushed-dc-motor-performance/pwm-and-brushed-dc-motors" }, { "id": "rgb_led", "displayName": "RGB LED", "name": "rgb_led", "description": "", "category": "pwm", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/302-00.jpg", "productUrl": "https://www.adafruit.com/product/302", "documentationUrl": "https://learn.adafruit.com/adafruit-arduino-lesson-3-rgb-leds/overview" }, { "id": "dimmable_led", "displayName": "Dimmable LED", "name": "dimmable_led", "description": "", "category": "pwm", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/301-00.jpg", "productUrl": "https://www.adafruit.com/product/301", "documentationUrl": "https://learn.adafruit.com/all-about-leds" } ], "pin": [ { "id": "reed_switch", "displayName": "Reed Switch", "name": "reed_switch", "description": "A Magnetic Contact Switch (Door/Window Sensor), with Normally Open (NO) or Closed (NC) contacts", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/375-01.jpg", "productUrl": "https://www.adafruit.com/product/375", "documentationUrl": "https://learn.adafruit.com/no-code-iot-door-alarm-with-wippersnapper", "componentAPI": "digitalio" }, { "id": "potentiometer", "displayName": "Potentiometer", "name": "potentiometer", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/356-03.jpg", "productUrl": "https://www.adafruit.com/product/356", "documentationUrl": "https://learn.adafruit.com/make-it-change-potentiometers", "componentAPI": "analogio" }, { "id": "beam_break_sensor", "displayName": "Beam Sensor", "name": "beam_break_sensor", "description": "Break beam sensor for detecting interruption of an invisible infrared light beam between emitter and receiver", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/2168-04.jpg", "productUrl": "https://www.adafruit.com/product/2168", "documentationUrl": "https://learn.adafruit.com/ir-breakbeam-sensors", "componentAPI": "digitalio" }, { "id": "tctr1000", "displayName": "TCTR1000 Stemma Breakout", "name": "tctr1000", "description": "Optical reflective sensor with digital output, 1-30mm range, and adjustable LED emitter brightness", "category": "pin", "dataTypes": [], "image": "components/pin/tctr1000/image.jpg", "productUrl": "https://www.adafruit.com/product/5913", "documentationUrl": "https://learn.adafruit.com/adafruit-stemma-reflective-photo-interrupt-sensor", "componentAPI": "digitalio" }, { "id": "push_button", "displayName": "Push Button", "name": "push_button", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/367-01.jpg", "productUrl": "https://www.adafruit.com/product/367", "documentationUrl": "https://learn.adafruit.com/adafruit-arduino-lesson-6-digital-inputs?view=all", "componentAPI": "digitalio" }, { "id": "light_sensor", "displayName": "Light Sensor", "name": "light_sensor", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/161-00.jpg", "productUrl": "https://www.adafruit.com/product/161", "documentationUrl": "https://learn.adafruit.com/photocells", "componentAPI": "analogio" }, { "id": "etape_liquid_level_sensor", "displayName": "Liquid Level Sensor", "name": "etape_liquid_level_sensor", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/2656-03.jpg", "productUrl": "https://www.adafruit.com/product/2656", "documentationUrl": "https://cdn-shop.adafruit.com/product-files/2656/Standard_eTape_Datasheet.pdf", "componentAPI": "analogio" }, { "id": "pir_sensor", "displayName": "PIR Sensor", "name": "pir_sensor", "description": "Passive Infra-Red (PIR) motion sensor for detecting presence and movement through infrared thermal changes", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/189-00.jpg", "productUrl": "https://www.adafruit.com/product/189", "documentationUrl": "https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/overview", "componentAPI": "digitalio" }, { "id": "toggle_switch", "displayName": "Toggle Switch", "name": "toggle_switch", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/3221-01.jpg", "productUrl": "https://www.adafruit.com/product/3221", "documentationUrl": "https://learn.adafruit.com/make-it-switch", "componentAPI": "digitalio" }, { "id": "simple_soil_sensor", "displayName": "Simple Soil Sensor", "name": "simple_soil_sensor", "description": "Resistive style soil moisture sensor, measuring the conductivity between the two prongs (Analog signal)", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/6362-00.jpg", "productUrl": "https://www.adafruit.com/product/6362", "componentAPI": "analogio" }, { "id": "hall_effect_sensor", "displayName": "Hall Effect Sensor", "name": "hall_effect_sensor", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/158-00.jpg", "productUrl": "https://www.adafruit.com/product/158", "documentationUrl": "https://www.melexis.com/en/product/us5881/unipolar-hall-effect-switch-low-sensitivity", "componentAPI": "digitalio" }, { "id": "flat_vibration_switch", "displayName": "Flat Vibration Switch", "name": "flat_vibration_switch", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/640x480/4081-00.jpg", "productUrl": "https://www.adafruit.com/product/4081", "componentAPI": "digitalio" }, { "id": "water_sensor", "displayName": "Water Sensor", "name": "water_sensor", "description": "", "category": "pin", "dataTypes": [], "image": "https://cdn-shop.adafruit.com/product-videos/640x480/4965-03.jpg", "productUrl": "https://www.adafruit.com/product/4965", "documentationUrl": "https://cdn-shop.adafruit.com/product-files/4965/Datasheet.pdf", "componentAPI": "digitalio" }, { "id": "analog_pin", "displayName": "Analog Pin", "name": "analog_pin", "description": "", "category": "pin", "dataTypes": [], "image": "components/pin/analog_pin/image.png", "componentAPI": "analogio" } ], "i2c_output_metadata": { "title": "I2C Output Component Definition", "description": "I2C Output component for use in Adafruit IO", "required": [ "displayName", "vendor", "outputType", "i2cAddresses" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If True, this component is supported by the current firmware version and will be displayed to all users. Otherwise, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "i2cAddresses": { "description": "List of supported I2C addresses for this component.", "type": "array", "items": { "type": "string", "pattern": "^0x[0-9A-Fa-f]{2}$" } }, "outputType": { "description": "The type of i2c output component. Corresponds to `I2cOutputAdd` in i2c.proto", "type": "string", "pattern": "^(CHARLCD|7SEG|ALPHANUM|OLED)$" }, "charLcdColumns": { "description": "The number of columns for a character LCD. Corresponds to `CharLCDConfig` in i2c.proto.", "type": "number", "minimum": 0, "maximum": 128 }, "charLcdRows": { "description": "The number of rows for a character LCD. Corresponds to `CharLCDConfig` in i2c.proto.", "type": "number", "minimum": 0, "maximum": 16 }, "ledBackpackAlignment": { "description": "The alignment for the LED backpack. Corresponds to `LedBackpackConfig` in i2c.proto. Defaults to RIGHT.", "type": "string", "pattern": "^(LEFT|RIGHT)$" }, "ledBackpackBrightness": { "description": "The brightness of a LED backpack. Corresponds to `CharLCDConfig` in i2c.proto.", "type": "number", "minimum": 0, "maximum": 15 }, "oledWidth": { "description": "The width of an OLED display, in pixels.", "type": "number", "minimum": 0, "maximum": 128 }, "oledHeight": { "description": "The height of an OLED display, in pixels.", "type": "number", "minimum": 0, "maximum": 64 }, "textSize": { "description": "The font magnification size for a OLED display. Corresponds to `SSD1306TextSize` in i2c.proto.", "type": "string", "pattern": "^(SZ_DEFAULT|SZ_LARGE)$" } } }, "uart_metadata": { "title": "UART Component Definition", "description": "A UART WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "deviceId", "baudRate", "deviceType" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 30 }, "published": { "description": "If True, this component is supported by the current firmware version and will be displayed to all users. Otherwise, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "pinTx": { "description": "The desired UART TX pin", "type": "string", "minLength": 1, "maxLength": 16 }, "pinRx": { "description": "The desired UART RX pin", "type": "string", "minLength": 1, "maxLength": 16 }, "portNumber": { "description": "The desired UART bus port number", "type": "number", "minimum": 0, "maximum": 3 }, "baudRate": { "description": "The desired UART bus baud rate, in bps.", "type": "number", "minimum": 1200, "maximum": 256000 }, "format": { "description": "The data, parity, and stop bits configuration for the serial port. Defaults to 8N1 (8 data bits, no parity, 1 stop bit).", "type": "string", "enum": [ "unspecified", "8n1", "5n1", "6n1", "7n1", "5n2", "6n2", "7n2", "8n2", "5e1", "6e1", "7e1", "8e1", "5e2", "6e2", "7e2", "8e2", "5o1", "6o1", "7o1", "8o1", "5o2", "6o2", "7o2", "8o2" ], "default": "8n1" }, "timeout": { "description": "Maximum milliseconds to wait for serial data. Defaults to 1000 ms.", "type": "number", "minimum": 0, "maximum": 65535 }, "use_sw_serial": { "description": "If True, uses software serial instead of hardware serial. Defaults to False.", "type": "boolean" }, "invert_sw_serial": { "description": "If True, inverts the UART signal on RX and TX pins. Defaults to False.", "type": "boolean" }, "deviceId": { "description": "The unique identifier string for the UART device.", "type": "string", "minLength": 3, "maxLength": 30 }, "deviceType": { "description": "The data, parity, and stop bits configuration for the serial port. Defaults to 8N1 (8 data bits, no parity, 1 stop bit).", "type": "string", "enum": [ "unspecified", "generic_input", "generic_output", "gps", "pm25aqi", "tmc22xx" ], "default": "unspecified" }, "pm25aqi": { "type": "object", "description": "Configuration for PM2.5 AQI sensors", "required": [ "period", "sensor_types" ], "properties": { "is_pm1006": { "type": "boolean", "description": "True if the device is a PM1006 AQ sensor", "default": false }, "period": { "type": "integer", "description": "The period to poll the device, in milliseconds", "minimum": 0, "maximum": 65535 }, "sensor_types": { "type": "array", "description": "SI Types for each sensor on the I2c device", "items": { "$ref": "#/$defs/subcomponent" } } }, "additionalProperties": false }, "generic_input": { "type": "object", "description": "Configuration for generic UART input devices.", "required": [ "period", "sensor_types" ], "properties": { "line_ending": { "description": "The line ending format for incoming data.", "type": "string", "enum": [ "unspecified", "lf", "crlf", "timeout_100ms", "timeout_1000ms" ], "default": "unspecified" }, "period": { "type": "integer", "description": "The period to poll the device, in milliseconds", "minimum": 0, "maximum": 65535 }, "sensor_types": { "type": "array", "description": "SI Types for each sensor on the I2c device", "items": { "$ref": "#/$defs/subcomponent" } } }, "additionalProperties": false }, "gps": { "type": "object", "description": "Configuration for GPS devices.", "required": [ "period" ], "properties": { "commands_pmtks": { "type": "array", "description": "List of PMTK commands (MediaTek) in string format", "items": { "type": "string" } }, "commands_ubxes": { "type": "array", "description": "List of UBX commands (U-Blox) in bytes format", "items": { "type": "string", "contentEncoding": "base64" } }, "period": { "type": "integer", "description": "Desired period to poll the GPS module, in milliseconds", "minimum": 0, "maximum": 65535 } }, "additionalProperties": false } } }, "ds18x20_metadata": { "title": "DS18X20 Component Definition", "description": "A DS18X20 WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "subcomponents", "sensorResolution" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 30 }, "published": { "description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "subcomponents": { "description": "The ambient temperature sensor (and its fahrenheit counterpart) standard on DS18X20 Components", "type": "array", "items": { "type": "string", "pattern": "^ambient-temp(-fahrenheit)?$" } }, "sensorResolution": { "description": "The DS18X20's desired sensor read resolution, in bits.", "type": "number", "minimum": 9, "maximum": 12 } } }, "servo_metadata": { "title": "Servo Component Definition", "description": "A servo motor WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "frequency", "minPulseWidth", "maxPulseWidth" ], "properties": { "displayName": { "description": "The human-friendly name of the servo component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "frequency": { "description": "The desired frequency of the PWM signal, in Hz.", "type": "number", "default": 50, "minimum": 40, "maximum": 200 }, "minPulseWidth": { "description": "The minimum pulse width of the servo, in uS.", "type": "number" }, "maxPulseWidth": { "description": "The maximum pulse width of the servo, in uS.", "type": "number" }, "visualization": { "description": "Specifies the servo's specific visualization.", "type": "object", "required": [ "type" ], "additionalProperties": false, "properties": { "type": { "const": "slider-servo" } } } } }, "i2c_metadata": { "title": "I2C Component Definition", "description": "An I2C-based WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "i2cAddresses" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "i2cAddresses": { "description": "List of I2C addresses (as hex string, like \"0x38\") this component can appear on.", "type": "array", "items": { "type": "string" } }, "subcomponents": { "description": "List of sensors on this I2C component.", "type": "array", "items": { "$ref": "#/$defs/subcomponent" } }, "isGps": { "description": "If true, this component is a GPS module.", "type": "boolean" }, "gps": { "type": "object", "description": "Configuration for GPS devices.", "required": [ "period" ], "properties": { "commands_pmtks": { "type": "array", "description": "List of PMTK commands (MediaTek) in string format", "items": { "type": "string" } }, "commands_ubxes": { "type": "array", "description": "List of UBX commands (U-Blox) in bytes format", "items": { "type": "string", "contentEncoding": "base64" } }, "period": { "type": "integer", "description": "Desired period to poll the GPS module, in milliseconds", "minimum": 0, "maximum": 65535 } }, "additionalProperties": false } } }, "pixel_metadata": { "title": "Pixel Component Definition", "description": "Addressable Pixel WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "pixelsType", "defaultPixelsOrder" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If True, this component is supported by the current firmware version and will be displayed to all users. Otherwise, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "pixelsType": { "description": "The type of addressable pixel: NEOPIXEL or DOTSTAR. Corresponds to `PixelsType` in pixels.proto", "type": "string", "pattern": "^(NEOPIXEL|DOTSTAR)$" }, "defaultPixelsOrder": { "description": "The pixel strand's color ordering. Corresponds to `PixelsOrder` in pixels.proto.", "type": "string", "pattern": "^(GRB|GRBW|RGB|RGBW|BRG)$" }, "autoSelectString": { "description": "A hint for automatically looking up pin names that may be appropriate for this kind of component.", "type": "string", "minLength": 3, "maxLength": 24 } } }, "pwm_metadata": { "title": "PWM Component Definition", "description": "A PWM WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "pwmSetting" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "pwmSetting": { "description": "The component's pulse-width modulation setting. Either fixed frequency (variable duty cycle) or variable frequency (fixed duty cycle)", "type": "string", "pattern": "^(fixed|variable)Frequency$" }, "visualization": { "description": "Specifies which visual component to use in the WipperSnapper interface and how to configure it", "type": "object", "discriminator": { "propertyName": "type" }, "required": [ "type" ], "oneOf": [ { "properties": { "type": { "const": "switch-pwm" }, "offLabel": { "type": "string" }, "offIcon": { "type": "string" }, "onLabel": { "type": "string" }, "onIcon": { "type": "string" } }, "additionalProperties": false }, { "properties": { "type": { "const": "button" }, "pressedLabel": { "type": "string" }, "unpressedLabel": { "type": "string" } }, "additionalProperties": false }, { "properties": { "type": { "const": "slider-pwm" } }, "additionalProperties": false }, { "properties": { "type": { "const": "color-picker" } }, "additionalProperties": false } ] } } }, "pin_metadata": { "title": "Pin Component Definition", "description": "A pin-based WipperSnapper component for use in Adafruit IO", "required": [ "displayName", "vendor", "mode", "direction" ], "properties": { "displayName": { "description": "The human-friendly name of this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "published": { "description": "If true, this component is supported by the current firmware version and will be displayed to all users. If false, it is hidden behind a developer toggle so that contributors can still work on it against the production site.", "type": "boolean" }, "description": { "description": "A brief description describing this component's capabilities.", "type": "string", "minLength": 3, "maxLength": 255 }, "productURL": { "description": "Link to this component's homepage.", "type": "string", "format": "uri" }, "documentationURL": { "description": "Link to this component's documentation.", "type": "string", "format": "uri" }, "vendor": { "description": "Name of the company that makes this component.", "type": "string", "minLength": 3, "maxLength": 24 }, "mode": { "description": "This component's mode, either DIGITAL or ANALOG.", "type": "string", "pattern": "^(DIGITAL|ANALOG)$" }, "direction": { "description": "This component's direction, either INPUT or OUTPUT.", "type": "string", "pattern": "^(INPUT|OUTPUT)$" }, "autoSelectString": { "description": "A hint for automatically looking up pin names that may be appropriate for this kind of component.", "type": "string", "minLength": 3, "maxLength": 24 }, "selectPullUp": { "description": "If true, the user will be able to select pull up or down options.", "type": "boolean" }, "pull": { "description": "This component's pull setting, either UP or DOWN.", "type": "string", "pattern": "^(UP|DOWN)$" }, "selectReadMode": { "description": "If true, the user will be able to select the read mode between pin and voltage options.", "type": "boolean" }, "analogReadMode": { "description": "For ANALOG mode components, specifies whether to read values (PIN_VALUE) or voltages (PIN_VOLTAGE). Will be a default if `selectReadMode` option is true.", "type": "string", "pattern": "^(PIN_VALUE|PIN_VOLTAGE)$" }, "defaultPeriod": { "description": "If present, the component form will allow the user to set its period, with this value as the default (in seconds)", "type": "number", "minimum": 30, "maximum": 86400 }, "forceOnPeriod": { "description": "If true, the user must specify a period (won't be optional in the form).", "type": "boolean" }, "visualization": { "description": "Specifies which visual component to use in the WipperSnapper interface and how to configure it", "type": "object", "discriminator": { "propertyName": "type" }, "required": [ "type" ], "oneOf": [ { "properties": { "type": { "const": "switch" }, "offLabel": { "type": "string" }, "offIcon": { "type": "string" }, "onLabel": { "type": "string" }, "onIcon": { "type": "string" } }, "additionalProperties": false }, { "properties": { "type": { "const": "button" }, "pressedLabel": { "type": "string" }, "unpressedLabel": { "type": "string" } }, "additionalProperties": false }, { "properties": { "type": { "const": "slider" } }, "additionalProperties": false } ] } } } } };