Ingeniería inversa a mi patinete eléctrico: reescribo su firmware en Rust
Reverse engineering my e-scooter and rewriting the firmware in Rust

Ben desmontó su Egret GT, descubrió que el puerto USB-C del display también funciona como bus CAN y sniffeó las tramas con un ESP32-C6. Documentó todos los mensajes CAN, compró controladora y display de repuesto y extrajo el firmware para escribir uno propio en Rust. De paso, halló que el patinete envía odómetro e historial de carga al fabricante sin avisar.
Para mi sorpresa, dos de los pines del USB-C se usaban como bus CAN (lo cual huele horriblemente a incumplimiento).