Come abbiamo trasformato un progetto quasi impossibile (e sensori da 5 €) in un dispositivo smart grazie a elettronica, statistica e un pizzico di Matrix (si il film)
La sfida
Ad inizio 2025 ci è stato commissionato un progetto incredibile: sviluppare l’elettronica per un device indossabile.
L’oggetto aveva il compito di controllare la qualità dell’aria ed avvisare l’utente nel caso venissero rilevati composti inquinanti o tossici.
I vincoli erano stringenti, ma del resto la libertà di agire proviene dalle regole.
Cosa sarebbe ad esempio il gioco degli scacchi senza le regole?
Il dispositivo doveva essere il più piccolo possibile ed:
Avere una durata di qualche giorno alimentato a batteria
Avere una connessione WiFi per possibili sviluppi futuri
Avere una dimensione ridottissima, del resto era un wearable
Avere la possibilità di avvisare l’utente con feedback aptico
Avere la possibilità di interagire con l’utente senza nessun pulsante
E poi la richiesta che ogni committente sogna: BASSO COSTO!
Gli inquinanti da monitorare
Innanzi tutto la scelta dei sensori. Abbiamo selezionato gli inquinanti da individuare facendo un viaggio interessante tra composti letali, tossici o almeno pericolosi.
Ed ecco qui la nostra specialissima top 5:
CO (Monossido di carbonio): letale, non ha bisogno di presentazioni, è in grado di uccidere quasi all’istante, senza preavviso.
H₂S (idrogeno solforato): cosa potrà mai succedere se si mette insieme un gas reattivo come l’idrogeno con un non metallo dal carattere particolarmente irritabile come lo zolfo? Il matrimonio di questi due elementi crea un composto estremamente pericoloso anche a basse concentrazioni: irritante per gli occhi e le mucose, causa lacrimazione, tosse e difficoltà respiratorie. A concentrazioni leggermente più alte porta ad edema polmonare, aritmia cardiaca. Ci sono buone notizie però: è infiammabile.
NO₂ (biossido di azoto): meno famoso dei precedenti ma altrettanto pericoloso. Soprattutto in anziani e bambini. Può causare asma ed edema polmonare.
NH₃ (ammoniaca): la conosciamo tutti. La tossicità dell’ammoniaca dipende dalla concentrazione e dalla durata dell’esposizione, con effetti che vanno da irritazione di occhi, naso e gola a gravi ustioni chimiche, edema polmonare ed alla lunga è potenzialmente letale, specialmente in caso di inalazione, contatto con pelle e mucose o ingestione. Viene usata nei sistemi di controllo della temperatura nella stazione spaziale dove una sua fuga è classificata pericolosa tanto quanto l’esplosione di un finestrino.
VOC (Volatile Organic Compounds): composti organici volatili. Sono quei composti a base carbonio che diventano gas facilmente: benzina, alcool, acetone, formaldeide e simili. Sicuramente non letali a basse concentrazioni, ma non dormirei con una tanica di benzina aperta accanto al letto… e non solo per il pericolo di incendio.
Una volta individuato cosa cercare ci siamo focalizzati sulla scelta dei sensori, trovando componenti che permettevano di identificare gli inquinanti.
Dal prototipo alla realtà
Siamo poi passati alla fase di sviluppo, simulazione e realizzazione del circuito.
Circuito su due strati con i componenti saldati su entrambi, dotato di un micromotore elettrico per creare la vibrazione ed allertare l’utente, un LED neopixel che cambia colore e si illumina dando anche un feedback visivo del gas rilevato, il tutto controllato da un piccolissimo XIAO. (Grazie seeed studio!)
Per risparmiare la batteria, il rail di alimentazione dei sensori era controllato da transistor. Agendo come interruttori potevamo accendere e spegnere i sensori al comando, facendo risparmiare energia ed allungando la durata della batteria.
Stessa cosa per lo XIAO: il nostro centro di controllo che, entrando in una condizione chiamata deep sleep, consuma pochi microampere.
La batteria ora poteva alimentare il circuito per qualche giorno invece che per qualche ora.

simulazione del circuito finito
La scomoda verità
Ma non tutto funziona sempre secondo le simulazioni, soprattutto quando si ha a che fare con scadenti sensori cinesi e con la documentazione unicamente in cinese.
Al primo avvio del sistema ci siamo scontrati con la realtà: i sensori, TUTTI i sensori, soffrivano di cross sensitivity.
La condizione peggiore in assoluto a cui ci saremmo mai potuti affacciare.
La cross sensitivity è quell’effetto per cui un sensore misura anche altro rispetto a quello per cui è stato progettato. E’ un difetto e solitamente più i sensori costano meno hanno effetti di cross sensitivity.
Nel nostro caso, esponendo il dispositivo al monossido di carbonio (sì, ci piace usare il gas più letale della nostra top 5)… tutti i sensori si attivavano.
Se veniva esposto all’ammoniaca? Stessa cosa.
Alcol? Anche.
Presi dallo sconforto, dopo aver disegnato un PCB stupendo di appena 3 cm di lato, stavamo per abbandonare l’intero progetto.
L’intuizione matematica
Ma come avevo detto prima: la libertà viene dalle regole.
E come dice Morpheus a Neo in Matrix:
“Ricorda che queste regole sono simili a quelle di un sistema di elaborazione dati: alcune possono essere eluse, altre infrante.”
Infrangere le regole quando si tratta di chimica ed elettronica risulta complesso nel mondo reale… ma per quanto riguarda l’elusione, forse non era tutto perduto.
Ci siamo appellati alla matematica e alla statistica.
Abbiamo notato che è vero che ogni sensore reagiva ad ogni composto, ma ogni sensore reagiva in modo unico a quel composto.
Qui sotto potete vedere la distribuzione statistica dei dati raccolti quando il sistema è stato esposto al monossido di carbonio.
Come si nota: ogni sensore si attiva, ma lo fa in modo differente.
Quindi è davvero possibile capire cosa il dispositivo sta rilevando anche se tutti i sensori si attivano simultaneamente, usando queste distribuzioni statistiche come “firme”.
L’addestramento
Abbiamo preso migliaia di letture di aria pulita, di aria con molecole di alcol, e letture con ogni composto che siamo riusciti a produrre.
Per qualche settimana il nostro laboratorio si è trasformato anche in un laboratorio di chimica.
A questo punto avevamo un dataset pronto: mancava solo la magia.
Con Python, su un computer, usando quei dati è stato fatto un addestramento su una rete decisionale usando Random Forest come classificatore.
Terminato l’addestramento e trasferita la rete sul device, ci siamo resi conto che eravamo riusciti davvero ad eludere quelle regole che Morpheus ci aveva ricordato. Il miracolo era compiuto!
Il risultato
Il sistema così riconfigurato era davvero in grado di rilevare ogni composto prodotto.
Durante i test abbiamo realizzato che la sua precisione ed affidabilità gli permettevano addirittura di capire se l’aria era da “interno” o da “esterno”, semplicemente addestrandolo.
Non c’era un sensore specifico per l’acetone. Ma ora era in grado di rilevarlo.
Non c’era un sensore specifico per l’alcol. Ma ora era in grado di rilevarlo.
Non era nemmeno stata presa in considerazione la possibilità di discriminare se ci si trova all’esterno o all’interno. Ma ora è in grado di rolevarlo
Se avessimo fatto funzionare qualcosa che non funzionava saremmo stati come chiunque. Lo abbiamo invece portato oltre le specifiche iniziali! E’ questo quello che ci contraddistingue.
abbiamo regalato ad un oggetto così piccolo un numero impressionante di opportunità, unicamente usando l’innovazione, la scienza e il nostro ingegno.


