
Nel mondo dell’hardware open source e della sperimentazione pratica, la verifica dell’equità dei dadi è un tema che unisce statistica, meccanica ed elaborazione delle immagini. Entropy Dice è una macchina automatizzata per il test dei dadi che nasce proprio con questo obiettivo: misurare eventuali bias nei risultati e, allo stesso tempo, generare entropia utilizzabile come sorgente di numeri casuali.
Il progetto, basato su Raspberry Pi, motori passo-passo e OpenCV, è un esempio concreto di come componenti hobbistici e software open source possano essere combinati per realizzare uno strumento affidabile e ripetibile, in linea con il target tecnico e sperimentale di moreware.org.
Panoramica del progetto Entropy Dice
Entropy Dice è una macchina che lancia automaticamente tre dadi all’interno di un tubo cilindrico. Ogni ciclo di lancio dura circa 4 secondi: i dadi vengono fatti ruotare rapidamente, si fermano su una finestra trasparente inferiore e una fotocamera acquisisce l’immagine.
Il software analizza la foto, riconosce i valori dei dadi e aggiorna in tempo reale un istogramma con la distribuzione dei risultati. Dopo circa un’ora di test (oltre 2700 lanci), è possibile valutare se i dadi sono statisticamente equi.
Il progetto è stato pubblicato su Hackster.io come showcase tecnico, senza istruzioni passo-passo, ma con un livello di dettaglio sufficiente a comprenderne architettura e funzionamento:
https://www.hackster.io/user2226400/entropy-dice-an-automated-dice-testing-machine-093727
Componenti hardware principali
Dal punto di vista hardware, la macchina utilizza componenti facilmente reperibili:
-
Raspberry Pi 5, che gestisce acquisizione immagini, elaborazione e web server.
-
Pi Camera Module 2, scelta per la messa a fuoco manuale stabile (la Camera 3 ha mostrato limiti con l’autofocus).
-
Motore passo-passo NEMA 17, pilotato da un driver DRV8825, per la rotazione rapida del tubo.
-
Struttura stampata in 3D, principalmente in PLA, con alcune parti in PETG per ridurre attrito e usura.
-
Finestra in acrilico da 50 mm, spessore 1,5 mm, che permette alla camera di leggere i dadi dal basso.
Una scelta progettuale interessante è l’uso di cuscinetti e di un asse in acciaio inox da 5 mm per migliorare la durata nel tempo, riducendo vibrazioni e attriti.
Meccanica e sistema di lancio
Il meccanismo di rotazione è volutamente semplice: nessun riduttore, ma un rapporto 1:1 ottenuto con due ingranaggi stampati in 3D.
La velocità di rotazione è fondamentale per garantire sufficiente “entropia meccanica”: il lancio deve essere rapido e non prevedibile. I test hanno dimostrato che, con questo setup, non è necessario complicare ulteriormente la trasmissione.
Per limitare rumore e usura, il fondo del tubo è rivestito con un tappetino in gomma. In prospettiva, l’autore suggerisce l’uso di un liner interno più scivoloso (ad esempio nastro in PTFE) e di un tubo più spesso per migliorare ulteriormente il comportamento acustico e meccanico.
Visione artificiale e riconoscimento dei dadi
Il cuore software del progetto è l’elaborazione delle immagini tramite OpenCV. Il sistema non utilizza reti neurali né fasi di training: il riconoscimento avviene contando i “pips” (i puntini) sui dadi.
I passaggi principali sono:
-
acquisizione dell’immagine e ridimensionamento;
-
conversione in scala di grigi e blur gaussiano;
-
applicazione di una ROI circolare per ignorare artefatti esterni;
-
rilevamento dei blob tramite
SimpleBlobDetector, con filtri su area, circolarità, convessità e inerzia; -
clustering dei blob con DBSCAN, per raggruppare i puntini appartenenti allo stesso dado.
Questa scelta rende il sistema robusto rispetto a piccoli disallineamenti dei dadi e a variazioni di luce. I dadi utilizzati (Chessex D6 da 16 mm, opachi con puntini neri) si prestano molto bene a questo approccio.
Controllo di qualità dei lanci
Non tutti i lanci vengono accettati. Il software applica una serie di controlli:
-
devono essere presenti esattamente tre dadi;
-
nessun dado può avere più di 6 puntini;
-
il totale dei puntini non può superare 18.
Se uno di questi criteri fallisce, il lancio viene marcato come invalid e scartato dalle statistiche. L’immagine viene comunque salvata, utile per il debug e l’analisi degli errori.

Archiviazione e visualizzazione dei risultati
I risultati validi vengono salvati in un file di testo e utilizzati per generare un istogramma con matplotlib.
Il Raspberry Pi ospita un server Apache2, che rende accessibili via browser:
-
l’ultima immagine acquisita;
-
l’istogramma aggiornato;
-
il file di testo con i risultati grezzi.
Questa scelta semplifica molto l’accesso remoto e l’analisi dei dati, senza richiedere software aggiuntivo sul client.
Prestazioni e gestione dei dati
Ogni immagine occupa circa 72 kB a risoluzione 800×600. A regime, il sistema produce circa 60 MB di dati all’ora, ovvero poco più di 1,4 GB al giorno.
Anche con una microSD di capacità modesta, questo non rappresenta un limite significativo, soprattutto considerando che le immagini possono essere archiviate o eliminate periodicamente.
Entropia e numeri casuali
Oltre al test statistico dei dadi, Entropy Dice può essere visto come una sorgente fisica di entropia.
Un singolo lancio di un dado D6 produce circa 2,585 bit di entropia; con tre dadi si arriva a circa 116 bit al minuto. Valori interessanti se confrontati con le dimensioni tipiche delle chiavi crittografiche (256 bit per AES, 2048 bit per RSA).
Per ridurre eventuali bias, è possibile applicare un estrattore di casualità come il Von Neumann extractor, che elimina correlazioni a costo di ridurre l’entropia disponibile:
https://en.wikipedia.org/wiki/Randomness_extractor
Il progetto descrive anche un metodo corretto per evitare il modulo bias quando si trasformano i risultati dei dadi in intervalli numerici arbitrari.
Limiti emersi e spunti di miglioramento
Dai commenti e dalle discussioni emerge un punto critico importante: testare più dadi contemporaneamente rende impossibile distinguere eventuali squilibri di un singolo dado.
Attualmente la macchina non è in grado di associare i risultati a dadi specifici. Tuttavia, l’architettura è modulare e lascia spazio a diverse evoluzioni:
-
tubi separati, uno per dado;
-
riconoscimento per colore;
-
aumento del diametro della finestra per ospitare più dadi senza sovrapposizioni.
Questi aspetti mostrano come il progetto sia solido ma aperto a sviluppi futuri, anche in funzione di esigenze più avanzate.
Conclusione
Entropy Dice è un progetto ben pensato che combina meccanica, elettronica e computer vision in modo pragmatico. Non punta a soluzioni complesse o “alla moda”, ma sfrutta algoritmi classici e componenti accessibili per ottenere risultati concreti e misurabili.
Per maker, sviluppatori embedded e appassionati di statistica applicata, rappresenta un ottimo esempio di come un’idea apparentemente semplice – testare dei dadi – possa trasformarsi in uno strumento tecnico interessante, estendibile e, soprattutto, verificabile.
Iscriviti ai nostri gruppi Telegram
Link utili
Share this:
- Click to share on Facebook (Opens in new window) Facebook
- Click to share on LinkedIn (Opens in new window) LinkedIn
- Click to share on Telegram (Opens in new window) Telegram
- Click to share on WhatsApp (Opens in new window) WhatsApp
- Click to share on X (Opens in new window) X
- Click to print (Opens in new window) Print
- Click to share on Pinterest (Opens in new window) Pinterest
Simone Candido
Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.