From c9dd1a2902b6d50258ec0ba9d945e3d6f007c82d Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Thu, 28 Aug 2025 00:19:33 +0000 Subject: [PATCH] Auto-update Wippersnapper definitions [skip ci] --- firmware-data.js | 2 +- wippersnapper_boards.js | 6832 ++++++++++++++++----------------- wippersnapper_boards.json | 6832 ++++++++++++++++----------------- wippersnapper_components.js | 4848 +++++++++++------------ wippersnapper_components.json | 4848 +++++++++++------------ 5 files changed, 11681 insertions(+), 11681 deletions(-) diff --git a/firmware-data.js b/firmware-data.js index 1c6546d..f2e9b56 100644 --- a/firmware-data.js +++ b/firmware-data.js @@ -1,4 +1,4 @@ -// Auto-generated on 2025-08-27 00:19:46 +// Auto-generated on 2025-08-28 00:19:33 const FIRMWARE_DATA = { "releaseInfo": { "version": "1.0.0-offline-beta.4", diff --git a/wippersnapper_boards.js b/wippersnapper_boards.js index 156250e..95c648c 100644 --- a/wippersnapper_boards.js +++ b/wippersnapper_boards.js @@ -1,30 +1,30 @@ window.jsonBoardObject = { "boards": { - "metro-rp2040": { - "boardName": "metro-rp2040", - "mcuName": "rp2040", - "referenceVoltage": 3.3, - "displayName": "Adafruit Metro RP2040", + "feather-esp32s2-tft": { + "boardName": "feather-esp32s2-tft", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S2 TFT Feather", "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5786", - "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2040", - "installMethod": "uf2", - "installBoardName": "metro-rp2040", + "productURL": "https://www.adafruit.com/product/5300", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2-tft", "rtc": null, - "sdCardCS": 23, + "sdCardCS": null, "pins": [ { "number": 0, "name": "D0", - "displayName": "D0 (GP0, UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" }, { "number": 1, "name": "D1", - "displayName": "D1 (GP1, UART RX)", + "displayName": "D1 (UART TX)", "hasPWM": true, "hasServo": true, "direction": "" @@ -32,7 +32,7 @@ window.jsonBoardObject = { { "number": 2, "name": "D2", - "displayName": "D2 (GP2)", + "displayName": "D2 (UART RX)", "hasPWM": true, "hasServo": true, "direction": "" @@ -40,7 +40,7 @@ window.jsonBoardObject = { { "number": 3, "name": "D3", - "displayName": "D3 (GP3)", + "displayName": "D3", "hasPWM": true, "hasServo": true, "direction": "" @@ -48,7 +48,7 @@ window.jsonBoardObject = { { "number": 4, "name": "D4", - "displayName": "D4 (GP4)", + "displayName": "D4", "hasPWM": true, "hasServo": true, "direction": "" @@ -56,7 +56,7 @@ window.jsonBoardObject = { { "number": 5, "name": "D5", - "displayName": "D5 (GP5)", + "displayName": "D5", "hasPWM": true, "hasServo": true, "direction": "" @@ -64,23 +64,7 @@ window.jsonBoardObject = { { "number": 6, "name": "D6", - "displayName": "D6 (GP6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (GP7, BOOT)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8 (GP8)", + "displayName": "D6", "hasPWM": true, "hasServo": true, "direction": "" @@ -88,7 +72,7 @@ window.jsonBoardObject = { { "number": 9, "name": "D9", - "displayName": "D9 (GP9)", + "displayName": "D9", "hasPWM": true, "hasServo": true, "direction": "" @@ -96,7 +80,7 @@ window.jsonBoardObject = { { "number": 10, "name": "D10", - "displayName": "D10 (GP10)", + "displayName": "D10", "hasPWM": true, "hasServo": true, "direction": "" @@ -104,7 +88,7 @@ window.jsonBoardObject = { { "number": 11, "name": "D11", - "displayName": "D11 (GP11)", + "displayName": "D11", "hasPWM": true, "hasServo": true, "direction": "" @@ -112,7 +96,7 @@ window.jsonBoardObject = { { "number": 12, "name": "D12", - "displayName": "D12 (GP12)", + "displayName": "D12", "hasPWM": true, "hasServo": true, "direction": "" @@ -120,258 +104,82 @@ window.jsonBoardObject = { { "number": 13, "name": "D13", - "displayName": "D13 (GP13, LED)", + "displayName": "D13 (LED)", "hasPWM": true, - "hasServo": true, + "hasServo": false, "direction": "" }, { - "number": 20, - "name": "D20", - "displayName": "D20 (GP20, SDA)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (GP21, SCL)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "D24 (GP24)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "D25 (GP25, NeoPixel)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "D28 (GP28, SPI MISO)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 30, - "name": "D30", - "displayName": "D30 (GP30, SPI SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 31, - "name": "D31", - "displayName": "D31 (GP31, SPI MOSI)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "D23 (GP23, SD Card CS)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP26)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP27)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP29)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP26)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP27)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP28)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP29)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 21, - "SDA": 20 - }, - "image": "https://cdn-shop.adafruit.com/640x480/5786-00.jpg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 20, - "SCL": 21 - } - ], - "totalGPIOPins": 25 - }, - "qtpy-esp32s3-n4r2": { - "boardName": "qtpy-esp32s3-n4r2", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py S3 (2MB PSRAM)", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5700", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", - "installMethod": "web-native-usb", - "installBoardName": "qtpy-esp32s3-n4r2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "A3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", "hasPWM": false, "hasServo": false, - "direction": "INPUT" + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" }, { "number": 39, "name": "D39", - "displayName": "D39 (NeoPixel)", + "displayName": "D39 (UART TX)", "hasPWM": false, "hasServo": false, "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true } ], "analogPins": [ @@ -387,546 +195,46 @@ window.jsonBoardObject = { "displayName": "A1", "direction": "" }, - { - "number": 9, - "name": "A9", - "displayName": "A2", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, { "number": 16, "name": "A16", - "displayName": "A16 (UART RX)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 40, - "SDA": 41 - }, - "image": "boards/qtpy-esp32s3-n4r2/image.svg", - "totalAnalogPins": 8, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 41, - "SCL": 40 - } - ], - "totalGPIOPins": 13 - }, - "rpi-pico-w": { - "boardName": "rpi-pico-w", - "mcuName": "rp2040", - "referenceVoltage": 3.3, - "displayName": "Raspberry Pi Pico W", - "vendor": "Raspberry Pi", - "productURL": "https://www.adafruit.com/product/5526", - "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/", - "installMethod": "uf2", - "installBoardName": "picow_rp2040_tinyusb", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "GP0 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "GP1 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "GP2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "GP3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "GP4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "GP5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "GP6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "GP7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "GP8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "GP9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "GP10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "GP11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "GP12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "GP13", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "GP14", - "hasPWM": true, - "hasServo": true, + "displayName": "A2", "direction": "" }, { "number": 15, - "name": "D15", - "displayName": "GP15", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "GP16", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "GP17", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "GP18", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "GP19", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "GP20", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "GP21", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "GP22", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "GP23", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "GP24", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "GP25", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "D26", - "displayName": "GP26", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 27, - "name": "D27", - "displayName": "GP27", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "GP28", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 29, - "name": "D29", - "displayName": "GP29", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 64, - "name": "D64", - "displayName": "LED (BUILT-IN)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP0)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP1)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP2)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP3)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 5, - "SDA": 4 - }, - "image": "boards/rpi-pico-w/image.png", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 4, - "SCL": 5 - } - ], - "totalGPIOPins": 31 - }, - "qtpy-esp32s3": { - "boardName": "qtpy-esp32s3", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py ESP32-S3 (NO PSRAM)", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5426", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", - "installMethod": "uf2", - "installBoardName": "qtpy-esp32s3", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", + "name": "A15", "displayName": "A3", - "hasPWM": true, - "hasServo": true, "direction": "" }, { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A2", + "number": 14, + "name": "A14", + "displayName": "A4", "direction": "" }, { "number": 8, "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A16 (UART RX)", + "displayName": "A5", "direction": "" } ], "defaultI2C": { "i2cPortId": 0, - "SCL": 40, - "SDA": 41 + "SCL": 41, + "SDA": 42 }, - "image": "boards/qtpy-esp32s3/image.svg", - "totalAnalogPins": 8, + "image": "boards/feather-esp32s2-tft/image.svg", + "totalAnalogPins": 6, "i2cPorts": [ { "i2cPortId": 0, - "SDA": 41, - "SCL": 40 + "SDA": 42, + "SCL": 41 } ], - "totalGPIOPins": 13 + "totalGPIOPins": 21 }, "feather-rp2040-adalogger": { "boardName": "feather-rp2040-adalogger", @@ -1232,6 +540,890 @@ window.jsonBoardObject = { ], "totalGPIOPins": 31 }, + "funhouse": { + "boardName": "funhouse", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit Funhouse ESP32-S2", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/4985", + "documentationURL": "https://learn.adafruit.com/adafruit-funhouse", + "installMethod": "web-native-usb", + "installBoardName": "funhouse_noota", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 5, + "name": "D5", + "displayName": "Button Up", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "Button Down", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "Button Select", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "D17 (A0)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (A1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (A2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14 (DotStar Data)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "D15 (DotStar Clock)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "PIR Sensor", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 42, + "name": "D42", + "displayName": "Speaker/Piezo", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D44 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D43 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "Light Sensor", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 17, + "name": "A17", + "displayName": "A0", + "direction": "" + }, + { + "number": 2, + "name": "A2", + "displayName": "A1", + "direction": "" + }, + { + "number": 1, + "name": "A1", + "displayName": "A2", + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "Light Sensor", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 33, + "SDA": 34 + }, + "image": "boards/funhouse/image.svg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 34, + "SCL": 33 + } + ], + "totalGPIOPins": 21 + }, + "metro-rp2350": { + "boardName": "metro-rp2350", + "mcuName": "rp2350", + "referenceVoltage": 3.3, + "displayName": "Adafruit Metro RP2350", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/6003", + "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2350", + "installMethod": "uf2", + "installBoardName": "metro_rp2350_tinyusb", + "rtc": null, + "sdCardCS": 34, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (GP0, UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (GP1, UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (GP2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3 (GP3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4 (GP4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (GP5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6 (GP6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (GP7)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8 (GP8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9 (GP9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10 (GP10)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11 (GP11)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12 (GP12)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (GP13)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14 (GP14)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "D15 (GP15)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (GP16)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "D17 (GP17)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "D18 (GP18)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "D19 (GP19)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "D20 (GP20, SDA)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (GP21, SCL)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "D22 (GP22, SPI0 SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "D23 (GP23, RED LED)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "D24 (GP24, BOOT)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "D25 (GP25, NeoPixel)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "D28 (GP28, SPI MISO)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 30, + "name": "D30", + "displayName": "D30 (GP30, SPI SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 31, + "name": "D31", + "displayName": "D31 (GP31, SPI MOSI)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 34, + "name": "D34", + "displayName": "D34 (GP34, SD Card CS)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 41, + "name": "A41", + "displayName": "A0 (GP41)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 42, + "name": "A42", + "displayName": "A1 (GP42)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 43, + "name": "A43", + "displayName": "A2 (GP43)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 44, + "name": "A44", + "displayName": "A3 (GP44)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 45, + "name": "A45", + "displayName": "A4 (GP45)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 46, + "name": "A46", + "displayName": "A5 (GP46)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 41, + "name": "A41", + "displayName": "A0 (GP41)", + "direction": "" + }, + { + "number": 42, + "name": "A42", + "displayName": "A1 (GP42)", + "direction": "" + }, + { + "number": 43, + "name": "A43", + "displayName": "A2 (GP43)", + "direction": "" + }, + { + "number": 44, + "name": "A44", + "displayName": "A3 (GP44)", + "direction": "" + }, + { + "number": 45, + "name": "A45", + "displayName": "A4 (GP45)", + "direction": "" + }, + { + "number": 46, + "name": "A46", + "displayName": "A5 (GP46)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 21, + "SDA": 20 + }, + "image": "https://cdn-shop.adafruit.com/640x480/6003-06.jpg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 20, + "SCL": 21 + } + ], + "totalGPIOPins": 36 + }, + "rpi-pico-w": { + "boardName": "rpi-pico-w", + "mcuName": "rp2040", + "referenceVoltage": 3.3, + "displayName": "Raspberry Pi Pico W", + "vendor": "Raspberry Pi", + "productURL": "https://www.adafruit.com/product/5526", + "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/", + "installMethod": "uf2", + "installBoardName": "picow_rp2040_tinyusb", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "GP0 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "GP1 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "GP2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "GP3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "GP4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "GP5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "GP6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "GP7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "GP8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "GP9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "GP10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "GP11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "GP12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "GP13", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "GP14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "GP15", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "GP16", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "GP17", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "GP18", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "GP19", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "GP20", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "GP21", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "GP22", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "GP23", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "GP24", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "GP25", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "D26", + "displayName": "GP26", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 27, + "name": "D27", + "displayName": "GP27", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "GP28", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 29, + "name": "D29", + "displayName": "GP29", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 64, + "name": "D64", + "displayName": "LED (BUILT-IN)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP0)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP1)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP2)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP3)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 5, + "SDA": 4 + }, + "image": "boards/rpi-pico-w/image.png", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 4, + "SCL": 5 + } + ], + "totalGPIOPins": 31 + }, "feather-esp32s3": { "boardName": "feather-esp32s3", "mcuName": "esp32s3", @@ -1476,478 +1668,6 @@ window.jsonBoardObject = { ], "totalGPIOPins": 22 }, - "feather-esp32s2": { - "boardName": "feather-esp32s2", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S2 Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5000", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (I2C Power)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s2/image.png", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 22 - }, - "feather-esp32s2-reverse-tft": { - "boardName": "feather-esp32s2-reverse-tft", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "ESP32-S2 Reverse TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5345", - "documentationURL": "https://learn.adafruit.com/esp32-s2-reverse-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2-reverse-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (NeoPixel Power Pin)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s2-reverse-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 20 - }, "metroesp32s2": { "boardName": "metroesp32s2", "mcuName": "esp32s2", @@ -2598,6 +2318,1660 @@ window.jsonBoardObject = { ], "totalGPIOPins": 27 }, + "feather-esp32s3-reverse-tft": { + "boardName": "feather-esp32s3-reverse-tft", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "ESP32-S3 Reverse TFT Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5691", + "documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s3-reverse-tft", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s3-reverse-tft/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 19 + }, + "feather-esp32s2-reverse-tft": { + "boardName": "feather-esp32s2-reverse-tft", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "ESP32-S2 Reverse TFT Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5345", + "documentationURL": "https://learn.adafruit.com/esp32-s2-reverse-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2-reverse-tft", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (NeoPixel Power Pin)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s2-reverse-tft/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 20 + }, + "feather-esp32s3-4mbflash-2mbpsram": { + "boardName": "feather-esp32s3-4mbflash-2mbpsram", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S3 Feather with 4MB Flash 2MB PSRAM", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5477", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s3-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s3-4mbflash-2mbpsram", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s3-4mbflash-2mbpsram/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 22 + }, + "rpi-pico-2w": { + "boardName": "rpi-pico-2w", + "mcuName": "rp2350", + "referenceVoltage": 3.3, + "displayName": "Raspberry Pi Pico 2W", + "vendor": "Raspberry Pi", + "productURL": "https://www.adafruit.com/product/6087", + "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/overview", + "installMethod": "uf2", + "installBoardName": "picow_rp2350_tinyusb", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "GP0 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "GP1 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "GP2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "GP3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "GP4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "GP5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "GP6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "GP7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "GP8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "GP9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "GP10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "GP11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "GP12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "GP13", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "GP14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "GP15", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "GP16", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "GP17", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "GP18", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "GP19", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "GP20", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "GP21", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "GP22", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "GP23", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "GP24", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "GP25", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "D26", + "displayName": "GP26", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 27, + "name": "D27", + "displayName": "GP27", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "GP28", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 29, + "name": "D29", + "displayName": "GP29", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 64, + "name": "D64", + "displayName": "LED (BUILT-IN)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP0)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP1)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP2)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP3)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 5, + "SDA": 4 + }, + "image": "boards/rpi-pico-2w/image.jpg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 4, + "SCL": 5 + } + ], + "totalGPIOPins": 31 + }, + "qtpy-esp32s3-n4r2": { + "boardName": "qtpy-esp32s3-n4r2", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py S3 (2MB PSRAM)", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5700", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", + "installMethod": "web-native-usb", + "installBoardName": "qtpy-esp32s3-n4r2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s3-n4r2/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, + "metro-rp2040": { + "boardName": "metro-rp2040", + "mcuName": "rp2040", + "referenceVoltage": 3.3, + "displayName": "Adafruit Metro RP2040", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5786", + "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2040", + "installMethod": "uf2", + "installBoardName": "metro-rp2040", + "rtc": null, + "sdCardCS": 23, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (GP0, UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (GP1, UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (GP2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3 (GP3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4 (GP4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (GP5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6 (GP6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (GP7, BOOT)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8 (GP8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9 (GP9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10 (GP10)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11 (GP11)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12 (GP12)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (GP13, LED)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "D20 (GP20, SDA)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (GP21, SCL)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "D24 (GP24)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "D25 (GP25, NeoPixel)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "D28 (GP28, SPI MISO)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 30, + "name": "D30", + "displayName": "D30 (GP30, SPI SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 31, + "name": "D31", + "displayName": "D31 (GP31, SPI MOSI)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "D23 (GP23, SD Card CS)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP26)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP27)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP29)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP26)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP27)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP28)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP29)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 21, + "SDA": 20 + }, + "image": "https://cdn-shop.adafruit.com/640x480/5786-00.jpg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 20, + "SCL": 21 + } + ], + "totalGPIOPins": 25 + }, + "xiao-esp32s3": { + "boardName": "xiao-esp32s3", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Xiao ESP32-S3 (or Sense/Plus)", + "vendor": "Seeed Studio", + "productURL": "https://www.digikey.com/short/fbbqfjz5", + "documentationURL": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", + "installMethod": "web-native-usb", + "installBoardName": "xiao-esp32s3", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 1, + "name": "D1", + "displayName": "D0/A0 (GPIO1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D1/A1 (GPIO2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D2/A2 (GPIO3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D3/A3 (GPIO4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D4/A4 (SDA - GPIO5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D5/A5 (SCL - GPIO6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D6 (UART TX - GPIO43)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D7 (UART RX - GPIO44)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D8/A8 (SCK - GPIO7)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D9/A9 (MISO - GPIO8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D10/A10 (MOSI - GPIO9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 42, + "name": "D42", + "displayName": "D11/A11 (Cam Brd - GPIO42)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D12/A12 (Cam Brd - GPIO13)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 21, + "name": "D21", + "displayName": "GPIO21 SD CS", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 1, + "name": "A1", + "displayName": "A0/D0 (GPIO1)", + "direction": "" + }, + { + "number": 2, + "name": "A2", + "displayName": "A1/D1 (GPIO2)", + "direction": "" + }, + { + "number": 3, + "name": "A3", + "displayName": "A2/D2 (GPIO3)", + "direction": "" + }, + { + "number": 4, + "name": "A4", + "displayName": "A3/D3 (GPIO4)", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A4/D4 (SDA - GPIO5)", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "A5/D5 (SCL - GPIO6)", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "A8/D8 (SCK - GPIO7)", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A9/D9 (MISO - GPIO8)", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A10/D10 (MOSI - GPIO9)", + "direction": "" + }, + { + "number": 42, + "name": "A42", + "displayName": "A11/D11 (Cam Brd - GPIO42)", + "direction": "" + }, + { + "number": 13, + "name": "A13", + "displayName": "D12/A12 (Cam Brd - GPIO13)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 6, + "SDA": 5 + }, + "image": "boards/xiao-esp32s3/image.png", + "totalAnalogPins": 11, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 5, + "SCL": 6 + } + ], + "totalGPIOPins": 15 + }, "esp32s3-devkitc-1-n8": { "boardName": "esp32s3-devkitc-1-n8", "mcuName": "esp32s3", @@ -3038,2158 +4412,6 @@ window.jsonBoardObject = { ], "totalGPIOPins": 36 }, - "qtpy-esp32s2": { - "boardName": "qtpy-esp32s2", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py ESP32-S2", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5325", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s2", - "installMethod": "web-native-usb", - "installBoardName": "qtpy-esp32s2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "A3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A2", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A16 (UART RX)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 40, - "SDA": 41 - }, - "image": "boards/qtpy-esp32s2/image.svg", - "totalAnalogPins": 8, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 41, - "SCL": 40 - } - ], - "totalGPIOPins": 13 - }, - "funhouse": { - "boardName": "funhouse", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit Funhouse ESP32-S2", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/4985", - "documentationURL": "https://learn.adafruit.com/adafruit-funhouse", - "installMethod": "web-native-usb", - "installBoardName": "funhouse_noota", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 5, - "name": "D5", - "displayName": "Button Up", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "Button Down", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "Button Select", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "D17 (A0)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (A1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (A2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14 (DotStar Data)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "D15 (DotStar Clock)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "PIR Sensor", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 42, - "name": "D42", - "displayName": "Speaker/Piezo", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D44 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D43 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "Light Sensor", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 17, - "name": "A17", - "displayName": "A0", - "direction": "" - }, - { - "number": 2, - "name": "A2", - "displayName": "A1", - "direction": "" - }, - { - "number": 1, - "name": "A1", - "displayName": "A2", - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "Light Sensor", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 33, - "SDA": 34 - }, - "image": "boards/funhouse/image.svg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 34, - "SCL": 33 - } - ], - "totalGPIOPins": 21 - }, - "feather-esp32s2-tft": { - "boardName": "feather-esp32s2-tft", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S2 TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5300", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 41, - "SDA": 42 - }, - "image": "boards/feather-esp32s2-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 42, - "SCL": 41 - } - ], - "totalGPIOPins": 21 - }, - "feather-esp32s3-reverse-tft": { - "boardName": "feather-esp32s3-reverse-tft", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "ESP32-S3 Reverse TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5691", - "documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s3-reverse-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s3-reverse-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 19 - }, - "feather-esp32s3-4mbflash-2mbpsram": { - "boardName": "feather-esp32s3-4mbflash-2mbpsram", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S3 Feather with 4MB Flash 2MB PSRAM", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5477", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s3-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s3-4mbflash-2mbpsram", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s3-4mbflash-2mbpsram/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 22 - }, - "metro-rp2350": { - "boardName": "metro-rp2350", - "mcuName": "rp2350", - "referenceVoltage": 3.3, - "displayName": "Adafruit Metro RP2350", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/6003", - "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2350", - "installMethod": "uf2", - "installBoardName": "metro_rp2350_tinyusb", - "rtc": null, - "sdCardCS": 34, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (GP0, UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (GP1, UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (GP2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3 (GP3)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4 (GP4)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (GP5)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6 (GP6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (GP7)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8 (GP8)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9 (GP9)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10 (GP10)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11 (GP11)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12 (GP12)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (GP13)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14 (GP14)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "D15 (GP15)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (GP16)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "D17 (GP17)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "D18 (GP18)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "D19 (GP19)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "D20 (GP20, SDA)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (GP21, SCL)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "D22 (GP22, SPI0 SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "D23 (GP23, RED LED)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "D24 (GP24, BOOT)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "D25 (GP25, NeoPixel)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "D28 (GP28, SPI MISO)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 30, - "name": "D30", - "displayName": "D30 (GP30, SPI SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 31, - "name": "D31", - "displayName": "D31 (GP31, SPI MOSI)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 34, - "name": "D34", - "displayName": "D34 (GP34, SD Card CS)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 41, - "name": "A41", - "displayName": "A0 (GP41)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 42, - "name": "A42", - "displayName": "A1 (GP42)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 43, - "name": "A43", - "displayName": "A2 (GP43)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 44, - "name": "A44", - "displayName": "A3 (GP44)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 45, - "name": "A45", - "displayName": "A4 (GP45)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 46, - "name": "A46", - "displayName": "A5 (GP46)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 41, - "name": "A41", - "displayName": "A0 (GP41)", - "direction": "" - }, - { - "number": 42, - "name": "A42", - "displayName": "A1 (GP42)", - "direction": "" - }, - { - "number": 43, - "name": "A43", - "displayName": "A2 (GP43)", - "direction": "" - }, - { - "number": 44, - "name": "A44", - "displayName": "A3 (GP44)", - "direction": "" - }, - { - "number": 45, - "name": "A45", - "displayName": "A4 (GP45)", - "direction": "" - }, - { - "number": 46, - "name": "A46", - "displayName": "A5 (GP46)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 21, - "SDA": 20 - }, - "image": "https://cdn-shop.adafruit.com/640x480/6003-06.jpg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 20, - "SCL": 21 - } - ], - "totalGPIOPins": 36 - }, - "xiao-esp32s3": { - "boardName": "xiao-esp32s3", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Xiao ESP32-S3 (or Sense/Plus)", - "vendor": "Seeed Studio", - "productURL": "https://www.digikey.com/short/fbbqfjz5", - "documentationURL": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", - "installMethod": "web-native-usb", - "installBoardName": "xiao-esp32s3", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 1, - "name": "D1", - "displayName": "D0/A0 (GPIO1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D1/A1 (GPIO2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D2/A2 (GPIO3)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D3/A3 (GPIO4)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D4/A4 (SDA - GPIO5)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D5/A5 (SCL - GPIO6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D6 (UART TX - GPIO43)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D7 (UART RX - GPIO44)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D8/A8 (SCK - GPIO7)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D9/A9 (MISO - GPIO8)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D10/A10 (MOSI - GPIO9)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 42, - "name": "D42", - "displayName": "D11/A11 (Cam Brd - GPIO42)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D12/A12 (Cam Brd - GPIO13)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 21, - "name": "D21", - "displayName": "GPIO21 SD CS", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 1, - "name": "A1", - "displayName": "A0/D0 (GPIO1)", - "direction": "" - }, - { - "number": 2, - "name": "A2", - "displayName": "A1/D1 (GPIO2)", - "direction": "" - }, - { - "number": 3, - "name": "A3", - "displayName": "A2/D2 (GPIO3)", - "direction": "" - }, - { - "number": 4, - "name": "A4", - "displayName": "A3/D3 (GPIO4)", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A4/D4 (SDA - GPIO5)", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "A5/D5 (SCL - GPIO6)", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "A8/D8 (SCK - GPIO7)", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A9/D9 (MISO - GPIO8)", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A10/D10 (MOSI - GPIO9)", - "direction": "" - }, - { - "number": 42, - "name": "A42", - "displayName": "A11/D11 (Cam Brd - GPIO42)", - "direction": "" - }, - { - "number": 13, - "name": "A13", - "displayName": "D12/A12 (Cam Brd - GPIO13)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 6, - "SDA": 5 - }, - "image": "boards/xiao-esp32s3/image.png", - "totalAnalogPins": 11, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 5, - "SCL": 6 - } - ], - "totalGPIOPins": 15 - }, - "magtag": { - "boardName": "magtag", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit MagTag \"2.9\"", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/4800", - "documentationURL": "https://learn.adafruit.com/adafruit-magtag", - "installMethod": "web-native-usb", - "installBoardName": "magtag", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 1, - "name": "D1", - "displayName": "D1 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "Button A", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "Button B", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "Button C", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "Button D", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "D18 (A1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "Built-in LED", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D43 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D44 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "Piezo Speaker (A0)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 3, - "name": "A3", - "displayName": "Light Sensor (A3)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 4, - "name": "A4", - "displayName": "Voltage Monitor (A4)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 17, - "name": "A17", - "displayName": "Piezo Speaker (A0)", - "direction": "" - }, - { - "number": 10, - "name": "A10", - "displayName": "D10", - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A1 (D18)", - "direction": "" - }, - { - "number": 3, - "name": "A3", - "displayName": "Light Sensor (A3)", - "direction": "" - }, - { - "number": 4, - "name": "A4", - "displayName": "Voltage Monitor (A4)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 34, - "SDA": 33 - }, - "image": "boards/magtag/image.svg", - "totalAnalogPins": 5, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 33, - "SCL": 34 - } - ], - "totalGPIOPins": 13 - }, - "rpi-pico-2w": { - "boardName": "rpi-pico-2w", - "mcuName": "rp2350", - "referenceVoltage": 3.3, - "displayName": "Raspberry Pi Pico 2W", - "vendor": "Raspberry Pi", - "productURL": "https://www.adafruit.com/product/6087", - "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/overview", - "installMethod": "uf2", - "installBoardName": "picow_rp2350_tinyusb", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "GP0 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "GP1 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "GP2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "GP3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "GP4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "GP5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "GP6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "GP7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "GP8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "GP9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "GP10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "GP11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "GP12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "GP13", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "GP14", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "GP15", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "GP16", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "GP17", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "GP18", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "GP19", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "GP20", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "GP21", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "GP22", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "GP23", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "GP24", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "GP25", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "D26", - "displayName": "GP26", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 27, - "name": "D27", - "displayName": "GP27", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "GP28", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 29, - "name": "D29", - "displayName": "GP29", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 64, - "name": "D64", - "displayName": "LED (BUILT-IN)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP0)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP1)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP2)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP3)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 5, - "SDA": 4 - }, - "image": "boards/rpi-pico-2w/image.jpg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 4, - "SCL": 5 - } - ], - "totalGPIOPins": 31 - }, "feather-esp32s3-tft": { "boardName": "feather-esp32s3-tft", "mcuName": "esp32s3", @@ -5418,6 +4640,784 @@ window.jsonBoardObject = { ], "totalGPIOPins": 20 }, + "magtag": { + "boardName": "magtag", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit MagTag \"2.9\"", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/4800", + "documentationURL": "https://learn.adafruit.com/adafruit-magtag", + "installMethod": "web-native-usb", + "installBoardName": "magtag", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 1, + "name": "D1", + "displayName": "D1 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "Button A", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "Button B", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "Button C", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "Button D", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "D18 (A1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "Built-in LED", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D43 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D44 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "Piezo Speaker (A0)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 3, + "name": "A3", + "displayName": "Light Sensor (A3)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 4, + "name": "A4", + "displayName": "Voltage Monitor (A4)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 17, + "name": "A17", + "displayName": "Piezo Speaker (A0)", + "direction": "" + }, + { + "number": 10, + "name": "A10", + "displayName": "D10", + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A1 (D18)", + "direction": "" + }, + { + "number": 3, + "name": "A3", + "displayName": "Light Sensor (A3)", + "direction": "" + }, + { + "number": 4, + "name": "A4", + "displayName": "Voltage Monitor (A4)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 34, + "SDA": 33 + }, + "image": "boards/magtag/image.svg", + "totalAnalogPins": 5, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 33, + "SCL": 34 + } + ], + "totalGPIOPins": 13 + }, + "feather-esp32s2": { + "boardName": "feather-esp32s2", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S2 Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5000", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (I2C Power)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s2/image.png", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 22 + }, + "qtpy-esp32s2": { + "boardName": "qtpy-esp32s2", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py ESP32-S2", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5325", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s2", + "installMethod": "web-native-usb", + "installBoardName": "qtpy-esp32s2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s2/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, + "qtpy-esp32s3": { + "boardName": "qtpy-esp32s3", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py ESP32-S3 (NO PSRAM)", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5426", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", + "installMethod": "uf2", + "installBoardName": "qtpy-esp32s3", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s3/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, "generic-esp32-s2": { "boardName": "Generic ESP32-S2", "mcuName": "ESP32-S2", diff --git a/wippersnapper_boards.json b/wippersnapper_boards.json index dc3f047..c4ed0da 100644 --- a/wippersnapper_boards.json +++ b/wippersnapper_boards.json @@ -1,30 +1,30 @@ { "boards": { - "metro-rp2040": { - "boardName": "metro-rp2040", - "mcuName": "rp2040", - "referenceVoltage": 3.3, - "displayName": "Adafruit Metro RP2040", + "feather-esp32s2-tft": { + "boardName": "feather-esp32s2-tft", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S2 TFT Feather", "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5786", - "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2040", - "installMethod": "uf2", - "installBoardName": "metro-rp2040", + "productURL": "https://www.adafruit.com/product/5300", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2-tft", "rtc": null, - "sdCardCS": 23, + "sdCardCS": null, "pins": [ { "number": 0, "name": "D0", - "displayName": "D0 (GP0, UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" }, { "number": 1, "name": "D1", - "displayName": "D1 (GP1, UART RX)", + "displayName": "D1 (UART TX)", "hasPWM": true, "hasServo": true, "direction": "" @@ -32,7 +32,7 @@ { "number": 2, "name": "D2", - "displayName": "D2 (GP2)", + "displayName": "D2 (UART RX)", "hasPWM": true, "hasServo": true, "direction": "" @@ -40,7 +40,7 @@ { "number": 3, "name": "D3", - "displayName": "D3 (GP3)", + "displayName": "D3", "hasPWM": true, "hasServo": true, "direction": "" @@ -48,7 +48,7 @@ { "number": 4, "name": "D4", - "displayName": "D4 (GP4)", + "displayName": "D4", "hasPWM": true, "hasServo": true, "direction": "" @@ -56,7 +56,7 @@ { "number": 5, "name": "D5", - "displayName": "D5 (GP5)", + "displayName": "D5", "hasPWM": true, "hasServo": true, "direction": "" @@ -64,23 +64,7 @@ { "number": 6, "name": "D6", - "displayName": "D6 (GP6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (GP7, BOOT)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8 (GP8)", + "displayName": "D6", "hasPWM": true, "hasServo": true, "direction": "" @@ -88,7 +72,7 @@ { "number": 9, "name": "D9", - "displayName": "D9 (GP9)", + "displayName": "D9", "hasPWM": true, "hasServo": true, "direction": "" @@ -96,7 +80,7 @@ { "number": 10, "name": "D10", - "displayName": "D10 (GP10)", + "displayName": "D10", "hasPWM": true, "hasServo": true, "direction": "" @@ -104,7 +88,7 @@ { "number": 11, "name": "D11", - "displayName": "D11 (GP11)", + "displayName": "D11", "hasPWM": true, "hasServo": true, "direction": "" @@ -112,7 +96,7 @@ { "number": 12, "name": "D12", - "displayName": "D12 (GP12)", + "displayName": "D12", "hasPWM": true, "hasServo": true, "direction": "" @@ -120,258 +104,82 @@ { "number": 13, "name": "D13", - "displayName": "D13 (GP13, LED)", + "displayName": "D13 (LED)", "hasPWM": true, - "hasServo": true, + "hasServo": false, "direction": "" }, { - "number": 20, - "name": "D20", - "displayName": "D20 (GP20, SDA)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (GP21, SCL)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "D24 (GP24)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "D25 (GP25, NeoPixel)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "D28 (GP28, SPI MISO)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 30, - "name": "D30", - "displayName": "D30 (GP30, SPI SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 31, - "name": "D31", - "displayName": "D31 (GP31, SPI MOSI)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "D23 (GP23, SD Card CS)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP26)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP27)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP29)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP26)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP27)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP28)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP29)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 21, - "SDA": 20 - }, - "image": "https://cdn-shop.adafruit.com/640x480/5786-00.jpg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 20, - "SCL": 21 - } - ], - "totalGPIOPins": 25 - }, - "qtpy-esp32s3-n4r2": { - "boardName": "qtpy-esp32s3-n4r2", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py S3 (2MB PSRAM)", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5700", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", - "installMethod": "web-native-usb", - "installBoardName": "qtpy-esp32s3-n4r2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "A3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", "hasPWM": false, "hasServo": false, - "direction": "INPUT" + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" }, { "number": 39, "name": "D39", - "displayName": "D39 (NeoPixel)", + "displayName": "D39 (UART TX)", "hasPWM": false, "hasServo": false, "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true } ], "analogPins": [ @@ -387,546 +195,46 @@ "displayName": "A1", "direction": "" }, - { - "number": 9, - "name": "A9", - "displayName": "A2", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, { "number": 16, "name": "A16", - "displayName": "A16 (UART RX)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 40, - "SDA": 41 - }, - "image": "boards/qtpy-esp32s3-n4r2/image.svg", - "totalAnalogPins": 8, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 41, - "SCL": 40 - } - ], - "totalGPIOPins": 13 - }, - "rpi-pico-w": { - "boardName": "rpi-pico-w", - "mcuName": "rp2040", - "referenceVoltage": 3.3, - "displayName": "Raspberry Pi Pico W", - "vendor": "Raspberry Pi", - "productURL": "https://www.adafruit.com/product/5526", - "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/", - "installMethod": "uf2", - "installBoardName": "picow_rp2040_tinyusb", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "GP0 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "GP1 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "GP2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "GP3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "GP4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "GP5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "GP6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "GP7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "GP8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "GP9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "GP10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "GP11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "GP12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "GP13", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "GP14", - "hasPWM": true, - "hasServo": true, + "displayName": "A2", "direction": "" }, { "number": 15, - "name": "D15", - "displayName": "GP15", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "GP16", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "GP17", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "GP18", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "GP19", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "GP20", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "GP21", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "GP22", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "GP23", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "GP24", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "GP25", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "D26", - "displayName": "GP26", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 27, - "name": "D27", - "displayName": "GP27", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "GP28", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 29, - "name": "D29", - "displayName": "GP29", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 64, - "name": "D64", - "displayName": "LED (BUILT-IN)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP0)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP1)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP2)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP3)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 5, - "SDA": 4 - }, - "image": "boards/rpi-pico-w/image.png", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 4, - "SCL": 5 - } - ], - "totalGPIOPins": 31 - }, - "qtpy-esp32s3": { - "boardName": "qtpy-esp32s3", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py ESP32-S3 (NO PSRAM)", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5426", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", - "installMethod": "uf2", - "installBoardName": "qtpy-esp32s3", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", + "name": "A15", "displayName": "A3", - "hasPWM": true, - "hasServo": true, "direction": "" }, { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A2", + "number": 14, + "name": "A14", + "displayName": "A4", "direction": "" }, { "number": 8, "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A16 (UART RX)", + "displayName": "A5", "direction": "" } ], "defaultI2C": { "i2cPortId": 0, - "SCL": 40, - "SDA": 41 + "SCL": 41, + "SDA": 42 }, - "image": "boards/qtpy-esp32s3/image.svg", - "totalAnalogPins": 8, + "image": "boards/feather-esp32s2-tft/image.svg", + "totalAnalogPins": 6, "i2cPorts": [ { "i2cPortId": 0, - "SDA": 41, - "SCL": 40 + "SDA": 42, + "SCL": 41 } ], - "totalGPIOPins": 13 + "totalGPIOPins": 21 }, "feather-rp2040-adalogger": { "boardName": "feather-rp2040-adalogger", @@ -1232,6 +540,890 @@ ], "totalGPIOPins": 31 }, + "funhouse": { + "boardName": "funhouse", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit Funhouse ESP32-S2", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/4985", + "documentationURL": "https://learn.adafruit.com/adafruit-funhouse", + "installMethod": "web-native-usb", + "installBoardName": "funhouse_noota", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 5, + "name": "D5", + "displayName": "Button Up", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "Button Down", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "Button Select", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "D17 (A0)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (A1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (A2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14 (DotStar Data)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "D15 (DotStar Clock)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "PIR Sensor", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 42, + "name": "D42", + "displayName": "Speaker/Piezo", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D44 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D43 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "Light Sensor", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 17, + "name": "A17", + "displayName": "A0", + "direction": "" + }, + { + "number": 2, + "name": "A2", + "displayName": "A1", + "direction": "" + }, + { + "number": 1, + "name": "A1", + "displayName": "A2", + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "Light Sensor", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 33, + "SDA": 34 + }, + "image": "boards/funhouse/image.svg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 34, + "SCL": 33 + } + ], + "totalGPIOPins": 21 + }, + "metro-rp2350": { + "boardName": "metro-rp2350", + "mcuName": "rp2350", + "referenceVoltage": 3.3, + "displayName": "Adafruit Metro RP2350", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/6003", + "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2350", + "installMethod": "uf2", + "installBoardName": "metro_rp2350_tinyusb", + "rtc": null, + "sdCardCS": 34, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (GP0, UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (GP1, UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (GP2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3 (GP3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4 (GP4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (GP5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6 (GP6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (GP7)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8 (GP8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9 (GP9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10 (GP10)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11 (GP11)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12 (GP12)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (GP13)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14 (GP14)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "D15 (GP15)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (GP16)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "D17 (GP17)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "D18 (GP18)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "D19 (GP19)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "D20 (GP20, SDA)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (GP21, SCL)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "D22 (GP22, SPI0 SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "D23 (GP23, RED LED)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "D24 (GP24, BOOT)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "D25 (GP25, NeoPixel)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "D28 (GP28, SPI MISO)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 30, + "name": "D30", + "displayName": "D30 (GP30, SPI SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 31, + "name": "D31", + "displayName": "D31 (GP31, SPI MOSI)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 34, + "name": "D34", + "displayName": "D34 (GP34, SD Card CS)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 41, + "name": "A41", + "displayName": "A0 (GP41)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 42, + "name": "A42", + "displayName": "A1 (GP42)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 43, + "name": "A43", + "displayName": "A2 (GP43)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 44, + "name": "A44", + "displayName": "A3 (GP44)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 45, + "name": "A45", + "displayName": "A4 (GP45)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 46, + "name": "A46", + "displayName": "A5 (GP46)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 41, + "name": "A41", + "displayName": "A0 (GP41)", + "direction": "" + }, + { + "number": 42, + "name": "A42", + "displayName": "A1 (GP42)", + "direction": "" + }, + { + "number": 43, + "name": "A43", + "displayName": "A2 (GP43)", + "direction": "" + }, + { + "number": 44, + "name": "A44", + "displayName": "A3 (GP44)", + "direction": "" + }, + { + "number": 45, + "name": "A45", + "displayName": "A4 (GP45)", + "direction": "" + }, + { + "number": 46, + "name": "A46", + "displayName": "A5 (GP46)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 21, + "SDA": 20 + }, + "image": "https://cdn-shop.adafruit.com/640x480/6003-06.jpg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 20, + "SCL": 21 + } + ], + "totalGPIOPins": 36 + }, + "rpi-pico-w": { + "boardName": "rpi-pico-w", + "mcuName": "rp2040", + "referenceVoltage": 3.3, + "displayName": "Raspberry Pi Pico W", + "vendor": "Raspberry Pi", + "productURL": "https://www.adafruit.com/product/5526", + "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/", + "installMethod": "uf2", + "installBoardName": "picow_rp2040_tinyusb", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "GP0 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "GP1 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "GP2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "GP3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "GP4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "GP5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "GP6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "GP7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "GP8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "GP9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "GP10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "GP11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "GP12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "GP13", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "GP14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "GP15", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "GP16", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "GP17", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "GP18", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "GP19", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "GP20", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "GP21", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "GP22", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "GP23", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "GP24", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "GP25", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "D26", + "displayName": "GP26", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 27, + "name": "D27", + "displayName": "GP27", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "GP28", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 29, + "name": "D29", + "displayName": "GP29", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 64, + "name": "D64", + "displayName": "LED (BUILT-IN)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP0)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP1)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP2)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP3)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 5, + "SDA": 4 + }, + "image": "boards/rpi-pico-w/image.png", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 4, + "SCL": 5 + } + ], + "totalGPIOPins": 31 + }, "feather-esp32s3": { "boardName": "feather-esp32s3", "mcuName": "esp32s3", @@ -1476,478 +1668,6 @@ ], "totalGPIOPins": 22 }, - "feather-esp32s2": { - "boardName": "feather-esp32s2", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S2 Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5000", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (I2C Power)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s2/image.png", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 22 - }, - "feather-esp32s2-reverse-tft": { - "boardName": "feather-esp32s2-reverse-tft", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "ESP32-S2 Reverse TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5345", - "documentationURL": "https://learn.adafruit.com/esp32-s2-reverse-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2-reverse-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (NeoPixel Power Pin)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s2-reverse-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 20 - }, "metroesp32s2": { "boardName": "metroesp32s2", "mcuName": "esp32s2", @@ -2598,6 +2318,1660 @@ ], "totalGPIOPins": 27 }, + "feather-esp32s3-reverse-tft": { + "boardName": "feather-esp32s3-reverse-tft", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "ESP32-S3 Reverse TFT Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5691", + "documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s3-reverse-tft", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s3-reverse-tft/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 19 + }, + "feather-esp32s2-reverse-tft": { + "boardName": "feather-esp32s2-reverse-tft", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "ESP32-S2 Reverse TFT Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5345", + "documentationURL": "https://learn.adafruit.com/esp32-s2-reverse-tft-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2-reverse-tft", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 Push Button", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (NeoPixel Power Pin)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s2-reverse-tft/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 20 + }, + "feather-esp32s3-4mbflash-2mbpsram": { + "boardName": "feather-esp32s3-4mbflash-2mbpsram", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S3 Feather with 4MB Flash 2MB PSRAM", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5477", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s3-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s3-4mbflash-2mbpsram", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "D14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s3-4mbflash-2mbpsram/image.svg", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 22 + }, + "rpi-pico-2w": { + "boardName": "rpi-pico-2w", + "mcuName": "rp2350", + "referenceVoltage": 3.3, + "displayName": "Raspberry Pi Pico 2W", + "vendor": "Raspberry Pi", + "productURL": "https://www.adafruit.com/product/6087", + "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/overview", + "installMethod": "uf2", + "installBoardName": "picow_rp2350_tinyusb", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "GP0 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "GP1 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "GP2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "GP3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "GP4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "GP5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "GP6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "GP7", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "GP8", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "GP9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "GP10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "GP11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "GP12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "GP13", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "GP14", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "GP15", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "GP16", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "GP17", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "GP18", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 19, + "name": "D19", + "displayName": "GP19", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "GP20", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "GP21", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 22, + "name": "D22", + "displayName": "GP22", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "GP23", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "GP24", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "GP25", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "D26", + "displayName": "GP26", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 27, + "name": "D27", + "displayName": "GP27", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "GP28", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 29, + "name": "D29", + "displayName": "GP29", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 64, + "name": "D64", + "displayName": "LED (BUILT-IN)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP0)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP1)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP2)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP3)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 5, + "SDA": 4 + }, + "image": "boards/rpi-pico-2w/image.jpg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 4, + "SCL": 5 + } + ], + "totalGPIOPins": 31 + }, + "qtpy-esp32s3-n4r2": { + "boardName": "qtpy-esp32s3-n4r2", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py S3 (2MB PSRAM)", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5700", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", + "installMethod": "web-native-usb", + "installBoardName": "qtpy-esp32s3-n4r2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s3-n4r2/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, + "metro-rp2040": { + "boardName": "metro-rp2040", + "mcuName": "rp2040", + "referenceVoltage": 3.3, + "displayName": "Adafruit Metro RP2040", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5786", + "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2040", + "installMethod": "uf2", + "installBoardName": "metro-rp2040", + "rtc": null, + "sdCardCS": 23, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (GP0, UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1 (GP1, UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2 (GP2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3 (GP3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4 (GP4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (GP5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6 (GP6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (GP7, BOOT)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D8 (GP8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9 (GP9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10 (GP10)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11 (GP11)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12 (GP12)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (GP13, LED)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 20, + "name": "D20", + "displayName": "D20 (GP20, SDA)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 21, + "name": "D21", + "displayName": "D21 (GP21, SCL)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 24, + "name": "D24", + "displayName": "D24 (GP24)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 25, + "name": "D25", + "displayName": "D25 (GP25, NeoPixel)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 28, + "name": "D28", + "displayName": "D28 (GP28, SPI MISO)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 30, + "name": "D30", + "displayName": "D30 (GP30, SPI SCK)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 31, + "name": "D31", + "displayName": "D31 (GP31, SPI MOSI)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 23, + "name": "D23", + "displayName": "D23 (GP23, SD Card CS)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP26)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP27)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP29)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 26, + "name": "A26", + "displayName": "A0 (GP26)", + "direction": "" + }, + { + "number": 27, + "name": "A27", + "displayName": "A1 (GP27)", + "direction": "" + }, + { + "number": 28, + "name": "A28", + "displayName": "A2 (GP28)", + "direction": "" + }, + { + "number": 29, + "name": "A29", + "displayName": "A3 (GP29)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 21, + "SDA": 20 + }, + "image": "https://cdn-shop.adafruit.com/640x480/5786-00.jpg", + "totalAnalogPins": 4, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 20, + "SCL": 21 + } + ], + "totalGPIOPins": 25 + }, + "xiao-esp32s3": { + "boardName": "xiao-esp32s3", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Xiao ESP32-S3 (or Sense/Plus)", + "vendor": "Seeed Studio", + "productURL": "https://www.digikey.com/short/fbbqfjz5", + "documentationURL": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", + "installMethod": "web-native-usb", + "installBoardName": "xiao-esp32s3", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 1, + "name": "D1", + "displayName": "D0/A0 (GPIO1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D1/A1 (GPIO2)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D2/A2 (GPIO3)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D3/A3 (GPIO4)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D4/A4 (SDA - GPIO5)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D5/A5 (SCL - GPIO6)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D6 (UART TX - GPIO43)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D7 (UART RX - GPIO44)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D8/A8 (SCK - GPIO7)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "D9/A9 (MISO - GPIO8)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D10/A10 (MOSI - GPIO9)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 42, + "name": "D42", + "displayName": "D11/A11 (Cam Brd - GPIO42)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D12/A12 (Cam Brd - GPIO13)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 21, + "name": "D21", + "displayName": "GPIO21 SD CS", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 1, + "name": "A1", + "displayName": "A0/D0 (GPIO1)", + "direction": "" + }, + { + "number": 2, + "name": "A2", + "displayName": "A1/D1 (GPIO2)", + "direction": "" + }, + { + "number": 3, + "name": "A3", + "displayName": "A2/D2 (GPIO3)", + "direction": "" + }, + { + "number": 4, + "name": "A4", + "displayName": "A3/D3 (GPIO4)", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A4/D4 (SDA - GPIO5)", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "A5/D5 (SCL - GPIO6)", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "A8/D8 (SCK - GPIO7)", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A9/D9 (MISO - GPIO8)", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A10/D10 (MOSI - GPIO9)", + "direction": "" + }, + { + "number": 42, + "name": "A42", + "displayName": "A11/D11 (Cam Brd - GPIO42)", + "direction": "" + }, + { + "number": 13, + "name": "A13", + "displayName": "D12/A12 (Cam Brd - GPIO13)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 6, + "SDA": 5 + }, + "image": "boards/xiao-esp32s3/image.png", + "totalAnalogPins": 11, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 5, + "SCL": 6 + } + ], + "totalGPIOPins": 15 + }, "esp32s3-devkitc-1-n8": { "boardName": "esp32s3-devkitc-1-n8", "mcuName": "esp32s3", @@ -3038,2158 +4412,6 @@ ], "totalGPIOPins": 36 }, - "qtpy-esp32s2": { - "boardName": "qtpy-esp32s2", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit QT Py ESP32-S2", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5325", - "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s2", - "installMethod": "web-native-usb", - "installBoardName": "qtpy-esp32s2", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 18, - "name": "D18", - "displayName": "A0", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "A1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "A2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "A3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "SDA", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "SCL", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 35, - "name": "D35", - "displayName": "MOSI", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 37, - "name": "D37", - "displayName": "MISO", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 36, - "name": "D36", - "displayName": "SCK", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A2", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A3", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "SDA", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "SCL", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A5 (UART TX)", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A16 (UART RX)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 40, - "SDA": 41 - }, - "image": "boards/qtpy-esp32s2/image.svg", - "totalAnalogPins": 8, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 41, - "SCL": 40 - } - ], - "totalGPIOPins": 13 - }, - "funhouse": { - "boardName": "funhouse", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit Funhouse ESP32-S2", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/4985", - "documentationURL": "https://learn.adafruit.com/adafruit-funhouse", - "installMethod": "web-native-usb", - "installBoardName": "funhouse_noota", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 5, - "name": "D5", - "displayName": "Button Up", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "Button Down", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "Button Select", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "D17 (A0)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (A1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (A2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14 (DotStar Data)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "D15 (DotStar Clock)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "PIR Sensor", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 42, - "name": "D42", - "displayName": "Speaker/Piezo", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D44 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D43 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "Light Sensor", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 17, - "name": "A17", - "displayName": "A0", - "direction": "" - }, - { - "number": 2, - "name": "A2", - "displayName": "A1", - "direction": "" - }, - { - "number": 1, - "name": "A1", - "displayName": "A2", - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "Light Sensor", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 33, - "SDA": 34 - }, - "image": "boards/funhouse/image.svg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 34, - "SCL": 33 - } - ], - "totalGPIOPins": 21 - }, - "feather-esp32s2-tft": { - "boardName": "feather-esp32s2-tft", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S2 TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5300", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s2-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 41, - "SDA": 42 - }, - "image": "boards/feather-esp32s2-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 42, - "SCL": 41 - } - ], - "totalGPIOPins": 21 - }, - "feather-esp32s3-reverse-tft": { - "boardName": "feather-esp32s3-reverse-tft", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "ESP32-S3 Reverse TFT Feather", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5691", - "documentationURL": "https://learn.adafruit.com/esp32-s3-reverse-tft-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s3-reverse-tft", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 Push Button", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s3-reverse-tft/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 19 - }, - "feather-esp32s3-4mbflash-2mbpsram": { - "boardName": "feather-esp32s3-4mbflash-2mbpsram", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Adafruit ESP32-S3 Feather with 4MB Flash 2MB PSRAM", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/5477", - "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s3-feather", - "installMethod": "web-native-usb", - "installBoardName": "feather-esp32s3-4mbflash-2mbpsram", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (Boot Push Button)", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (LED)", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 33, - "name": "D33", - "displayName": "D33 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 38, - "name": "D38", - "displayName": "D38 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 39, - "name": "D39", - "displayName": "D39 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 18, - "name": "A18", - "displayName": "A0", - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "A1", - "direction": "" - }, - { - "number": 16, - "name": "A16", - "displayName": "A2", - "direction": "" - }, - { - "number": 15, - "name": "A15", - "displayName": "A3", - "direction": "" - }, - { - "number": 14, - "name": "A14", - "displayName": "A4", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A5", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 4, - "SDA": 3 - }, - "image": "boards/feather-esp32s3-4mbflash-2mbpsram/image.svg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 3, - "SCL": 4 - } - ], - "totalGPIOPins": 22 - }, - "metro-rp2350": { - "boardName": "metro-rp2350", - "mcuName": "rp2350", - "referenceVoltage": 3.3, - "displayName": "Adafruit Metro RP2350", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/6003", - "documentationURL": "https://learn.adafruit.com/adafruit-metro-rp2350", - "installMethod": "uf2", - "installBoardName": "metro_rp2350_tinyusb", - "rtc": null, - "sdCardCS": 34, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "D0 (GP0, UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "D1 (GP1, UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D2 (GP2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D3 (GP3)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D4 (GP4)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D5 (GP5)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D6 (GP6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D7 (GP7)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D8 (GP8)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D9 (GP9)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10 (GP10)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "D11 (GP11)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "D12 (GP12)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D13 (GP13)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "D14 (GP14)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "D15 (GP15)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "D16 (GP16)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "D17 (GP17)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "D18 (GP18)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "D19 (GP19)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "D20 (GP20, SDA)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "D21 (GP21, SCL)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "D22 (GP22, SPI0 SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "D23 (GP23, RED LED)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "D24 (GP24, BOOT)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "D25 (GP25, NeoPixel)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "D28 (GP28, SPI MISO)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 30, - "name": "D30", - "displayName": "D30 (GP30, SPI SCK)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 31, - "name": "D31", - "displayName": "D31 (GP31, SPI MOSI)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 34, - "name": "D34", - "displayName": "D34 (GP34, SD Card CS)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 41, - "name": "A41", - "displayName": "A0 (GP41)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 42, - "name": "A42", - "displayName": "A1 (GP42)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 43, - "name": "A43", - "displayName": "A2 (GP43)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 44, - "name": "A44", - "displayName": "A3 (GP44)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 45, - "name": "A45", - "displayName": "A4 (GP45)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 46, - "name": "A46", - "displayName": "A5 (GP46)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 41, - "name": "A41", - "displayName": "A0 (GP41)", - "direction": "" - }, - { - "number": 42, - "name": "A42", - "displayName": "A1 (GP42)", - "direction": "" - }, - { - "number": 43, - "name": "A43", - "displayName": "A2 (GP43)", - "direction": "" - }, - { - "number": 44, - "name": "A44", - "displayName": "A3 (GP44)", - "direction": "" - }, - { - "number": 45, - "name": "A45", - "displayName": "A4 (GP45)", - "direction": "" - }, - { - "number": 46, - "name": "A46", - "displayName": "A5 (GP46)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 21, - "SDA": 20 - }, - "image": "https://cdn-shop.adafruit.com/640x480/6003-06.jpg", - "totalAnalogPins": 6, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 20, - "SCL": 21 - } - ], - "totalGPIOPins": 36 - }, - "xiao-esp32s3": { - "boardName": "xiao-esp32s3", - "mcuName": "esp32s3", - "referenceVoltage": 2.6, - "displayName": "Xiao ESP32-S3 (or Sense/Plus)", - "vendor": "Seeed Studio", - "productURL": "https://www.digikey.com/short/fbbqfjz5", - "documentationURL": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", - "installMethod": "web-native-usb", - "installBoardName": "xiao-esp32s3", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 1, - "name": "D1", - "displayName": "D0/A0 (GPIO1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "D1/A1 (GPIO2)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "D2/A2 (GPIO3)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "D3/A3 (GPIO4)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "D4/A4 (SDA - GPIO5)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "D5/A5 (SCL - GPIO6)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D6 (UART TX - GPIO43)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D7 (UART RX - GPIO44)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "D8/A8 (SCK - GPIO7)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "D9/A9 (MISO - GPIO8)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "D10/A10 (MOSI - GPIO9)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 42, - "name": "D42", - "displayName": "D11/A11 (Cam Brd - GPIO42)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "D12/A12 (Cam Brd - GPIO13)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 0, - "name": "D0", - "displayName": "Boot Pushbutton", - "hasPWM": false, - "hasServo": false, - "direction": "INPUT" - }, - { - "number": 21, - "name": "D21", - "displayName": "GPIO21 SD CS", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 1, - "name": "A1", - "displayName": "A0/D0 (GPIO1)", - "direction": "" - }, - { - "number": 2, - "name": "A2", - "displayName": "A1/D1 (GPIO2)", - "direction": "" - }, - { - "number": 3, - "name": "A3", - "displayName": "A2/D2 (GPIO3)", - "direction": "" - }, - { - "number": 4, - "name": "A4", - "displayName": "A3/D3 (GPIO4)", - "direction": "" - }, - { - "number": 5, - "name": "A5", - "displayName": "A4/D4 (SDA - GPIO5)", - "direction": "" - }, - { - "number": 6, - "name": "A6", - "displayName": "A5/D5 (SCL - GPIO6)", - "direction": "" - }, - { - "number": 7, - "name": "A7", - "displayName": "A8/D8 (SCK - GPIO7)", - "direction": "" - }, - { - "number": 8, - "name": "A8", - "displayName": "A9/D9 (MISO - GPIO8)", - "direction": "" - }, - { - "number": 9, - "name": "A9", - "displayName": "A10/D10 (MOSI - GPIO9)", - "direction": "" - }, - { - "number": 42, - "name": "A42", - "displayName": "A11/D11 (Cam Brd - GPIO42)", - "direction": "" - }, - { - "number": 13, - "name": "A13", - "displayName": "D12/A12 (Cam Brd - GPIO13)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 6, - "SDA": 5 - }, - "image": "boards/xiao-esp32s3/image.png", - "totalAnalogPins": 11, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 5, - "SCL": 6 - } - ], - "totalGPIOPins": 15 - }, - "magtag": { - "boardName": "magtag", - "mcuName": "esp32s2", - "referenceVoltage": 2.6, - "displayName": "Adafruit MagTag \"2.9\"", - "vendor": "Adafruit", - "productURL": "https://www.adafruit.com/product/4800", - "documentationURL": "https://learn.adafruit.com/adafruit-magtag", - "installMethod": "web-native-usb", - "installBoardName": "magtag", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 1, - "name": "D1", - "displayName": "D1 (NeoPixel)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "Button A", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "Button B", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "Button C", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "Button D", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "D10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "D18 (A1)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "Built-in LED", - "hasPWM": true, - "hasServo": false, - "direction": "" - }, - { - "number": 43, - "name": "D43", - "displayName": "D43 (UART TX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 44, - "name": "D44", - "displayName": "D44 (UART RX)", - "hasPWM": false, - "hasServo": false, - "direction": "" - }, - { - "number": 17, - "name": "A17", - "displayName": "Piezo Speaker (A0)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 3, - "name": "A3", - "displayName": "Light Sensor (A3)", - "direction": "", - "hasPWM": true, - "hasServo": true - }, - { - "number": 4, - "name": "A4", - "displayName": "Voltage Monitor (A4)", - "direction": "", - "hasPWM": true, - "hasServo": true - } - ], - "analogPins": [ - { - "number": 17, - "name": "A17", - "displayName": "Piezo Speaker (A0)", - "direction": "" - }, - { - "number": 10, - "name": "A10", - "displayName": "D10", - "direction": "" - }, - { - "number": 18, - "name": "A18", - "displayName": "A1 (D18)", - "direction": "" - }, - { - "number": 3, - "name": "A3", - "displayName": "Light Sensor (A3)", - "direction": "" - }, - { - "number": 4, - "name": "A4", - "displayName": "Voltage Monitor (A4)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 34, - "SDA": 33 - }, - "image": "boards/magtag/image.svg", - "totalAnalogPins": 5, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 33, - "SCL": 34 - } - ], - "totalGPIOPins": 13 - }, - "rpi-pico-2w": { - "boardName": "rpi-pico-2w", - "mcuName": "rp2350", - "referenceVoltage": 3.3, - "displayName": "Raspberry Pi Pico 2W", - "vendor": "Raspberry Pi", - "productURL": "https://www.adafruit.com/product/6087", - "documentationURL": "https://learn.adafruit.com/quick-start-the-pico-w-with-wippersnapper/overview", - "installMethod": "uf2", - "installBoardName": "picow_rp2350_tinyusb", - "rtc": null, - "sdCardCS": null, - "pins": [ - { - "number": 0, - "name": "D0", - "displayName": "GP0 (UART TX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 1, - "name": "D1", - "displayName": "GP1 (UART RX)", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 2, - "name": "D2", - "displayName": "GP2", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 3, - "name": "D3", - "displayName": "GP3", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 4, - "name": "D4", - "displayName": "GP4", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 5, - "name": "D5", - "displayName": "GP5", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 6, - "name": "D6", - "displayName": "GP6", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 7, - "name": "D7", - "displayName": "GP7", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 8, - "name": "D8", - "displayName": "GP8", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 9, - "name": "D9", - "displayName": "GP9", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 10, - "name": "D10", - "displayName": "GP10", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 11, - "name": "D11", - "displayName": "GP11", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 12, - "name": "D12", - "displayName": "GP12", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 13, - "name": "D13", - "displayName": "GP13", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 14, - "name": "D14", - "displayName": "GP14", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 15, - "name": "D15", - "displayName": "GP15", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 16, - "name": "D16", - "displayName": "GP16", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 17, - "name": "D17", - "displayName": "GP17", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 18, - "name": "D18", - "displayName": "GP18", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 19, - "name": "D19", - "displayName": "GP19", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 20, - "name": "D20", - "displayName": "GP20", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 21, - "name": "D21", - "displayName": "GP21", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 22, - "name": "D22", - "displayName": "GP22", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 23, - "name": "D23", - "displayName": "GP23", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 24, - "name": "D24", - "displayName": "GP24", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 25, - "name": "D25", - "displayName": "GP25", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 26, - "name": "D26", - "displayName": "GP26", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 27, - "name": "D27", - "displayName": "GP27", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 28, - "name": "D28", - "displayName": "GP28", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 29, - "name": "D29", - "displayName": "GP29", - "hasPWM": true, - "hasServo": true, - "direction": "" - }, - { - "number": 64, - "name": "D64", - "displayName": "LED (BUILT-IN)", - "hasPWM": false, - "hasServo": false, - "direction": "" - } - ], - "analogPins": [ - { - "number": 26, - "name": "A26", - "displayName": "A0 (GP0)", - "direction": "" - }, - { - "number": 27, - "name": "A27", - "displayName": "A1 (GP1)", - "direction": "" - }, - { - "number": 28, - "name": "A28", - "displayName": "A2 (GP2)", - "direction": "" - }, - { - "number": 29, - "name": "A29", - "displayName": "A3 (GP3)", - "direction": "" - } - ], - "defaultI2C": { - "i2cPortId": 0, - "SCL": 5, - "SDA": 4 - }, - "image": "boards/rpi-pico-2w/image.jpg", - "totalAnalogPins": 4, - "i2cPorts": [ - { - "i2cPortId": 0, - "SDA": 4, - "SCL": 5 - } - ], - "totalGPIOPins": 31 - }, "feather-esp32s3-tft": { "boardName": "feather-esp32s3-tft", "mcuName": "esp32s3", @@ -5418,6 +4640,784 @@ ], "totalGPIOPins": 20 }, + "magtag": { + "boardName": "magtag", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit MagTag \"2.9\"", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/4800", + "documentationURL": "https://learn.adafruit.com/adafruit-magtag", + "installMethod": "web-native-usb", + "installBoardName": "magtag", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 1, + "name": "D1", + "displayName": "D1 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 15, + "name": "D15", + "displayName": "Button A", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 14, + "name": "D14", + "displayName": "Button B", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "Button C", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "Button D", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 18, + "name": "D18", + "displayName": "D18 (A1)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "Built-in LED", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 43, + "name": "D43", + "displayName": "D43 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 44, + "name": "D44", + "displayName": "D44 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "Piezo Speaker (A0)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 3, + "name": "A3", + "displayName": "Light Sensor (A3)", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 4, + "name": "A4", + "displayName": "Voltage Monitor (A4)", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 17, + "name": "A17", + "displayName": "Piezo Speaker (A0)", + "direction": "" + }, + { + "number": 10, + "name": "A10", + "displayName": "D10", + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A1 (D18)", + "direction": "" + }, + { + "number": 3, + "name": "A3", + "displayName": "Light Sensor (A3)", + "direction": "" + }, + { + "number": 4, + "name": "A4", + "displayName": "Voltage Monitor (A4)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 34, + "SDA": 33 + }, + "image": "boards/magtag/image.svg", + "totalAnalogPins": 5, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 33, + "SCL": 34 + } + ], + "totalGPIOPins": 13 + }, + "feather-esp32s2": { + "boardName": "feather-esp32s2", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit ESP32-S2 Feather", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5000", + "documentationURL": "https://learn.adafruit.com/adafruit-esp32-s2-feather", + "installMethod": "web-native-usb", + "installBoardName": "feather-esp32s2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 0, + "name": "D0", + "displayName": "D0 (Boot Push Button)", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 1, + "name": "D1", + "displayName": "D1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 2, + "name": "D2", + "displayName": "D2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 3, + "name": "D3", + "displayName": "D3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 4, + "name": "D4", + "displayName": "D4", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "D6", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "D7 (I2C Power)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "D9", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 10, + "name": "D10", + "displayName": "D10", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 11, + "name": "D11", + "displayName": "D11", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 12, + "name": "D12", + "displayName": "D12", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 13, + "name": "D13", + "displayName": "D13 (LED)", + "hasPWM": true, + "hasServo": false, + "direction": "" + }, + { + "number": 33, + "name": "D33", + "displayName": "D33 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 38, + "name": "D38", + "displayName": "D38 (UART RX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (UART TX)", + "hasPWM": false, + "hasServo": false, + "direction": "" + }, + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "", + "hasPWM": true, + "hasServo": true + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "", + "hasPWM": true, + "hasServo": true + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A2", + "direction": "" + }, + { + "number": 15, + "name": "A15", + "displayName": "A3", + "direction": "" + }, + { + "number": 14, + "name": "A14", + "displayName": "A4", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A5", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 4, + "SDA": 3 + }, + "image": "boards/feather-esp32s2/image.png", + "totalAnalogPins": 6, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 3, + "SCL": 4 + } + ], + "totalGPIOPins": 22 + }, + "qtpy-esp32s2": { + "boardName": "qtpy-esp32s2", + "mcuName": "esp32s2", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py ESP32-S2", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5325", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s2", + "installMethod": "web-native-usb", + "installBoardName": "qtpy-esp32s2", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s2/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, + "qtpy-esp32s3": { + "boardName": "qtpy-esp32s3", + "mcuName": "esp32s3", + "referenceVoltage": 2.6, + "displayName": "Adafruit QT Py ESP32-S3 (NO PSRAM)", + "vendor": "Adafruit", + "productURL": "https://www.adafruit.com/product/5426", + "documentationURL": "https://learn.adafruit.com/adafruit-qt-py-esp32-s3", + "installMethod": "uf2", + "installBoardName": "qtpy-esp32s3", + "rtc": null, + "sdCardCS": null, + "pins": [ + { + "number": 18, + "name": "D18", + "displayName": "A0", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 17, + "name": "D17", + "displayName": "A1", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 9, + "name": "D9", + "displayName": "A2", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 8, + "name": "D8", + "displayName": "A3", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 7, + "name": "D7", + "displayName": "SDA", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 6, + "name": "D6", + "displayName": "SCL", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 5, + "name": "D5", + "displayName": "D5 (UART TX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 35, + "name": "D35", + "displayName": "MOSI", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 37, + "name": "D37", + "displayName": "MISO", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 36, + "name": "D36", + "displayName": "SCK", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 16, + "name": "D16", + "displayName": "D16 (UART RX)", + "hasPWM": true, + "hasServo": true, + "direction": "" + }, + { + "number": 0, + "name": "D0", + "displayName": "Boot Pushbutton", + "hasPWM": false, + "hasServo": false, + "direction": "INPUT" + }, + { + "number": 39, + "name": "D39", + "displayName": "D39 (NeoPixel)", + "hasPWM": false, + "hasServo": false, + "direction": "" + } + ], + "analogPins": [ + { + "number": 18, + "name": "A18", + "displayName": "A0", + "direction": "" + }, + { + "number": 17, + "name": "A17", + "displayName": "A1", + "direction": "" + }, + { + "number": 9, + "name": "A9", + "displayName": "A2", + "direction": "" + }, + { + "number": 8, + "name": "A8", + "displayName": "A3", + "direction": "" + }, + { + "number": 7, + "name": "A7", + "displayName": "SDA", + "direction": "" + }, + { + "number": 6, + "name": "A6", + "displayName": "SCL", + "direction": "" + }, + { + "number": 5, + "name": "A5", + "displayName": "A5 (UART TX)", + "direction": "" + }, + { + "number": 16, + "name": "A16", + "displayName": "A16 (UART RX)", + "direction": "" + } + ], + "defaultI2C": { + "i2cPortId": 0, + "SCL": 40, + "SDA": 41 + }, + "image": "boards/qtpy-esp32s3/image.svg", + "totalAnalogPins": 8, + "i2cPorts": [ + { + "i2cPortId": 0, + "SDA": 41, + "SCL": 40 + } + ], + "totalGPIOPins": 13 + }, "generic-esp32-s2": { "boardName": "Generic ESP32-S2", "mcuName": "ESP32-S2", diff --git a/wippersnapper_components.js b/wippersnapper_components.js index deddec4..1a828d7 100644 --- a/wippersnapper_components.js +++ b/wippersnapper_components.js @@ -1,267 +1,241 @@ window.jsonComponentsObject = { "components": { - "pixel": [ + "i2c_output": [ { - "id": "dotstar", - "displayName": "DotStar", - "name": "dotstar", - "description": "", - "category": "pixel", + "id": "chardisplay20x4", + "displayName": "20x4 Character Display", + "name": "chardisplay20x4", + "description": "Standard 20x4 HD44780 character display with I2C backpack", + "category": "i2c_output", "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" + "image": "components/i2c_output/chardisplay20x4/image.png", + "productUrl": "https://www.adafruit.com/product/198", + "documentationUrl": "https://learn.adafruit.com/i2c-spi-lcd-backpack" }, { - "id": "neopixel", - "displayName": "NeoPixel", - "name": "neopixel", - "description": "", - "category": "pixel", + "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": "components/pixel/neopixel/image.jpg", - "productUrl": "http://www.adafruit.com/category/168", - "documentationUrl": "https://learn.adafruit.com/adafruit-neopixel-uberguide" + "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": "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", + "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": "https://cdn-shop.adafruit.com/640x480/5888-10.jpg", - "productUrl": "https://www.adafruit.com/product/5888", - "documentationUrl": "https://learn.adafruit.com/adafruit-neorgb-stemma" + "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" } ], - "pwm": [ + "uart": [ { - "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": "piezo_buzzer", - "displayName": "Piezo Buzzer", - "name": "piezo_buzzer", + "id": "us100", + "displayName": "US-100 Distance Sensor", + "name": "us100", "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" + "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": "rgb_led", - "displayName": "RGB LED", - "name": "rgb_led", + "id": "pms5003", + "displayName": "pms5003", + "name": "pms5003", "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" + "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": "dimmable_led", - "displayName": "Dimmable LED", - "name": "dimmable_led", + "id": "pm1006", + "displayName": "VINDRIKTNING (PM1006)", + "name": "pm1006", "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": "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" + "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": "analog_pin", - "displayName": "Analog Pin", - "name": "analog_pin", - "description": "", - "category": "pin", + "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/pin/analog_pin/image.png", - "componentAPI": "analogio" - }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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" + "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_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" - }, { "id": "ds18b20", "displayName": "DS18B20", @@ -289,455 +263,36 @@ window.jsonComponentsObject = { "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": "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": "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": "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": "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": "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" - ] - }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "sen50", "displayName": "SEN50", @@ -757,84 +312,6 @@ window.jsonComponentsObject = { "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": "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": "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": "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": "tmp117", "displayName": "TMP117", @@ -856,24 +333,6 @@ window.jsonComponentsObject = { "0x4B" ] }, - { - "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": "pct2075", "displayName": "PCT2075", @@ -918,6 +377,950 @@ window.jsonComponentsObject = { "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", @@ -937,27 +1340,6 @@ window.jsonComponentsObject = { "period": 1000 } }, - { - "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": "adt7410", "displayName": "ADT7410", @@ -980,9 +1362,45 @@ window.jsonComponentsObject = { ] }, { - "id": "aht21", - "displayName": "AHT21", - "name": "aht21", + "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": [ @@ -990,13 +1408,327 @@ window.jsonComponentsObject = { "ambient-temp-fahrenheit", "relative-humidity" ], - "image": "components/i2c/aht21/image.jpg", - "documentationUrl": "http://www.aosong.com/en/products-60.html", + "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", @@ -1024,184 +1756,6 @@ window.jsonComponentsObject = { "0x3D" ] }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "ltr329", "displayName": "LTR-329", @@ -1226,343 +1780,6 @@ window.jsonComponentsObject = { "0x29" ] }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "sht45", "displayName": "SHT45", @@ -1582,6 +1799,119 @@ window.jsonComponentsObject = { "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", @@ -1604,1150 +1934,285 @@ window.jsonComponentsObject = { ] }, { - "id": "vl53l1x", - "displayName": "VL53L1X", - "name": "vl53l1x", - "description": "Time of Flight (ToF) distance sensor with about ~30 to 4000mm range", + "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": "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": "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": "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": "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": "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": "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": "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": "ltr303", - "displayName": "LTR-303", - "name": "ltr303", - "description": "", - "category": "i2c", - "dataTypes": [ - { - "displayName": "Ambient Light", - "sensorType": "light" + "displayName": "Ambient Temperature (°C)", + "sensorType": "ambient-temp" }, { - "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": "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": "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": "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": "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": "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": "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": "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": "Ambient Temperature (°F)", + "sensorType": "ambient-temp-fahrenheit" + }, { - "displayName": "ADC Reading", - "sensorType": "raw" + "displayName": "Measured Object Temp (°C)", + "sensorType": "object-temp" + }, + { + "displayName": "Measured Object Temp (°F)", + "sensorType": "object-temp-fahrenheit" } ], - "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", + "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": [ - "0x68" - ] - }, - { - "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": "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": "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" + "0x0A" ] } ], - "servo": [ + "pixel": [ { - "id": "servo", - "displayName": "Generic Servo", - "name": "servo", - "description": "", - "category": "servo", + "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/169-06.jpg", - "productUrl": "https://www.adafruit.com/product/169", - "documentationUrl": "https://learn.adafruit.com/using-servos-with-circuitpython" + "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" } ], - "i2c_output": [ + "pwm": [ { - "id": "oled128x64large", - "displayName": "128x64 OLED (Large Font)", - "name": "oled128x64large", - "description": "Monochrome 128x64 I2C OLED Display with a larger font size (SSD1306)", - "category": "i2c_output", + "id": "piezo_buzzer", + "displayName": "Piezo Buzzer", + "name": "piezo_buzzer", + "description": "", + "category": "pwm", "dataTypes": [], - "image": "components/i2c_output/oled128x64large/image.png", - "productUrl": "https://www.adafruit.com/product/938", - "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" + "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": "fthrwingoled128x32lg", - "displayName": "128x32 OLED'wing (Large)", - "name": "fthrwingoled128x32lg", - "description": "Monochrome 128x32 OLED featherwing display with a larger font size (SSD1306)", - "category": "i2c_output", + "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": "https://cdn-shop.adafruit.com/640x480/2900-10.jpg", - "productUrl": "https://www.adafruit.com/product/2900", - "documentationUrl": "https://learn.adafruit.com/adafruit-oled-featherwing" + "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": "oled64x32large", - "displayName": "64x32 OLED (Large Font)", - "name": "oled64x32large", - "description": "Monochrome 64x32 I2C OLED Display with a larger font size. (SSD1306)", - "category": "i2c_output", + "id": "rgb_led", + "displayName": "RGB LED", + "name": "rgb_led", + "description": "", + "category": "pwm", "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" + "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": "7seg", - "displayName": "7-Segment LED Matrix", - "name": "7seg", - "description": "7-Segment LED Matrix with I2C Backpack", - "category": "i2c_output", + "id": "dimmable_led", + "displayName": "Dimmable LED", + "name": "dimmable_led", + "description": "", + "category": "pwm", "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": "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": "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": "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": "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": "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": "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": "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": "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": "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" + "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" } ], - "uart": [ + "pin": [ { - "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", + "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": "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 - } + "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": "pms5003", - "displayName": "pms5003", - "name": "pms5003", + "id": "potentiometer", + "displayName": "Potentiometer", + "name": "potentiometer", "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 - } + "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": "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": "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": "us100", - "displayName": "US-100 Distance Sensor", - "name": "us100", + "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": "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 - } + "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" } ], - "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 - } - ] - } - } - }, - "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 - } - } - }, - "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 - } - } - }, - "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_output_metadata": { "title": "I2C Output Component Definition", "description": "I2C Output component for use in Adafruit IO", @@ -3074,6 +2539,541 @@ window.jsonComponentsObject = { "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 + } + ] + } + } } } }; diff --git a/wippersnapper_components.json b/wippersnapper_components.json index b87c367..405ee39 100644 --- a/wippersnapper_components.json +++ b/wippersnapper_components.json @@ -1,267 +1,241 @@ { "components": { - "pixel": [ + "i2c_output": [ { - "id": "dotstar", - "displayName": "DotStar", - "name": "dotstar", - "description": "", - "category": "pixel", + "id": "chardisplay20x4", + "displayName": "20x4 Character Display", + "name": "chardisplay20x4", + "description": "Standard 20x4 HD44780 character display with I2C backpack", + "category": "i2c_output", "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" + "image": "components/i2c_output/chardisplay20x4/image.png", + "productUrl": "https://www.adafruit.com/product/198", + "documentationUrl": "https://learn.adafruit.com/i2c-spi-lcd-backpack" }, { - "id": "neopixel", - "displayName": "NeoPixel", - "name": "neopixel", - "description": "", - "category": "pixel", + "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": "components/pixel/neopixel/image.jpg", - "productUrl": "http://www.adafruit.com/category/168", - "documentationUrl": "https://learn.adafruit.com/adafruit-neopixel-uberguide" + "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": "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", + "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": "https://cdn-shop.adafruit.com/640x480/5888-10.jpg", - "productUrl": "https://www.adafruit.com/product/5888", - "documentationUrl": "https://learn.adafruit.com/adafruit-neorgb-stemma" + "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" } ], - "pwm": [ + "uart": [ { - "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": "piezo_buzzer", - "displayName": "Piezo Buzzer", - "name": "piezo_buzzer", + "id": "us100", + "displayName": "US-100 Distance Sensor", + "name": "us100", "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" + "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": "rgb_led", - "displayName": "RGB LED", - "name": "rgb_led", + "id": "pms5003", + "displayName": "pms5003", + "name": "pms5003", "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" + "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": "dimmable_led", - "displayName": "Dimmable LED", - "name": "dimmable_led", + "id": "pm1006", + "displayName": "VINDRIKTNING (PM1006)", + "name": "pm1006", "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": "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" + "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": "analog_pin", - "displayName": "Analog Pin", - "name": "analog_pin", - "description": "", - "category": "pin", + "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/pin/analog_pin/image.png", - "componentAPI": "analogio" - }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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" + "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_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" - }, { "id": "ds18b20", "displayName": "DS18B20", @@ -289,455 +263,36 @@ "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": "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": "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": "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": "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": "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" - ] - }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "sen50", "displayName": "SEN50", @@ -757,84 +312,6 @@ "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": "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": "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": "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": "tmp117", "displayName": "TMP117", @@ -856,24 +333,6 @@ "0x4B" ] }, - { - "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": "pct2075", "displayName": "PCT2075", @@ -918,6 +377,950 @@ "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", @@ -937,27 +1340,6 @@ "period": 1000 } }, - { - "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": "adt7410", "displayName": "ADT7410", @@ -980,9 +1362,45 @@ ] }, { - "id": "aht21", - "displayName": "AHT21", - "name": "aht21", + "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": [ @@ -990,13 +1408,327 @@ "ambient-temp-fahrenheit", "relative-humidity" ], - "image": "components/i2c/aht21/image.jpg", - "documentationUrl": "http://www.aosong.com/en/products-60.html", + "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", @@ -1024,184 +1756,6 @@ "0x3D" ] }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "ltr329", "displayName": "LTR-329", @@ -1226,343 +1780,6 @@ "0x29" ] }, - { - "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "sht45", "displayName": "SHT45", @@ -1582,6 +1799,119 @@ "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", @@ -1604,1150 +1934,285 @@ ] }, { - "id": "vl53l1x", - "displayName": "VL53L1X", - "name": "vl53l1x", - "description": "Time of Flight (ToF) distance sensor with about ~30 to 4000mm range", + "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": "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": "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": "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": "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": "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": "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": "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": "ltr303", - "displayName": "LTR-303", - "name": "ltr303", - "description": "", - "category": "i2c", - "dataTypes": [ - { - "displayName": "Ambient Light", - "sensorType": "light" + "displayName": "Ambient Temperature (°C)", + "sensorType": "ambient-temp" }, { - "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": "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": "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": "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": "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": "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": "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": "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": "Ambient Temperature (°F)", + "sensorType": "ambient-temp-fahrenheit" + }, { - "displayName": "ADC Reading", - "sensorType": "raw" + "displayName": "Measured Object Temp (°C)", + "sensorType": "object-temp" + }, + { + "displayName": "Measured Object Temp (°F)", + "sensorType": "object-temp-fahrenheit" } ], - "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", + "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": [ - "0x68" - ] - }, - { - "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": "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": "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" + "0x0A" ] } ], - "servo": [ + "pixel": [ { - "id": "servo", - "displayName": "Generic Servo", - "name": "servo", - "description": "", - "category": "servo", + "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/169-06.jpg", - "productUrl": "https://www.adafruit.com/product/169", - "documentationUrl": "https://learn.adafruit.com/using-servos-with-circuitpython" + "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" } ], - "i2c_output": [ + "pwm": [ { - "id": "oled128x64large", - "displayName": "128x64 OLED (Large Font)", - "name": "oled128x64large", - "description": "Monochrome 128x64 I2C OLED Display with a larger font size (SSD1306)", - "category": "i2c_output", + "id": "piezo_buzzer", + "displayName": "Piezo Buzzer", + "name": "piezo_buzzer", + "description": "", + "category": "pwm", "dataTypes": [], - "image": "components/i2c_output/oled128x64large/image.png", - "productUrl": "https://www.adafruit.com/product/938", - "documentationUrl": "https://learn.adafruit.com/monochrome-oled-breakouts" + "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": "fthrwingoled128x32lg", - "displayName": "128x32 OLED'wing (Large)", - "name": "fthrwingoled128x32lg", - "description": "Monochrome 128x32 OLED featherwing display with a larger font size (SSD1306)", - "category": "i2c_output", + "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": "https://cdn-shop.adafruit.com/640x480/2900-10.jpg", - "productUrl": "https://www.adafruit.com/product/2900", - "documentationUrl": "https://learn.adafruit.com/adafruit-oled-featherwing" + "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": "oled64x32large", - "displayName": "64x32 OLED (Large Font)", - "name": "oled64x32large", - "description": "Monochrome 64x32 I2C OLED Display with a larger font size. (SSD1306)", - "category": "i2c_output", + "id": "rgb_led", + "displayName": "RGB LED", + "name": "rgb_led", + "description": "", + "category": "pwm", "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" + "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": "7seg", - "displayName": "7-Segment LED Matrix", - "name": "7seg", - "description": "7-Segment LED Matrix with I2C Backpack", - "category": "i2c_output", + "id": "dimmable_led", + "displayName": "Dimmable LED", + "name": "dimmable_led", + "description": "", + "category": "pwm", "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": "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": "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": "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": "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": "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": "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": "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": "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": "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" + "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" } ], - "uart": [ + "pin": [ { - "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", + "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": "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 - } + "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": "pms5003", - "displayName": "pms5003", - "name": "pms5003", + "id": "potentiometer", + "displayName": "Potentiometer", + "name": "potentiometer", "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 - } + "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": "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": "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": "us100", - "displayName": "US-100 Distance Sensor", - "name": "us100", + "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": "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 - } + "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" } ], - "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 - } - ] - } - } - }, - "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 - } - } - }, - "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 - } - } - }, - "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_output_metadata": { "title": "I2C Output Component Definition", "description": "I2C Output component for use in Adafruit IO", @@ -3074,6 +2539,541 @@ "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 + } + ] + } + } } } } \ No newline at end of file