Sunra ROBO-S — BMS↔controller protocol decoded and emulated

Für Roller von Futura, zb Hawk, Classico, Elettrico und Roller der Marke Sunra
Antworten
plastikino
Beiträge: 8
Registriert: Di 7. Jul 2026, 04:32
Roller: Sunra Robo-S
PLZ: 8
Land: anderes Land
Kontaktdaten:

Sunra ROBO-S — BMS↔controller protocol decoded and emulated

Beitrag von plastikino »

Nach einiger Arbeit mit Oszilloskop und Logic Analyzer habe ich die RS485-Kommunikation zwischen BMS und Steuergerät des ROBO-S entschlüsselt.
Ich habe außerdem einen BMS-Emulator auf einem ESP32-S3 gebaut: Das Board gibt sich als Batterie aus und antwortet auf die Abfragen des Steuergeräts mit gültigen Frames. Das Steuergerät akzeptiert sie und liest die Batteriedaten, die ich ihm vorgebe.
Nächster Schritt, noch auf der Straße zu testen: ob das ausreicht, um den Roller aus dem Reserve-/Notlaufmodus zu holen. Sobald ich ein Ergebnis habe, poste ich ein Update.
Gerne tausche ich mich mit anderen aus, die am selben Roller arbeiten.

After a good amount of work with an oscilloscope and a logic analyzer, I've decoded the RS485 communication between the BMS and the controller on the ROBO-S.
I've also built a BMS emulator on an ESP32-S3: the board impersonates a battery and replies to the controller's polls with valid frames. The controller accepts them and reads the battery data I feed it.
Next step, still to be tested on the road: whether this is enough to bring the scooter out of reserve/limp mode. I'll post an update once I have a result.
Happy to compare notes with anyone working on the same scooter.

https://www.youtube.com/watch?v=U6mFvLMetHE
plastikino
Beiträge: 8
Registriert: Di 7. Jul 2026, 04:32
Roller: Sunra Robo-S
PLZ: 8
Land: anderes Land
Kontaktdaten:

Re: Sunra ROBO-S — BMS↔controller protocol decoded and emulated

Beitrag von plastikino »

Sunra ROBO-S — BMS hackerato, fuori dalla riserva! 🎉
Dopo un paio di settimane di lavoro sono finalmente riuscito a uscire dalla modalità riserva che mi teneva incollato a 50 km/h. Allego il video.
In breve: una delle due batterie aveva il BMS che non rispondeva più sul bus, e la centralina, non ricevendo dati da quella batteria, mandava lo scooter in riserva limitando la velocità.
Ho reverse-engineered il dialogo RS485 tra BMS e centralina (oscilloscopio, logic analyzer, cattura su SD) e ho costruito un emulatore di BMS su ESP32-S3 che risponde alle interrogazioni della centralina al posto della batteria muta. La centralina lo accetta come batteria valida e lo scooter torna a funzionare normalmente.
Un passaggio chiave che mi ha fatto perdere un po' di tempo: le due batterie condividono lo stesso bus e si distinguono per indirizzo. Solo sniffando il bus in modo passivo ho capito quale delle due era davvero muta, e quindi quale emulare.
Per chiarezza: non ho sbloccato limiti di fabbrica per andare più forte — ho ripristinato il funzionamento normale coprendo una batteria guasta.
Prossimo obiettivo: aggiungere un partitore di tensione per leggere i dati reali della batteria e fornire alla centralina valori corretti (non fissi), così l'emulazione segue lo stato vero del pacco.
Volentieri mi confronto con chi sta lavorando sullo stesso scooter.

Sunra ROBO-S — BMS hacked, out of reserve mode! 🎉
After a couple of weeks of work I've finally managed to get out of the reserve mode that was keeping me stuck at 50 km/h. Video attached.
Quick summary: one of the two batteries had a BMS that stopped responding on the bus, and the controller, receiving no data from that battery, put the scooter into reserve mode and limited the speed.
I reverse-engineered the RS485 dialogue between BMS and controller (oscilloscope, logic analyzer, SD-card capture) and built a BMS emulator on an ESP32-S3 that answers the controller's polls in place of the silent battery. The controller accepts it as a valid battery and the scooter runs normally again.
One key point that cost me some time: the two batteries share the same bus and are told apart by address. Only by sniffing the bus passively did I figure out which of the two was actually silent, and therefore which one to emulate.
To be clear: I didn't unlock factory speed limits to go faster — I restored normal operation by covering for a faulty battery.
Next goal: add a voltage divider to read the battery's real data and feed the controller correct values (not fixed ones), so the emulation follows the actual state of the pack.

Sunra ROBO-S — BMS gehackt, raus aus dem Reservemodus! 🎉
Nach ein paar Wochen Arbeit habe ich es endlich geschafft, aus dem Reservemodus herauszukommen, der mich bei 50 km/h festhielt. Video im Anhang.
Kurz zusammengefasst: Eine der beiden Batterien hatte ein BMS, das nicht mehr auf dem Bus antwortete. Da das Steuergerät keine Daten von dieser Batterie erhielt, schaltete es den Roller in den Reservemodus und begrenzte die Geschwindigkeit.
Ich habe den RS485-Dialog zwischen BMS und Steuergerät reverse-engineered (Oszilloskop, Logic Analyzer, Aufzeichnung auf SD-Karte) und einen BMS-Emulator auf einem ESP32-S3 gebaut, der anstelle der stummen Batterie auf die Abfragen des Steuergeräts antwortet. Das Steuergerät akzeptiert ihn als gültige Batterie, und der Roller läuft wieder normal.
Ein wichtiger Punkt, der mich etwas Zeit gekostet hat: Die beiden Batterien teilen sich denselben Bus und werden über eine Adresse unterschieden. Erst durch passives Mitlesen des Busses habe ich herausgefunden, welche der beiden tatsächlich stumm war und welche ich also emulieren musste.
Zur Klarstellung: Ich habe keine werkseitigen Geschwindigkeitsbegrenzungen aufgehoben, um schneller zu fahren — ich habe den normalen Betrieb wiederhergestellt, indem ich eine defekte Batterie ersetzt habe.
Nächstes Ziel: einen Spannungsteiler hinzufügen, um die echten Batteriedaten auszulesen und dem Steuergerät korrekte Werte (statt fester) zu liefern, damit die Emulation dem tatsächlichen Zustand des Akkus folgt.
Ich tausche mich gerne mit anderen aus, die am selben Roller arbeiten.
enif
Beiträge: 20
Registriert: Sa 17. Mai 2025, 16:56
Roller: Sunra Robo-S
PLZ: 25
Land: CH
Kontaktdaten:

Re: Sunra ROBO-S — BMS↔controller protocol decoded and emulated

Beitrag von enif »

Tolle Arbeit - Gratulation!!!
MK_Freund
Beiträge: 1
Registriert: Mi 8. Jul 2026, 15:34
Roller: robo s
PLZ: 01968
Kontaktdaten:

Re: Sunra ROBO-S — BMS↔controller protocol decoded and emulated

Beitrag von MK_Freund »

Hallo plastikino,
da hast du eine beeindruckende Arbeit geleistet.
Da ich mittlerweile drei defekte BMS habe, bei denen die Zellen noch OK sind, bin ich sehr an deiner Arbeit interessiert. Wenn du es schaffst die realen Akku -Stände zu integrieren, dann hast du Sunra echt den dicken Daumen gezeigt. Mach aus deiner Erkenntnis ein kleines Nebeneinkommen. Ich wäre unter den ersten Interessenten. Also Daumen hoch und weiter so. Du wirst zum Held der geplagten Robo-S-Fahrer!

MfG MK_Freund
Zuletzt geändert von MK_Freund am So 26. Jul 2026, 10:58, insgesamt 1-mal geändert.
Antworten

Zurück zu „Futura / Sunra“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste