Come funziona la stima
Un nodo a batteria passa quasi tutta la vita a dormire. Ogni pochi minuti si sveglia, legge i sensori, accende la radio per inviare i dati e torna a dormire. L’autonomia dipende dalla corrente media su un ciclo completo, non dai picchi.
I_media = (I_attiva × t_attiva + I_radio × t_radio + I_sleep × t_sleep) / T
+ I_regolatore + I_periferiche + I_autoscarica
autonomia = capacità utilizzabile / I_media
L’autoscarica viene trasformata in una corrente costante equivalente. Una LiPo da 2000 mAh che perde circa il 2% al mese si comporta come un carico in più da 55 µA, più di cinque volte il consumo di un ESP32 in deep sleep.
Con il preset iniziale (modulo ESP32 nudo, regolatore HT7333, LiPo da 2000 mAh, un risveglio ogni 15 minuti con 2 secondi di WiFi) la corrente media è di circa 379 µA e la batteria dura circa 6 mesi. Il WiFi pesa il 70% della carica, quindi accorciare la connessione è l’intervento più efficace.
Correnti tipiche in deep sleep
| Chip | Modalità | Corrente tipica |
|---|---|---|
| ESP32 | Deep sleep, timer RTC | ≈ 10 µA |
| ESP32-C3 | Deep sleep | ≈ 5 µA |
| ESP32-S3 | Deep sleep, timer RTC | ≈ 8 µA |
| ATmega328P (Uno, Nano, Pro Mini) | Power-down con watchdog | ≈ 4 µA |
| nRF52840 | System ON con RTC | ≈ 2–3 µA |
| RP2040 (scheda Raspberry Pi Pico) | Dormant | ≈ 0,8 mA |
Valori indicativi del solo chip, dai datasheet dei produttori, a circa 3,3 V e temperatura ambiente. Una scheda di sviluppo aggiunge regolatore, LED e convertitore USB-seriale, spesso centinaia di volte di più.
Perché una DevKit ESP32 scarica la batteria anche in deep sleep
Il chip ESP32 scende a circa 10 µA, ma una DevKit tipica continua ad assorbire diversi milliampere. Il solo regolatore AMS1117 consuma circa 5 mA a riposo, il LED di alimentazione resta acceso e il chip USB-seriale resta alimentato. Su una LiPo da 2000 mAh i mesi diventano circa una settimana.
Scegli il preset "ESP32 DevKit così com’è" qui sopra per vedere la differenza. Per l’uso a batteria passa a un modulo nudo o a una scheda progettata per il basso consumo, con un regolatore a bassa corrente di riposo come MCP1700 o HT7333.
Domande frequenti
Quanto dura un ESP32 a batteria?
Dipende soprattutto da quanto spesso si sveglia e da quanto resta acceso il WiFi. Un modulo ESP32 nudo con un regolatore a bassa corrente di riposo, che si sveglia ogni 15 minuti per circa 2 secondi di WiFi, dura circa 6 mesi con una LiPo da 2000 mAh, e più di un anno se si sveglia una volta all’ora. Una scheda di sviluppo usata così com’è dura circa una settimana.
Posso alimentare un ESP32 con una pila CR2032?
Non in modo affidabile con il WiFi. I picchi di trasmissione superano i 200 mA, mentre una CR2032 è pensata per carichi di pochi milliampere: la tensione crolla e il chip si resetta. Con le pile a bottone usa un chip BLE come l’nRF52, oppure passa a una LiPo o a pile AA.
Quale regolatore di tensione usare per un ESP32 a batteria?
Un LDO con bassa corrente di riposo, come MCP1700 (circa 1,6 µA) o HT7333 (circa 4 µA). Verifica che la sua corrente massima sia adatta ai picchi del WiFi e aggiungi un condensatore di riserva vicino al modulo. Evita l’AMS1117 montato su molte schede: consuma circa 5 mA anche a vuoto.
Come si misura la corrente in deep sleep?
Un multimetro in serie sulla portata dei µA va bene per la corrente di sleep, ma il suo shunt può far cadere abbastanza tensione da resettare la scheda al risveglio. Un power profiler come il PPK2 di Nordic registra l’intero ciclo, dai microampere alle centinaia di milliampere, e i suoi valori si inseriscono direttamente in questo calcolatore.
Perché conta l’autoscarica della batteria?
Con intervalli di risveglio lunghi la corrente media diventa così piccola che le perdite della batteria stessa diventano la voce principale. Una LiPo che perde il 2% al mese equivale a circa 55 µA su 2000 mAh. Per durare anni, una pila al litio primario Li-SOCl₂ perde circa l’1% all’anno.