RP ✔️ Downgrade des G2 / F2 ESC mit dem ReFlasher - Kurzanleitung

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.553
3.559
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Rollerplausch ReFlasher ST-Link Titel.webp

Diese Anleitung wurde für den Ninebot G2D / F2D geschrieben.

ST-Link V2 - Flashen/Downgraden der Firmware des ESC mit dem ScooterHacking ReFlasher


Nach dieser Anleitung ist es möglich, die Betriebssoftware des G2D/F2D mit einem ST-Link-Modul downzugraden. (englisch downgrade = zurückstufen)
Diese Variante der Firmwareinstallation wird nötig, wenn man über Bluetooth (BT) keine Verbindung mehr zum Scooter aufbauen kann.

WICHTIG! Beim Ninebot G2 ist normalerweise ein AT32-Chip verbaut. Der F2-Controller kann aber auch einen GD32-Chip haben.
Daher musst du unbedingt vor dem Flashen wissen, welchen Microchip du auf deinem Controller verbaut hast.
Das findest du ganz einfach durch das Auslesen der Hardware Details heraus. Das kannst du ganz einfach mit der
ScooterHacking Utility (SHU) erledigen.
Dazu den Scooter mit der SHU verbinden und oben rechts auf das "..." Menü klicken. Darin findest du die Option, dir die Hardware-Details deines ESC anzeigen zu lassen.


SHU_Hardware.webp


Wer sich das nicht zutraut, kann sich gerne mal in der Rubrik "Rollerplauscher, hilft Rollerplauscher!" umsehen.
Dort gibt es eine Liste mit Rollerplauschern, die gegen eine kleine Aufwandsentschädigung nebst Rückporto soetwas gerne für euch erledigen.
Das primäre Ziel dieser Anleitung ist allerdings, ihr erledigt das nach der folgenden Anleitung selbst.

Zu diesem Beitrag bitte auch den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!

Benötigt:

Vorwort:

Früher war es so, dass man ein komplettes Speicherabbild (FullDump) auf den Controller geflasht hat.
Nun kann man mit dem ScooterHacking ReFlasher arbeiten. Einfacher geht es wirklich nicht.

Vorbereitung:

Der Controller befindet sich in einem Metallgehäuse. Die Mosfets auf der Leiterplatte werden durch eine Metallspange an die Rückwand angedrückt.
Mit einer schwarzen Vergussmasse ist die Leiterplatte in dem Gehäuse fixiert. Hier ist etwas handwerkliches Geschick gefragt.
Wie man nun die Leiterplatte aus dem Gehäuse entfernt, kann man bereits in zahlreichen Anleitungen im Netz in Erfahrung bringen.
Ich möchte diese Anleitung nicht künstlich aufblähen, daher spare ich mir die detaillierte Beschreibung an dieser Stelle.

Bau des Kabels:

Die schwarze Kunststoff-Ummantelung vom Dupont-Kabel lässt sich entfernen.
In dem man die kleine Lasche auf der Seite anhebt, wo man schon den Kontakt erkennen kann, lässt sich das Kabel nach hinten herausziehen.
An zwei Kabeln ( 5V & GND ) entfernen wir diese Isolierung einseitig. Nun passen wir die nun freigelegten Metallkontakte so an, dass sich diese
straff auf die auf dem Bild markierten Kontakte des Controllers aufstecken lassen. Ist das geglückt, isoliert man die Kontakte mit einem Schrumpfschlauch oder zur Not mit einem Isolierband wieder.

Die anderen zwei vollständigen Kabel, kannst du auf einer Seite nun mit Steck- oder Stopfnadeln bestücken. Diese sollten sich in dem Steckerende einklemmen lassen.
Glückt das nicht, könnte man optional die Nadeln auch an den Stecker anlöten.


Der G2 MAX / F2 ESC (flashbar) (anklicken zum vergrößern)

G2-FRONT.webp

G2F2BACK.webp


Es werden entsprechend der Bild-Beschriftung die Leitungen 5,0V, GND, SWDIO und SWDCLK benutzt.
Der 3,3V Kontakt, wurde nur der Vollständigkeit halber ausgegraut dargestellt und darf nicht auch noch zusätzlich angeschlossen werden.
Entweder von der Vorderseite die 5V oder aber 3,3V auf der ESC-Rückseite, nicht beides!!!
Es muss nur ein Mal die Masse (GND) angeschlossen werden, auch wenn die Grafik zwei Möglichkeiten zum Anschluss nennt.

Als erstes steckt ihr die vier Dupont-Kabel gemäß der Belegung an euren ST-Link V2 an.
Nun steckt ihr auf der Oberseite des ESC eure Stecker für die Leitungen 5V & GND auf die auf dem Bild gekennzeichneten Kontakte.
Auf der Rückseite des Controllers befinden sich die Kontakte für SWDIO und SWCLK. Hier stellt ihr den Kontakt zum Flashen nur durch anhalten der Nadelkontakte her.
Sollten Kontaktprobleme bestehen, können die Kontakte mit Isopropanol und einem Wattestäbchen gereinigt werden.


Anleitung:

Um den ReFlasher bestimmungsgemäß nutzen zu können, sollte euer ST-Link Modul auf die aktuellste FW-Version (V2.J37.S7) upgegradet worden sein.
Der ST-Link-Upgrader ist Teil der STM32 ST-LINK Utility und ist auch im MiDu Flasher Paket unter \MiDu-Flasher_v1.0.5\Driver\ST-LINK_FirmwareUpgrade_V2.J37.S7 zu finden.
Habt ihr das erledigt, installiert ihr den WinUSB-Treiber mit der Zadig-App.

Als nächstes startet ihr mal den ReFlasher und macht dort alle erforderlichen Eingaben.

Hier wird lediglich Ninebot MAX (G2) / Ninebot F2 unter Scooter ausgewählt,
unter Pheripheral sollte DRV ausgewählt sein und unter Serial number tragt ihr eure Seriennummer eures Ninebot-Scooters ein.
Diese ist 14-stellig und steht auf einem weißen Feld auf der Seite des Lade-Anschlusses.

Als letzte Eingabe setzt ihr unter Total distance travelled eure bisherige Gesamtlaufleistung ein.
Die Haken bei Copy CPUID und Activate ESC lasst ihr einfach gesetzt.

Wenn eure Überprüfung des Microchips einen AT32-Chip auf eurem ESC identifiziert hat müsst ihr nun den AT32-Chipsatz auswählen.
Ist es eine GD32-MCU (Microchip Unit), wählt ihr selbstverständlich auch GD32 aus. (erst ab ReFlasher v1.5/noch nicht veröffentlicht)
Bis es so weit ist, gibt es noch eine alternative Methode.





[ReFlasher] Starting..
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Error: open failed
[ReFlasher] Couldn't connect to ST-Link
Kommt hier diese Fehlermeldung, habt ihr mit euren Nadel-Kontakten die Kontaktpunkte auf der Leiterplatte verfehlt oder die Belegung eures Kabels stimmt nicht.

ReFlasher Version history and changelog:
[v1.5], XXth, 2026 - Added support for GD32 Ninebot F2 ESCs and fixed a scaling issue of console view (coming soon)
[v1.4.2], April 27th, 2024 - Fixed a bug with F series DRV flashing.
[v1.4.1], April 20th, 2024 - Fixed G2 flashing, added missing diagrams and fixed a user data flashing bug
[v1.4], April 18th, 2024 - Improved F-series support, added D-series and added G2 DRV
[v1.3], January 31st, 2023 - Added support for GD32 Xiaomi ESCs, AT32 Ninebot Max and F-series ESCs, added self-updater, added diagrams
[v1.2], May 9th 2022 - Added support for BLE boards & Ninebot F-series
[v1.1], March 26th 2022 - Initial release