Project · Intermediate · ESP32
ESP32 Power Budget for Battery Projects (Measured Protocol)
Measured content: this is a protocol for numbers you take with a meter. Do not invent µA figures from marketing slides. Hardware under test (declare yours) ItemExample BoardESP32-WROOM DevKit vs bare module (…
Review standard applies. This piece is held to versions, comparison/context, failure modes, and a verdict. Read the standard →
Project template
- Goal & materials
- Steps / firmware
- Troubleshooting
- AI assist notes
- Related gear & books
Measured content: this is a protocol for numbers you take with a meter. Do not invent µA figures from marketing slides.
Hardware under test (declare yours)
| Item | Example |
|---|---|
| Board | ESP32-WROOM DevKit vs bare module (DevKits waste mA on USB serial) |
| Meter | Multimeter with mA range or USB power meter for crude active draws |
| Supply | Bench PSU or battery pack with known chemistry |
States to measure
| State | How | Your mA |
|---|---|---|
| Active Wi-Fi TX burst | Publishing loop | |
| Active idle connected | Wi-Fi up, light loop | |
| Modem sleep / light sleep | Per IDF/Arduino APIs you actually call | |
| Deep sleep | Wake on timer; watch regulator leftovers on DevKits |
Budget math
Average_mA ≈ (active_mA * active_fraction) + (sleep_mA * sleep_fraction)
Runtime_h ≈ (battery_mAh * usable_fraction) / Average_mA
What broke / confused
- Measuring a DevKit and expecting bare-module sleep current
- Ignoring LED and USB-UART always-on draw
- Coin cells for Wi-Fi beacons every second (fantasy)
Review verdict
Measure your board, not the datasheet highlight reel. Battery projects fail from average current and boost/regulator waste, not from missing one more library.
Export
Log sheet columns: state, mA, duty cycle, battery mAh, estimated hours. Pair with platformio-esp32-starter.zip for firmware skeleton.