ESP32 Deep-Sleep Battery Life · Schema

Raw schema.

Same JSON the GET /v1/iot-arduino/esp32-deep-sleep-battery/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.

esp32-deep-sleep-battery.schema.json
{
  "tool": "esp32-deep-sleep-battery",
  "domain": "iot-arduino",
  "version": "1.0.0",
  "name": "ESP32 Deep-Sleep Battery Life",
  "description": "Project lifetime for an ESP32 (or any duty-cycled MCU) running on battery. Computes average current and lifetime from sleep current, wake current, wake duration, cycle period, and battery derating.",
  "standard": null,
  "inputs": [
    {
      "key": "battery_capacity_mah",
      "label": "Battery Capacity",
      "required": true,
      "unit": "mAh",
      "type": "number",
      "min": 100,
      "max": 30000,
      "step": 100,
      "default": 2000
    },
    {
      "key": "sleep_current_ua",
      "label": "Sleep Current",
      "required": true,
      "unit": "µA",
      "help": "ESP32 deep-sleep is ~10 µA with RTC retention; deep-sleep + ULP can hit ~150 µA.",
      "type": "number",
      "min": 1,
      "max": 10000,
      "step": 1,
      "default": 10
    },
    {
      "key": "wake_current_ma",
      "label": "Wake Current",
      "required": true,
      "unit": "mA",
      "help": "Typical Wi-Fi TX ~160 mA, modem-sleep ~80 mA, light-sleep ~0.8 mA.",
      "type": "number",
      "min": 1,
      "max": 2000,
      "step": 1,
      "default": 80
    },
    {
      "key": "wake_duration_ms",
      "label": "Wake Duration",
      "required": true,
      "unit": "ms",
      "type": "number",
      "min": 1,
      "max": 600000,
      "step": 10,
      "default": 250
    },
    {
      "key": "cycle_period_s",
      "label": "Cycle Period",
      "required": true,
      "unit": "s",
      "help": "How often the device wakes up. 60 s = once a minute, 3600 s = once an hour.",
      "type": "number",
      "min": 1,
      "max": 86400,
      "step": 1,
      "default": 60
    },
    {
      "key": "battery_efficiency_pct",
      "label": "Usable Capacity",
      "required": true,
      "unit": "%",
      "help": "Self-discharge, voltage cut-off, regulator efficiency — 80% is realistic for Li-ion + boost.",
      "type": "number",
      "min": 50,
      "max": 100,
      "step": 1,
      "default": 80
    }
  ],
  "outputs": [
    {
      "key": "avg_current_ua",
      "label": "Average Current",
      "type": "number",
      "unit": "µA",
      "precision": 1
    },
    {
      "key": "avg_current_ma",
      "label": "Average Current",
      "type": "number",
      "unit": "mA",
      "precision": 3
    },
    {
      "key": "lifetime_hours",
      "label": "Lifetime",
      "type": "number",
      "unit": "h",
      "precision": 1
    },
    {
      "key": "lifetime_days",
      "label": "Lifetime",
      "type": "number",
      "unit": "days",
      "precision": 1
    },
    {
      "key": "lifetime_years",
      "label": "Lifetime",
      "type": "number",
      "unit": "years",
      "precision": 2
    },
    {
      "key": "daily_wakes",
      "label": "Wakes / Day",
      "type": "number",
      "unit": "",
      "precision": 0
    }
  ],
  "endpoint": "/v1/iot-arduino/esp32-deep-sleep-battery"
}