Un monopattino elettrico Egret GT può essere trasformato in un dispositivo open source grazie al lavoro di un appassionato di hacking conosciuto come Ben. La motivazione nasce da un problema di sicurezza: il mezzo permetteva di entrare accidentalmente in modalità aggiornamento firmware e, da lì, di accedere alla modalità operativa senza inserire il PIN di sicurezza. Una falla che Ben ha deciso di risolvere radicalmente, riscrivendo da zero il firmware in Rust.
L'analisi è partita dall'app mobile del monopattino, utile per ottenere alcune informazioni di base. L'intercettazione del Bluetooth si è rivelata piuttosto semplice, così come l'analisi del codice dell'applicazione. Questo processo ha rivelato l'esistenza di dati che non vengono mostrati sul display e ha evidenziato che diverse informazioni vengono inviate a un server remoto, taggate con l'ID univoco del monopattino. Un ulteriore motivo per sostituire il firmware originale.
Internamente, il monopattino utilizza un bus CAN. Per decodificarlo, Ben ha utilizzato un oscilloscopio e un decoder CAN artigianale. Sorprendentemente, il bus CAN è accessibile attraverso i pin dati della porta USB-C, ufficialmente destinata solo alla ricarica dei telefoni. Resta da chiedersi cosa pensi uno smartphone quando, durante la ricarica, riceve segnali estranei sui pin dati. La scoperta apre interrogativi sulla progettazione del dispositivo e sulle potenzialità di accesso diretto all'elettronica di bordo.
Gli aggiornamenti firmware arrivano in almeno tre versioni: display, pannello di input e controller principale. Il reverse engineering del processo di aggiornamento è stato cruciale per installare il nuovo firmware. Il risultato è un progetto dettagliato che può essere utile sia a chi possiede un monopattino simile, sia a chiunque voglia apprendere tecniche di reverse engineering applicabili ad altri dispositivi.
La vicenda si inserisce in un filone sempre più vivo di modifiche hardware e software su mezzi di micromobilità elettrica. Sempre più utenti cercano di personalizzare i propri dispositivi, eliminando limitazioni imposte dai produttori e recuperando il controllo sui dati generati. La scelta di Rust, linguaggio moderno e orientato alla sicurezza, non è casuale: offre prestazioni elevate e una gestione della memoria più sicura rispetto ad altri linguaggi utilizzati in ambito embedded.
Per chi fosse interessato, esistono alternative più semplici, come sostituire completamente l'unità di controllo del monopattino. Tuttavia, il lavoro di Ben rappresenta un esempio virtuoso di come la curiosità e le competenze tecniche possano portare a miglioramenti concreti in termini di sicurezza e trasparenza. La comunità di appassionati continua a condividere guide e strumenti per chi volesse intraprendere un percorso simile.