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.
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.
Biete - ⚠️ST-Link Support Ninebot F-Serie / F2 / G2 MAX /G30 / G30D/ G30D II / G30LD 🛠️
Zweck dieses Beitrags: Dieser Thread soll dazu dienen Ansprechpartner zu finden, die mit einem ST-Link umgehen können und in der Lage sind, anderen Usern damit zu helfen. Wie soll das laufen: User die die Fähigkeit besitzen, sicher mit einem ST-Link an einem bestimmten Scootertyp zu helfen...
Zu diesem Beitrag bitte auch den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Benötigt:
- ScooterHacking ReFlasher
- Zadig Utility (WinUSB-Treiber)
- NET Core v3.1
- ST-Link V2 Programmer ( Aliexpress )
- Computer mit Windows 10 x64 Betriebssystem
- Adapterkabel (selbst anfertigen)
- Lötkolben mit Dauerlötspitze gerade bleistiftspitz (optional)
Benötigte Bauteile für das Adapterkabel:
4 etwas längere Dupont Kabel
2 handelsübliche Stopf-/Stecknadeln
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)
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..
Kommt hier diese Fehlermeldung, habt ihr mit euren Nadel-Kontakten die Kontaktpunkte auf der Leiterplatte verfehlt oder die Belegung eures Kabels stimmt nicht.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
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