Skip to content

Power Budget Calculator

The tinyCore ESP32-S3 has dramatically different power consumption depending on what it is doing. A device transmitting over Wi-Fi constantly can drain a 1000 mAh battery in hours, while the same device sleeping 99% of the time can last years.

Use this calculator to plan your power budget before you build.


  1. Choose your active mode — what is the tinyCore doing when it’s “awake”? Select the closest match (e.g., Wi-Fi TX for a sensor that uploads data).
  2. Choose your sleep mode — Deep Sleep for maximum battery life; Light Sleep if you need faster wake-up or peripheral retention.
  3. Set your timing — how long does the device stay active each cycle? How long does it sleep between cycles?
  4. Pick a battery capacity — use a preset or drag the slider to match your actual battery.

The calculator shows your estimated battery life using 80% of rated capacity, which is a realistic figure that avoids over-discharging and extends battery health.


All values measured at 3.3 V, 25°C on battery power (not USB). USB-powered values are slightly higher due to the onboard USB bridge.

Operating ModeBattery CurrentNotes
Deep Sleep10 μARTC timer + RTC memory active
Light Sleep2.1 mACPU paused, RAM retained, peripheral wake-up
CPU Only / Modem Sleep~38.5 mACPU at full speed, radios off
Wi-Fi Idle~46.5 mAConnected to AP, no data transfer
Wi-Fi Transmitting~73.5 mAActive data transmission
Wi-Fi Scanning~108.5 mAContinuously scanning for networks
BLE Advertising~70.5 mABroadcasting advertisement packets
BLE Connected + Transmitting~73.5 mAActive BLE data transfer
IMU Sampling~40.5 mAContinuous motion data at 50ms intervals
All Peripherals~78.5 mAWi-Fi + BLE + IMU + LEDs simultaneously

Note: During battery operation, the PWR and CHRG LEDs are disabled. Each onboard LED draws ~1.5 mA at full brightness.


ProfileAverage CurrentEstimated Life (1000 mAh)
Deep Sleep with periodic WiFi~15 μA average2–3 years
Light Sleep IoT sensor~5 mA average20–30 days
Active Wi-Fi data logger~50 mA average4–6 days
Continuous BLE beacon~70 mA average2–3 days

Estimates include self-discharge and temperature derating. Actual results vary.


  • Batch your transmissions — wake up, take 10 readings, send them all at once, then sleep. Fewer WiFi connect/disconnect cycles saves significant power.
  • Use Deep Sleep over Light Sleep when you don’t need to retain state — it’s 200× more efficient.
  • Reduce active time — the connection + authentication overhead is often larger than the actual data transmission. Use a static IP to skip DHCP.
  • Lower the CPU frequency during low-demand tasks using setCpuFrequencyMhz(80) or setCpuFrequencyMhz(40).
  • Disable unused peripherals — if your sketch doesn’t use BLE, don’t initialize it.