Una de las preguntas más frecuentes al diseñar un sensor inalámbrico o nodo IoT es: ¿cuánto va a durar la batería? La respuesta depende de cuánto consume el dispositivo en cada estado y cuánto tiempo pasa en cada uno. En esta guía te enseñamos a calcularlo con precisión.
El Secreto: La Corriente Promedio Ponderada
El truco está en que el ESP32 no consume lo mismo todo el tiempo. Un ciclo típico IoT tiene dos fases:
- Fase activa: despierta, lee el sensor, envía los datos por WiFi, vuelve a dormir. Dura 1-5 segundos. Consume 75-240 mA.
- Fase deep sleep: solo el RTC está activo. Puede durar minutos u horas. Consume apenas 10-150 μA (0.01-0.15 mA).
La corriente promedio es la que realmente importa para estimar la duración:
Iavg = (Iactivo × Tactivo + Isleep × Tsleep) / (Tactivo + Tsleep)
Y la autonomía:
Autonomía (h) = Capacidad (mAh) / Iavg (mA)
Ejemplo Real: Sensor de Temperatura con ESP32 y Batería 18650
Parámetros:
- Batería: 18650 de 3000 mAh, eficiencia 85% → 2550 mAh efectivos
- ESP32 activo (WiFi): 80 mA
- ESP32 deep sleep: 10 μA = 0.01 mA
- Tiempo activo por ciclo: 2 segundos
- Tiempo dormido por ciclo: 300 segundos (5 minutos)
Cálculo:
Iavg = (80 × 2 + 0.01 × 300) / (2 + 300) = (160 + 3) / 302 = 0.54 mA
Autonomía = 2550 / 0.54 = 4.722 horas → 196 días (6.5 meses)
Qué Pasa si Duerme Más Tiempo
Con 3600 segundos entre mediciones (1 hora):
Iavg = (80 × 2 + 0.01 × 3600) / (2 + 3600) = 196 / 3602 = 0.054 mA
Autonomía = 2550 / 0.054 = 5.4 años
Este es el poder del deep sleep: reducir la frecuencia de envío de datos multiplica la autonomía exponencialmente.
Tabla de Consumos por Dispositivo
| Dispositivo | Corriente activa | Deep Sleep | Autonomía típica* |
|---|---|---|---|
| ESP32 genérico | 75-240 mA | 10-150 μA | 6-18 meses |
| ESP32-S2 | 40-130 mA | 22 μA | 12-24 meses |
| ESP32-C3 | 15-80 mA | 5 μA | 24+ meses |
| ESP8266 | 60-170 mA | 20 μA | 6-12 meses |
| Arduino + nRF24L01 | 15-30 mA | 5 μA | 12+ meses |
* Con batería 18650 (3000mAh), 1 envío por hora, 2s activo, eficiencia 85%
Calculadora de Autonomía IoT
Ingresa la capacidad de tu batería, la corriente activa y de sleep, y el ciclo de operación. Obtén la autonomía estimada en horas, días o meses con presets para ESP32, ESP8266 y Arduino.
Calcular autonomía de mi proyecto →Tips para Maximizar la Duración de Batería
- Minimiza el tiempo activo: Cada segundo activo = 80 mA. Optimiza el código para conectar a WiFi, enviar y dormirse lo más rápido posible (objetivo: <1 segundo).
- Usa frecuencia de envío adaptativa: Si el valor del sensor no cambió, no envíes datos.
- Apaga periféricos: Sensores, LEDs y módulos SD consumen durante el ciclo activo. Apágalos con un MOSFET o pin EN.
- Usa el modo de ahorro de WiFi:
WiFi.setSleep(true)reduce el consumo activo. - Elige el chip correcto: Si la autonomía es crítica, ESP32-C3 (5μA sleep) vs ESP32 genérico (150μA sleep) puede duplicar la vida útil.
¿Qué Batería Elegir?
- 18650: 2500-3500 mAh. La mejor opción calidad/precio para proyectos fijos.
- LiPo 1000-2000mAh: Más compacta, ideal para proyectos portátiles. Requiere módulo de carga TP4056.
- Pilas AA (3x1.5V=4.5V) + LDO: Fáciles de reemplazar en campo, buena opción para sensores remotos.
- Panel solar + LiPo: Para instalaciones permanentes con suficiente luz. El panel de 5V/1W es suficiente para un ESP32 que duerme 99% del tiempo.
En Especificar.cl tenemos el ESP32 de 38 pines con USB-C listo para tus proyectos IoT con batería.