Diese Anleitung wurde für den Ninebot G30D / G30D II geschrieben.
Diese Firmware / Anleitung kann

ST-Link V2 - Flashen/Downgraden der Firmware des ESC mit dem ScooterHacking ReFlasher
Nach dieser Anleitung ist es möglich, die Betriebssoftware des G30D/G30DII 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 G30 Baujahr 2022 ist ein neuer Controllertyp (G30_New Generation_V1.1) aufgetaucht, der nicht mehr über den altbekannten STM32-Chip, sondern einen AT32-Chip verfügt. Dieser neue AT32-Microcontroller wird nun natürlich auch im ReFlasher unterstützt. Dazu musst du unbedingt wissen, welchen Microchip du auf deinem Controller verbaut hast. Das findest du ganz einfach durch das Auslesen der UUID heraus.
In der ScooterHacking Utility (SHU) verbindest du dich dazu mit deinem Scooter. Im INFO-Screen siehst du jetzt die Modellbezeichnung, die BLE-, die DRV- und die BMS-Version deines Scooters, sowie die Seriennummer, die Region und eventuell vorhandene Errorcodes. Nun drückst du mal oben rechts auf die drei Punkte und wählst dort Hardware details aus. Am Ende des nun angezeigten Textes, findest du nun die UID des Microchips auf deinem Controller.
Bei m365 downG wählt man dazu zuerst CONNECT aus und verbindet sich mit seinem Scooter. Zum Pairen wirst du wahrscheinlich aufgefordert, den Power-Button am Scooter zu drücken. Wenn das erfolgreich war, siehst du nun die Seriennummer, die DRV-, die BMS- und die BLE-Version deines Scooters.
Nun betätige mal den TOOLS Button in der App und voilà - du siehst jetzt u.a. auch deine UUID.
Hast du bei m365 downG an der 2. Stelle "FF" (Byte-Paar) oder in der SHU an der 1. Stelle das "FF", deutet das auf den alten (bisherigen) STM32 Microchip hin.
Bei m365 downG wählt man dazu zuerst CONNECT aus und verbindet sich mit seinem Scooter. Zum Pairen wirst du wahrscheinlich aufgefordert, den Power-Button am Scooter zu drücken. Wenn das erfolgreich war, siehst du nun die Seriennummer, die DRV-, die BMS- und die BLE-Version deines Scooters.
Nun betätige mal den TOOLS Button in der App und voilà - du siehst jetzt u.a. auch deine UUID.
Hast du bei m365 downG an der 2. Stelle "FF" (Byte-Paar) oder in der SHU an der 1. Stelle das "FF", deutet das auf den alten (bisherigen) STM32 Microchip hin.
Auch das Thema "Errorcode 10" werden wir hier aufgreifen. Dieser Fehler zeigt einen Kommunikationsfehler zwischen Dashboard und Controller an.
Oftmals lässt sich der Controller aber durch das Flashen einer Firmware mit einem ST-Link Programmierer über den PC wieder retten.
Man kann natürlich auch käuflich einen neuen Controller erwerben, das ist aber die etwas kostspieligere Variante diesen Fehler loszuwerden.
Dazu muss der Controller (ESC) aus dem Scooter ausgebaut werden. Ein De-/Montagevideo für den ESC findet ihr =>
Um Links zu sehen, melde dich bitte an
<=.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 🛠️
Du musst angemeldet sein um das Element zu sehen. 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...

Zu diesem Beitrag bitte auch den Haftungsausschluss der Nutzungsbedingungen - Pkt.8 beachten!
Benötigt:
-
Um Links zu sehen, melde dich bitte an
-
Um Links zu sehen, melde dich bitte an
- ST-Link V2 Programmer ( Aliexpress )
- Computer mit Windows 10 x64 Betriebssystem
- Adapterkabel (selbst anfertigen, Anleitung mit Belegungsplan folgt)
- Lötkolben mit Dauerlötspitze gerade bleistiftspitz
Benötigte Bauteile für das Adapterkabel:
5-polige Dupont Jumperkabel (Pitch 2,54mm) entsprechende Buchsenleisten funktionieren natürlich auch!
7-poliger JST PAP-07V-S Stecker (Pitch 2,00mm) entsprechende Buchsenleisten funktionieren natürlich auch!
2 handelsübliche Stopf-/Stecknadeln
Vorwort:
Bisher war es so, dass man ein komplettes Speicherabbild (esc126_fulldump.bin) mit der STM32 ST-LINK Utility in den Scooter geflasht hat.
Nun kann man mit dem
Um Links zu sehen, melde dich bitte an
arbeiten. Einfacher geht es wirklich nicht.Bau des Kabels:
Das ist zunächst mal der Plan mit der Pin-Belegung. Links könnt ihr die Belegung eures ST-Link V2 erkennen.
In der Mitte ist das 5-polige Dupont Jumperkabel zu sehen, wir benötigen davon nur vier Litzen. Die nicht benötigte
Litze könnt ihr aber leicht aus dem Stecker entfernen. Dazu mit einem kleinen Schraubendreher die Lasche vom
Stecker leicht anheben und das Kabel nach hinten herausziehen. Dieser Stecker wird später an der Anschlussleiste des ST-Link V2 angesteckt.
Rechts ist der 7-polige JST PAP-07V-S Stecker abgebildet. Dieser wird später auf den Controller gesteckt und liefert
dem ESC die zum ReFlashen benötigte Spannung. Nun werden die beiden Steckerleisten gemäß des Anschlussplans zusammengelötet.
Am Ende des Kabels für SWDIO und SWCLK wird jeweils eine Stecknadel angelötet und mit einem Schrumpfschlauch oder Isolierband
zu etwa einem Drittel isoliert. Die Spitzen der Nadeln bleiben dabei frei.
Die Controller sind mit einem transparenten Silikon überzogen.
Zum ReFlashen stechen wir später die Nadeln hindurch und stellen so einen Kontakt auf der Platine her.
Die unterschiedlichen ESC-Modelle:
Als nächstes stellen wir mal fest, welcher Controller (ESC) bei uns verbaut ist.
Es gibt folgende Modelle, die sich alle etwas unterscheiden.
Der G30 Controller (flashbar) (anklicken zum vergrößern)
Der G30D Controller (flashbar) (anklicken zum vergrößern)
Der "G30_New Generation_V1.1" ESC (flashbar) (anklicken zum vergrößern)
Dieser Controller hat keinen STM32 Chip, sondern einen AT32 Chip verbaut
und ist nun auch mit einem ST-Link Programmer downgradebar (DRV1.7.0>).
Dieser Controllertyp lässt sich optional mit >>einer anderen Methode<< unbricken (Fehlercode 10).
Der "2-in-1" Controller (flashbar) (anklicken zum vergrößern)
Dieser Controller hat auch einen AT32 Chip verbaut
und ist ebenfalls mit einem ST-Link Programmer downgradebar (DRV1.7.0>).
Der Clone-Controller XBOT (nicht flashbar) (anklicken zum vergrößern)
Rental-Controller (anklicken zum vergrößern)
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.
Es muss nur ein Mal die Masse (GND) angeschlossen werden, auch wenn die Grafik zwei Möglichkeiten zum Anschluss nennt.
Als erstes steckt ihr das 5-polige Dupont-Kabel gemäß der Belegung an euren ST-Link V2 an.
Nun steckt ihr den JST PAP-07V-S Stecker mit den Leitungen 5V & GND einfach auf den 7-poligen Steckplatz des Hauptsteuerkabels und durchstecht mit den zwei Stecknadel-Kontakten (SWDIO, SWCLK) das Silikon, sodass diese in der Mitte des Lötpads durch das dort vorhandene Loch fixiert werden.
Hier ist eine zweite Person hilfreich, die das Ganze während des Flashens kurz festhält.
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
Um Links zu sehen, melde dich bitte an
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 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 zusätzlich die Checkbox AT32 mit einem Haken versehen.
Diese Möglichkeit ist erst seit dem ReFlasher v1.3 gegeben und auch nur mit dieser Version und höher könnt ihr den neuen ESC flashen.

Nun stellt ihr die Verbindung mit eurem selbstgebastelten Kabel zwischen ST-Link Programmer und eurem ESC her.
Mit der Taste Launch recovery löst ihr den eigentlichen ReFlash-Vorgang aus. Dieser dauert in der Regel ca. 2-3 Sekunden.
Kommt hier diese Fehlermeldung, habt ihr mit euren Nadel-Kontakten die Kontaktpunkte auf der Leiterplatte verfehlt oder die Belegung eures Kabels stimmt nicht.[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
ReFlasher Version history and changelog:
Um Links zu sehen, melde dich bitte an, April 27th, 2024 - Fixed a bug with F series DRV flashing.
Um Links zu sehen, melde dich bitte an, April 20th, 2024 - Fixed G2 flashing, added missing diagrams and fixed a user data flashing bug
Um Links zu sehen, melde dich bitte an, April 18th, 2024 - Improved F-series support, added D-series and added G2 DRV
Um Links zu sehen, melde dich bitte an, January 31st, 2023 - Added support for GD32 Xiaomi ESCs, AT32 Ninebot Max and F-series ESCs, added self-updater, added diagrams
Um Links zu sehen, melde dich bitte an, May 9th 2022 - Added support for BLE boards & Ninebot F-series
Um Links zu sehen, melde dich bitte an, March 26th 2022 - Initial release
Information:
Installiert ihr den WinUSB-Treiber mit der Zadig-Utility, könnt ihr zunächst mit der bisherigen STM32 ST-LINK Utility nicht mehr arbeiten.
Führt ihr aber nach dieser Installation das Setup der STM32 ST-LINK Utility nochmal aus, wählt dort die "Repair" Option aus und Installiert die Treiber neu,
funktionieren beide Tools einwandfrei.
Zuletzt bearbeitet von einem Moderator: