{
  "updated_at": "2026-10-29",
  "platform": "Seeed Studio XIAO ESP32S3",
  "currency": "mixed",
  "price_note": "Supplier prices retain their own currency: Seeed USD, Electrokit battery SEK including 25% Swedish VAT. Do not sum currencies. Shipping, enclosure, wiring, assembly and testing are additional.",
  "parts": [
    {
      "id": "s3",
      "name": "XIAO ESP32S3",
      "sku": "113991114",
      "price": 7.49,
      "url": "https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html",
      "interface": "USB-C / Wi-Fi / BLE",
      "voltage": "3.3 V GPIO",
      "notes": "Default controller. Bare version needs headers soldered. Antenna placement must be tested.",
      "docs": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/",
      "currency": "USD"
    },
    {
      "id": "sense",
      "name": "XIAO ESP32S3 Sense",
      "sku": "113991115",
      "price": 13.99,
      "url": "https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html",
      "interface": "Camera / USB-C / Wi-Fi / BLE",
      "voltage": "3.3 V GPIO",
      "notes": "Includes camera daughterboard. Camera sensor revision varies; firmware must detect the supplied module. No extra camera purchase required.",
      "docs": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/",
      "currency": "USD"
    },
    {
      "id": "base",
      "name": "Grove Base for XIAO",
      "sku": "103020312",
      "price": 3.9,
      "url": "https://www.seeedstudio.com/Grove-Shield-for-Seeeduino-XIAO-p-4621.html",
      "interface": "Grove I2C / digital / analog",
      "voltage": "Verify Grove supply rail before assembly",
      "notes": "XIAO footprint compatible. Header soldering is done during assembly. Do not connect the base charger and XIAO charger to the same battery.",
      "docs": "https://wiki.seeedstudio.com/Grove-Shield-for-Seeeduino-XIAO-embedded-battery-management-chip/",
      "currency": "USD"
    },
    {
      "id": "reed",
      "name": "Grove Magnetic Switch",
      "sku": "101020038",
      "price": 3.2,
      "url": "https://www.seeedstudio.com/Grove-Magnetic-Switch.html",
      "interface": "Digital D0 / GPIO1",
      "voltage": "Power from 3.3 V",
      "notes": "Door open/closed input. Add a mounting magnet. Keep separate from camera frame pins.",
      "docs": "https://wiki.seeedstudio.com/Grove-Magnetic_Switch/",
      "currency": "USD"
    },
    {
      "id": "imu",
      "name": "Grove 6-Axis Accelerometer & Gyroscope (LSM6DS3)",
      "sku": "105020012",
      "price": 12.9,
      "url": "https://www.seeedstudio.com/Grove-6-Axis-Accelerometer-Gyroscope.html",
      "interface": "I2C SDA D4 / SCL D5",
      "voltage": "3.3 V",
      "notes": "Acceleration and rotation, not GPS location. Address 0x6A or 0x6B; scan the actual board.",
      "docs": "https://wiki.seeedstudio.com/Grove-6-Axis_AccelerometerAndGyroscope/",
      "currency": "USD"
    },
    {
      "id": "tof",
      "name": "Grove Time of Flight (VL53L0X)",
      "sku": "101020532",
      "price": 7.99,
      "url": "https://www.seeedstudio.com/Grove-Time-of-Flight-Distance-Sensor-VL53L0X.html",
      "interface": "I2C SDA D4 / SCL D5",
      "voltage": "3.3 V / 5 V module; use 3.3 V",
      "notes": "Recommended measurement distance 30–1000 mm. Suitable for short-range indoor occupancy experiments; not a vehicle safety sensor. Validate target, angle, light and enclosure window.",
      "docs": "https://wiki.seeedstudio.com/Grove-Time_of_Flight_Distance_Sensor-VL53L0X/",
      "currency": "USD"
    },
    {
      "id": "sht31",
      "name": "Grove Temperature & Humidity (SHT31)",
      "sku": "101020212",
      "price": 9.9,
      "url": "https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-SHT31.html",
      "interface": "I2C SDA D4 / SCL D5",
      "voltage": "3.3 V / 5 V module; use 3.3 V",
      "notes": "Address 0x44. Vent the enclosure and separate the sensor from controller heat. Not a food-safety instrument.",
      "docs": "https://wiki.seeedstudio.com/Grove-TempAndHumi_Sensor-SHT31/",
      "currency": "USD"
    },
    {
      "id": "force",
      "name": "Grove Round Force Sensor (FSR402)",
      "sku": "101020553",
      "price": 14.9,
      "url": "https://www.seeedstudio.com/Grove-Round-Force-Sensor-FSR402.html",
      "interface": "Analog A0 / GPIO1",
      "voltage": "3.3 V power and signal maximum",
      "notes": "Use a dedicated 3.3 V harness, not an unverified 5 V Grove rail. Nonlinear touch/force detection, not an accurate scale or air-pressure sensor. Calibrate a threshold for each mounting.",
      "docs": "https://wiki.seeedstudio.com/Grove-Round_Force_Sensor_FSR402/",
      "currency": "USD"
    },
    {
      "id": "button",
      "name": "Grove Button",
      "sku": "101020003",
      "price": 1.9,
      "url": "https://www.seeedstudio.com/Grove-Button.html",
      "interface": "Digital GPIO",
      "voltage": "3.3 V supply",
      "notes": "Optional input. Debounce in firmware. Choose an unused pin.",
      "docs": "https://wiki.seeedstudio.com/Grove-Button/",
      "currency": "USD"
    },
    {
      "id": "pir",
      "name": "Grove PIR Motion Sensor",
      "sku": "101020020",
      "price": 8.7,
      "url": "https://www.seeedstudio.com/Grove-PIR-Motion-Sensor.html",
      "interface": "Digital GPIO",
      "voltage": "Verify exact module revision",
      "notes": "Optional room-motion detector. Different from the IMU that measures motion of the box itself.",
      "docs": "https://wiki.seeedstudio.com/Grove-PIR_Motion_Sensor/",
      "currency": "USD"
    },
    {
      "id": "battery",
      "name": "Protected LiPo 3.7 V / 400 mAh (Electrokit 41016062)",
      "sku": "41016062",
      "price": 119,
      "url": "https://www.electrokit.com/batteri-lipo-3.7v-400mah",
      "interface": "JST-PH 2-pin via polarity-checked harness to XIAO BAT pads",
      "voltage": "3.7 V nominal / 4.2 V full; 1.48 Wh",
      "notes": "PCM protection. 35 x 25 x 5 mm. Standard charge 80 mA, max 400 mA; max discharge 800 mA. Charge at 0–55 °C only. Verify polarity and actual batch UN 38.3 summary. Use only XIAO charger, not Grove base charger. Price includes 25% Swedish VAT; no currency conversion assumed.",
      "docs": "https://www.electrokit.com/batteri-lipo-3.7v-400mah",
      "currency": "SEK"
    }
  ],
  "kits": [
    {
      "id": "camera",
      "name": "Camera Kit",
      "tagline": "Give your code eyes.",
      "description": "One compact camera for snapshots, visual check-ins and fridge experiments.",
      "parts": [
        {
          "part": "sense",
          "qty": 1
        },
        {
          "part": "battery",
          "qty": 1
        }
      ],
      "capabilities": [
        "camera.snapshot"
      ],
      "recipes": [
        "fridge"
      ],
      "assembly": "Camera module on the XIAO Sense connector. No extra door sensor. Onboard microphone is not exposed or used by this kit. Connect the protected 400 mAh cell through a polarity-checked harness and transport switch to XIAO BAT pads. Use only the XIAO charger. Power the sensor from 3.3 V; the 5 V pin is off on battery. Verify charge current against the cell rating and inhibit charging below 0 °C.",
      "limits": "Fridge use needs condensation, lighting, power-cable and Wi-Fi tests. The launch kit is a developer kit, not a food freshness detector.",
      "power": "Installed protected 3.7 V / 400 mAh LiPo, charged through USB-C. Use a USB power bank or regulated 5 V USB supply for longer runs. Power bank and mains adapter not included. Runtime must be measured for your firmware.",
      "sample": {
        "camera.snapshot": {
          "image_url": null,
          "captured_at": "2026-10-29T12:00:00Z",
          "width": 640,
          "height": 480
        }
      },
      "sensor_modules": 1,
      "slug": "camera",
      "box_contents": [
        "1 × XIAO ESP32S3 Sense, SKU 113991115, with camera daughterboard",
        "1 × supplied Wi-Fi antenna",
        "1 × protected 400 mAh LiPo battery (Electrokit 41016062), installed",
        "1 × protective enclosure with sensor-specific openings",
        "1 × USB-C data/power cable",
        "1 × installed wiring and battery connector set, transport switch and insulated mounts",
        "Device claim code and setup guide"
      ],
      "sensor_model": "Camera module supplied with the Sense board; revision checked before assembly",
      "enclosure": "The planned first-batch enclosure is custom 3D-printed black PA12 nylon, with a screw-fastened lid, USB-C opening and sensor-specific openings. Images are concept renders. Final dimensions, fit and finish await the physical prototype. No waterproof rating is claimed."
    },
    {
      "id": "motion",
      "name": "Motion Kit",
      "tagline": "If it moves, build on it.",
      "description": "Acceleration and rotation for bike movement alerts, gesture controls and SkiTik experiments.",
      "parts": [
        {
          "part": "s3",
          "qty": 1
        },
        {
          "part": "imu",
          "qty": 1
        },
        {
          "part": "battery",
          "qty": 1
        }
      ],
      "capabilities": [
        "motion.sample"
      ],
      "recipes": [
        "bike",
        "ski"
      ],
      "assembly": "One LSM6DS3 IMU module (acceleration and rotation). Direct 3.3 V I2C harness: SDA D4/GPIO5, SCL D5/GPIO6. Calibrate orientation after mounting. Connect the protected 400 mAh cell through a polarity-checked harness and transport switch to XIAO BAT pads. Use only the XIAO charger. Power the sensor from 3.3 V; the 5 V pin is off on battery. Verify charge current against the cell rating and inhibit charging below 0 °C.",
      "limits": "Remote alerts need Wi-Fi or a separately implemented phone/gateway relay. No GPS, theft recovery guarantee or weatherproof rating.",
      "power": "Installed protected 3.7 V / 400 mAh LiPo, charged through USB-C. Use a USB power bank or regulated 5 V USB supply for longer runs. Power bank and mains adapter not included. Runtime must be measured for your firmware.",
      "sample": {
        "motion.sample": {
          "acceleration_g": {
            "x": 0.1,
            "y": 0.2,
            "z": 1.1
          },
          "rotation_dps": {
            "x": 2,
            "y": 3,
            "z": 15
          },
          "moving": true
        }
      },
      "sensor_modules": 1,
      "slug": "motion",
      "box_contents": [
        "1 × XIAO ESP32S3, SKU 113991114",
        "1 × supplied Wi-Fi antenna",
        "1 × Grove LSM6DS3 accelerometer + gyroscope, SKU 105020012",
        "1 × protected 400 mAh LiPo battery (Electrokit 41016062), installed",
        "1 × protective enclosure with sensor-specific openings",
        "1 × USB-C data/power cable",
        "1 × installed wiring and battery connector set, transport switch and insulated mounts",
        "Device claim code and setup guide"
      ],
      "sensor_model": "Grove LSM6DS3 accelerometer + gyroscope, SKU 105020012",
      "enclosure": "The planned first-batch enclosure is custom 3D-printed black PA12 nylon, with a screw-fastened lid, USB-C opening and sensor-specific openings. Images are concept renders. Final dimensions, fit and finish await the physical prototype. No waterproof rating is claimed."
    },
    {
      "id": "distance",
      "name": "Distance Kit",
      "tagline": "Turn distance into a signal.",
      "description": "A short-range distance sensor for a garage space, a desk or an object-presence experiment.",
      "parts": [
        {
          "part": "s3",
          "qty": 1
        },
        {
          "part": "tof",
          "qty": 1
        },
        {
          "part": "battery",
          "qty": 1
        }
      ],
      "capabilities": [
        "distance.sample"
      ],
      "recipes": [
        "parking"
      ],
      "assembly": "One VL53L0X distance module. Direct 3.3 V I2C harness: SDA D4/GPIO5, SCL D5/GPIO6, address 0x29. Connect the protected 400 mAh cell through a polarity-checked harness and transport switch to XIAO BAT pads. Use only the XIAO charger. Power the sensor from 3.3 V; the 5 V pin is off on battery. Verify charge current against the cell rating and inhibit charging below 0 °C.",
      "limits": "Design around the manufacturer's recommended 30–1000 mm range. Indoor prototype; not a safety system for parking or driving.",
      "power": "Installed protected 3.7 V / 400 mAh LiPo, charged through USB-C. Use a USB power bank or regulated 5 V USB supply for longer runs. Power bank and mains adapter not included. Runtime must be measured for your firmware.",
      "sample": {
        "distance.sample": {
          "distance_mm": 420,
          "valid": true
        }
      },
      "sensor_modules": 1,
      "slug": "distance",
      "box_contents": [
        "1 × XIAO ESP32S3, SKU 113991114",
        "1 × supplied Wi-Fi antenna",
        "1 × Grove VL53L0X distance sensor, SKU 101020532",
        "1 × protected 400 mAh LiPo battery (Electrokit 41016062), installed",
        "1 × protective enclosure with sensor-specific openings",
        "1 × USB-C data/power cable",
        "1 × installed wiring and battery connector set, transport switch and insulated mounts",
        "Device claim code and setup guide"
      ],
      "sensor_model": "Grove VL53L0X distance sensor, SKU 101020532",
      "enclosure": "The planned first-batch enclosure is custom 3D-printed black PA12 nylon, with a screw-fastened lid, USB-C opening and sensor-specific openings. Images are concept renders. Final dimensions, fit and finish await the physical prototype. No waterproof rating is claimed."
    },
    {
      "id": "climate-touch",
      "name": "Climate Kit",
      "tagline": "Give your code a feel for the room.",
      "description": "One temperature and humidity module for room monitoring and climate experiments.",
      "parts": [
        {
          "part": "s3",
          "qty": 1
        },
        {
          "part": "sht31",
          "qty": 1
        },
        {
          "part": "battery",
          "qty": 1
        }
      ],
      "capabilities": [
        "climate.sample"
      ],
      "recipes": [],
      "assembly": "One SHT31 module measuring temperature and humidity. Direct 3.3 V I2C harness on D4/D5. Vent the enclosure and separate the sensor from controller heat. Connect the protected 400 mAh cell through a polarity-checked harness and transport switch to XIAO BAT pads. Use only the XIAO charger. Power the sensor from 3.3 V; the 5 V pin is off on battery. Verify charge current against the cell rating and inhibit charging below 0 °C.",
      "limits": "Keep the sensor ventilated and away from controller heat. Not a certified food-safety instrument. No touch or force sensor included.",
      "power": "Installed protected 3.7 V / 400 mAh LiPo, charged through USB-C. Use a USB power bank or regulated 5 V USB supply for longer runs. Power bank and mains adapter not included. Runtime must be measured for your firmware.",
      "sample": {
        "climate.sample": {
          "temperature_c": 22.4,
          "humidity_pct": 48
        }
      },
      "sensor_modules": 1,
      "slug": "climate",
      "box_contents": [
        "1 × XIAO ESP32S3, SKU 113991114",
        "1 × supplied Wi-Fi antenna",
        "1 × Grove SHT31 temperature + humidity sensor, SKU 101020212",
        "1 × protected 400 mAh LiPo battery (Electrokit 41016062), installed",
        "1 × protective enclosure with sensor-specific openings",
        "1 × USB-C data/power cable",
        "1 × installed wiring and battery connector set, transport switch and insulated mounts",
        "Device claim code and setup guide"
      ],
      "sensor_model": "Grove SHT31 temperature + humidity sensor, SKU 101020212",
      "enclosure": "The planned first-batch enclosure is custom 3D-printed black PA12 nylon, with a screw-fastened lid, USB-C opening and sensor-specific openings. Images are concept renders. Final dimensions, fit and finish await the physical prototype. No waterproof rating is claimed."
    }
  ],
  "included_common": [
    "One sensor module with assembled XIAO controller",
    "Simple protective enclosure with sensor openings",
    "Installed protected 3.7 V rechargeable battery; USB-C charging",
    "Wiring and USB-C data/power cable",
    "Device claim code and setup instructions"
  ],
  "validation": "Documentation-level component matching. Physical fit, firmware on the delivered sensor revision and end-to-end operation must be bench-tested before dispatch. No kit is claimed to have been physically assembled by the coding agent.",
  "future_extensions": [
    "Water leak sensing",
    "Light level",
    "PIR presence",
    "Air pressure (separate from force pad)",
    "Low-power BLE wearable revision after gateway and runtime validation"
  ],
  "battery_note": "400 mAh / 1.48 Wh Electrokit 41016062 is the selected battery model, matching the existing SkiTik prototype order. Physical delivered-batch identity and UN 38.3 test summary remain to be checked. Runtime depends on Wi-Fi/camera duty cycle; continuous camera use should use USB-C.",
  "sensor_note": "One primary sensor module per box: camera, IMU, distance or climate. The IMU combines acceleration and rotation; SHT31 combines temperature and humidity. The XIAO Sense board has an unused microphone, which this Camera Kit does not expose. No extra reed switch or force pad is included.",
  "powerbank_note": "Need longer runtime? Connect a USB power bank or a regulated 5 V USB supply through USB-C. For sleeping sensors, choose a power bank that stays on at low current; some switch off automatically. Power bank and mains adapter are not included. Runtime depends on your application.",
  "enclosure_note": "The planned first-batch enclosure is custom 3D-printed black PA12 nylon, with a screw-fastened lid, USB-C opening and sensor-specific openings. Images are concept renders. Final dimensions, fit and finish await the physical prototype. No waterproof rating is claimed.",
  "indicator_note": "Seeed XIAO ESP32S3 has an orange user LED and a red charging LED. The concept shows an orange status light through a proposed light pipe; final position depends on the enclosure and board revision. There is no built-in green front-panel LED."
}