Salta al contenuto
9 Settembre 2026

Tutorial ESP32 e sensore PM2.5: componenti, firmware e cloud

Costruire un monitor PM2.5 con ESP32: componenti giusti, firmware solido, cloud sicuro e calibrazione per dati affidabili.

Tutorial ESP32 e sensore PM2.5: componenti, firmware e cloud

Monitorare la qualità dell’aria domestica non richiede più strumenti costosi o installazioni invasive. Un setup basato su ESP32 e un sensore PM2.5 permette di ottenere dati continui, esportabili nel cloud e visualizzabili in una dashboard, mantenendo il pieno controllo sulla privacy. Questo tutorial punta alla solidità: scelte di componenti ragionate, cablaggio pulito, firmware aggiornabile e una calibrazione di base per rendere i numeri davvero utili.

L’obiettivo è guidare passo dopo passo: dalla lista della spesa all’invio cifrato dei dati, fino alle regole per non trasformare un semplice monitor in un punto debole della rete domestica. Un approccio pratico, con indicazioni verificabili e best practice per un monitoraggio continuo e affidabile.

Componenti necessari e costi indicativi

Il cuore del progetto è una scheda ESP32 con Wi-Fi integrato, scelta per potenza e basso consumo. Per il particolato fine è consigliato un sensore ottico con interfaccia UART come SDS011 o PMS5003 offrono letture stabili di PM2.5 e PM10. Servono poi un alimentatore 5V affidabile (2A per margine), cavi dupont, una basetta o morsetti a molla, e un contenitore ventilato. Per migliorare la robustezza, aggiungere un level shifter solo se richiesto dal sensore, griglia antipolvere e supporti antivibrazione. Facoltativi: display OLED I2C, pulsante reset, LED di stato, sonda temperatura/umidità (es. SHT31) per compensazioni.

Stima rapida: ESP32 8–15€, sensore PM 15–30€, alimentatore 8–12€, minuteria e box 10–20€. Il budget complessivo è contenuto e scalabile: si parte dal minimo indispensabile e si aggiunge solo ciò che serve davvero. Mantenere separati i cavi di alimentazione dai segnali aiuta a ridurre il rumore; il box deve favorire un flusso d’aria naturale senza esporre direttamente alla polvere.

Assemblaggio: cablaggio pulito e affidabile

La priorità è un collegamento solido tra UART del sensore e la seriale dell’ESP32. Collegare TX del sensore a RX dell’ESP32 e RX a TX, GND comune e 5V dedicato al sensore quando richiesto. Evitare giunzioni volanti e usare fascette o guaina termorestringente. Inserire un filtro antipolvere sottile sulla presa d’aria del sensore per ridurre sporco e insetti, senza ostruire la ventola interna. Nel box, separare camere: elettronica da una parte, presa d’aria dall’altra, con aperture laterali per non falsare la misura con il calore della scheda.

Per la sicurezza elettrica: alimentatore certificato, protezione da trazione sul cavo, e fusibile ripristinabile (PTC) se si integra un connettore esterno. Se si aggiunge un display, tenere brevi i cavi I2C. Prevedere un foro per il pulsante di configurazione (ad esempio per attivare l’AP di setup) e una finestra per un LED di stato: rosso per errore sensore, blu per Wi-Fi, verde per invio dati. Una piastra forata consente fissaggio stabile e smontaggio rapido per manutenzione.

Firmware: lettura sensore, rete e OTA

La base del firmware comprende: inizializzazione UART, parser del frame dati del sensore PM2.5 media mobile per attenuare picchi, e pacchetti di telemetria con timestamp. Per la connettività, utilizzare la libreria Wi-Fi dell’ESP32 con retry esponenziale e memorizzazione di più SSID. Aggiungere una pagina di captive portal per il primo setup delle credenziali. L’invio dati dovrebbe avvenire su HTTPS/MQTTs con TLS certificati aggiornati e verifica del nome host; il protocollo MQTT con QoS 1 è una scelta solida per consegne affidabili.

Indispensabile l’OTA sicuro: aggiornamenti firmati e autenticati per correggere bug o migliorare algoritmi senza aprire il box. Implementare un watchdog e un meccanismo di fallback alla partizione precedente se l’update fallisce. Log locali circolari su SPIFFS o LittleFS possono tamponare mancanze di rete e riallineare il cloud alla riconnessione. Esporre metriche di diagnostica (uptime, RSSI, errori parser) facilita la manutenzione.

Calibrazione e validazione dei dati

I sensori ottici low-cost richiedono una calibrazione di base. Una strategia è eseguire un confronto di 48–72 ore con un riferimento locale affidabile (se disponibile) o un vicino monitor ben mantenuto. Applicare una regressione lineare per correggere offset e gain e memorizzare i coefficienti in NVS. Integrare il dato di umidità relativa consente di attenuare l’effetto igroscopico: sopra il 70% i valori possono essere sovrastimati; una correzione empirica, documentata nel codice, migliora la coerenza.

È utile aggiungere controlli di qualità: scarto di outlier oltre 3σ, flag di stabilizzazione dopo l’avvio della ventola, e verifica incrociata tra PM2.5 e PM10 per rilevare malfunzionamenti. La manutenzione periodica include pulizia delle prese d’aria, verifica del flusso della ventola e controllo dello drift ogni 6–12 mesi. Annotare nel firmware la versione dei coefficienti garantisce tracciabilità delle serie storiche.

Logging su cloud e dashboard

Per un monitoraggio continuo, un database time-series è l’opzione più pratica. Scelte comuni: InfluxDB su un piccolo server domestico o un’istanza gestita; in alternativa, MQTT verso un broker e bridge sul cloud. La dashboard con Grafana consente pannelli leggibili: medie a 1 e 15 minuti, indicatori di soglia, e stati del dispositivo. Aggiungere annotazioni automatiche agli eventi (riavvio, update OTA, perdita Wi-Fi) aiuta a interpretare gli scarti nei grafici.

Per l’upload affidabile usare buffer locale e backoff progressivo, con conferme di ricezione. Se si sceglie un servizio esterno, generare un token per dispositivo con permessi minimi e scadenza; lato rete, limitare l’uscita alle sole destinazioni necessarie. Esportare i dati in CSV o Parquet a intervalli regolari salvaguarda da lock-in e facilita analisi avanzate, come confronti stagionali o stime di esposizione personale.

Privacy domestica: best practice e sicurezza

Un sensore che parla con il cloud deve rispettare la privacy di casa. Prima regola: rete IoT separata o VLAN dedicata, senza accesso ai dispositivi personali. Disabilitare servizi inutili, chiudere porte non richieste e applicare aggiornamenti regolari. Le credenziali Wi-Fi e i segreti del cloud vanno in storage sicuro, mai in chiaro nel firmware; preferire provisioning al primo avvio con password temporanea e obbligo di cambio.

Limitare al minimo i dati personali: inviare solo valori ambientali e diagnostica tecnica, evitando geolocalizzazione precisa. Se si desidera la condivisione pubblica, usare alias non riconducibili all’abitazione e oscurare l’indirizzo IP con proxy o relay. Abilitare TLS forte, verificare i certificati e impostare rate limit sul broker riduce i rischi di abuso. Un registro delle policy nel repository del progetto, leggibile e versionato, aiuta a mantenere coerenza e trasparenza nel tempo.

Autore

Niccolò Conforti

Niccolò Conforti ha seguito il lancio di una startup napoletana in un incontro al Centro Direzionale, sostenendo una linea editoriale pro-innovazione nel settore fintech. Analista fintech, porta un dettaglio biografico: mantiene un registro delle prime pitch a cui ha assistito a Napoli.