LUVINER
Demo Live Benchmark Docs Edge AI Chi siamo Blog EN Accedi
← Torna al blog
18 Nov 2025 · Read in English

Come Abbiamo Raggiunto il 100% di Accuratezza in 97 KB su ESP32

Un approfondimento sul deploy di un modello di manutenzione predittiva su un microcontrollore da 4€ — senza cloud, senza GPU, senza compromessi.

La Sfida

La manutenzione predittiva è una delle applicazioni più impattanti del machine learning nell'industria. Rilevare un motore in fase di guasto prima che si rompa permette di risparmiare migliaia di euro in tempi di fermo. Ma l'approccio standard — inviare i dati dei sensori al cloud per l'inferenza — introduce latenza, dipendenza dalla connettività e costi ricorrenti che lo rendono impraticabile per la maggior parte dei deploy.

Ci siamo chiesti: possiamo eseguire l'intera pipeline di inferenza su un ESP32 da 4€, usando meno di 100 KB di flash?

Il Dataset

Abbiamo utilizzato dati da sensori di vibrazione di motori industriali — letture dell'accelerometro campionate a 1 kHz su tre assi. Il compito: classificare lo stato del motore in una di quattro categorie:

  • Normale — funzionamento regolare
  • Squilibrio — problema di distribuzione del peso del rotore
  • Disallineamento — problema dell'accoppiamento dell'albero
  • Guasto cuscinetto — degradazione in fase iniziale

Il dataset conteneva 12.000 finestre etichettate di 256 campioni ciascuna.

Perché Non Usare Semplicemente TensorFlow Lite?

TFLite Micro è un framework solido, ma comporta dei compromessi. Il solo runtime occupa 50-100 KB di flash a seconda degli operatori inclusi. Per un modello che deve stare in 97 KB totali — runtime incluso — serviva un approccio diverso.

Luviner utilizza un motore di inferenza proprietario ottimizzato per l'aritmetica quantizzata su architetture ARM Cortex-M e Xtensa (ESP32). L'overhead del runtime è inferiore a 8 KB, lasciando lo spazio rimanente interamente per i pesi del modello e la logica applicativa.

L'Architettura del Modello

Invece di una CNN o LSTM convenzionale, abbiamo usato una Rete Neurale ultra-compatta. Questa architettura offre tre vantaggi sui microcontrollori:

  • Footprint di memoria fisso — nessuno stato nascosto che cresce con la lunghezza della sequenza
  • Dinamiche temporali — la rete si adatta naturalmente al timing degli input, ideale per dati sensoriali
  • Adatta alla quantizzazione — le distribuzioni dei pesi sono ideali per l'aritmetica intera

Il modello finale usa un'architettura proprietaria ultra-compatta, seguita da una singola testa di classificazione con output softmax.

Quantizzazione: Da Float32 a Int8

Il modello float32 ha raggiunto il 100% di accuratezza sul test set. La domanda era: la quantizzazione avrebbe distrutto quell'accuratezza?

Abbiamo applicato una quantizzazione post-training con calibrazione su 500 campioni rappresentativi. L'intuizione chiave: quantizziamo non solo i pesi, ma anche le attivazioni, usando fattori di scala per canale che minimizzano l'errore di quantizzazione a ogni layer.

Risultato: 100% di accuratezza preservata dopo la quantizzazione. La dimensione del modello è scesa da 380 KB (float32) a 89 KB (int8) — una riduzione di 4.3x senza alcuna perdita di accuratezza.

Layout di Memoria su ESP32

Ecco come si distribuiscono i 97 KB sull'ESP32:

  • Runtime di inferenza: 7,8 KB
  • Pesi del modello (int8): 89,2 KB
  • Flash totale: 97 KB
  • RAM in inferenza: 4,1 KB (buffer delle attivazioni)

L'ESP32 ha 4 MB di flash e 520 KB di SRAM. Il nostro modello usa il 2,4% della flash disponibile e lo 0,8% della RAM. Questo lascia ampio spazio per il firmware applicativo, lo stack di connettività e i driver dei sensori.

Prestazioni di Inferenza

Su un ESP32 a 240 MHz:

  • Tempo di inferenza: 1,2 ms per finestra
  • Throughput: 833 predizioni al secondo
  • Consumo energetico: 12 mW durante l'inferenza

Per confronto, inviare gli stessi dati a un endpoint cloud richiederebbe 50-200 ms (a seconda della connettività), consumerebbe 100-500 mW per la trasmissione radio e richiederebbe una connessione internet persistente.

Provalo Tu Stesso

Abbiamo pubblicato una simulazione interattiva di questo esatto modello in esecuzione su un ESP32 virtuale. Puoi vedere le letture dei sensori, i risultati dell'inferenza e l'output della classificazione in tempo reale.

Prova la demo live →

Punti Chiave

  • Non servono GPU o connessione cloud per eseguire inferenza ML. Un microcontrollore da 4€ è sufficiente.
  • La quantizzazione non deve significare perdita di accuratezza — con una calibrazione adeguata, i modelli int8 possono eguagliare i float32.
  • Il runtime di inferenza conta tanto quanto il modello. Un runtime snello lascia più spazio per il modello.
  • L'Edge AI non è una tecnologia del futuro. È pronta per la produzione oggi.

Se stai costruendo un prodotto che necessita di intelligenza on-device, Luviner può aiutarti. Gestiamo le parti difficili — ottimizzazione del modello, quantizzazione e deployment — così tu puoi concentrarti sulla tua applicazione.


Articoli correlati

14 Mar 2026
Mesh Enterprise-Grade: 5 Funzioni che Rendono l'AI Distribuita Pronta per la Produzione
14 Mar 2026
Mesh Intelligence: Quando i Tuoi Sensori Formano un Sistema Nervoso Distribuito
14 Mar 2026
Rilevamento Anomalie Senza Dati di Guasto: Come Luviner Abilita la Manutenzione Predittiva dal Primo Giorno
Prezzi Contatti Termini di Servizio Informativa sulla Privacy Contratto di Licenza d'Uso

© 2026 Luviner. AI on-device per ogni chip.

P.IVA / VAT ID: IT02880910340