RP ✔️ ⚙️ ST-Link Tutorial Ninebot F-Serie [DRV 5.7.7] per ST-Link & Re-Flasher downgraden!

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.323
3.266
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Rollerplausch ST F-Serie Downgrade Titel.png

Diese Anleitung wurde für den Ninebot F20D-F40D geschrieben.

Firmware-Downgrade einer restriktiven DRV 5.7.7 und höher nach einem Hersteller-Update mit der Ninebot-App
Mit dieser Anleitung ist es möglich, einen F-Serien-Scooter wieder downzugraden (englisch downgrade = zurückstufen).
Nach dem erfolgreichen Downgrade lässt sich der Scooter wieder ohne Einschränkungen nutzen.

Durch die schlechte Versorgungslage/Verfügbarkeit von Microchips auf dem Weltmarkt kommt es immer wieder vor,
dass anstatt des herkömmlichen STM32-Chipsatzes, zu einem Chip eines anderen Herstellers gegriffen wird.
Für den Artery AT32-Chip ist die ST-Link-Variante mittlerweile auch wieder anwendbar!!!


WICHTIG!
Bei den aktuellen ESC's wird nicht mehr der altbekannte STM32-Chip, sondern der Atery AT32-Chip verbaut.
Durch das Auslesen der UUID findest du heraus, welcher Chip auf deinem ESC verbaut ist.

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 den Button SHOW UID. Ganz unten am Ende des Textes findest du nun die UID deines Scooters.

Update:
Im INFO-Tab der SHU wird nun der Chiphersteller vor der DRV-Version angezeigt.

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.

Diese Methode zum identifizieren des Mikrocontroller wurde von VooDooShamane ursprünglich für die Xiaomi Roller entwickelt, sie lässt sich jedoch auch hier hervorragend anwenden.

Da die bisherige ältere Firmware aber nicht auf beiden Microchips läuft, wird im ReFlasher v1.3 auf eine gepatchte DRV5.8.4 upgeradet.
Mit dieser speziellen DRV-Version des neuen ReFlashers v1.3, ist ein späterer Downgrade per SHU wieder ohne Weiteres möglich.


Ein Indiz für den STM32-Chip ist die einmalige UUID des Scooters. Diese lässt sich beispielsweise mit den Apps downG oder der SHU auslesen.
Hat man bei downG an der 2. Stelle "FF" (Byte-Paar) oder in der SHU an der 1. Stelle das "FF", deutet das auf den alten Microchip hin.

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

Benötigt:
1. Installation der Software:
Der Re-Flasher lässt sich ganz einfach wie gewohnt unter Windows installieren.
Dieses Programm nutzt OpenOCD und benötigt den folgenden damit es auch funktioniert.

Ladet euch die Zadig-Utility => <= herunter, dann navigiert auf den Reiter "Options", wählt dort "List all devices" aus und installiert WinUSB.

Zadig - List.png


2. Ausbau des Controllers:
Dazu stellt ihr den Scooter zunächst auf den Kopf. Eine Workmate kann dabei nützlich sein.
Auf der Unterseite des Scooters, findet ihr ganz vorne am Unterboden zwei lange Kreuzschrauben.
Diese müsst ihr zuerst entfernen.
Dann stellt ihr den Roller wieder auf die Räder. Nun löst ihr den Gummibelag des Trittbretts (nur im vorderen Bereich)
und solltet darunter noch zwei kurze Kreuzschrauben finden, die ihr bitte ebenfalls entfernt.
Nun kann man die vordere Plastikabdeckung der F-Serie abklappen. Diese klemmt anfangs extrem.
Notfalls ein Hebelwerkzeug aus Kunststoff verwenden.

20220613_134328.jpg
20220613_134324.jpg


Nun entfernt ihr alle Stecker. Keine Sorge, das System ist nahezu Idiotensicher. Alles ist farblich gekennzeichnet!!!

20220613_141551.jpg


Dieser GOBAO v1.4 Controller mit STM32 Chip wurde mitte 2021 eben falls in den F-Serie Scootern verbaut.
Ein Downgrade per ST-Link geht damit ebenfalls.
Die Lötpunkte sind hier nur an einer anderen Stelle.

GOBAO_V1.4_ESC.jpg



20220613_141632.jpg


Sind alle Kabel ab? Dann könnt ihr den Controller sanft heraushebeln. Dieser ist nur mit der schwarzen Masse angeklebt.
Auf der Seite der "Motorphasen-Böcke" befinden sich unterhalb die Kontakte für den ST-Link Einsatz.
Diese müsst ihr mit einem Zahnstocher oder Schaschlik-Spieß aus Holz vorsichtig freilegen.

ESC F-Serie.jpg


Falls ihr den GOBAO v1.4 Controller in eurem Scooter verbaut habt, muss die Platine erst aus dem Aluminium Gehäuse ausgebaut werden.
Denn die Lötpunkte befinden sich bei diesem ESC auf der Platinenrückseite.
Dazu muss erst die Spange gelöst werden die die Mosfets an das Gehäuse presst. (rot markiert)

Die Platine ist an der Unterseite zusätzlich noch mit weicher Füllmasse an das Gehäuse geklebt.
Diese muss vorsichtig gelöst werden.
Danach lässt sich die Platine ausbauen.

GOBAO_V1.4_Clamp.jpg



3. Re-Flashen des Controllers:
An die vier Programmier-Ports des Controllers könnt ihr jetzt die Kabel für euren ST-Link-Einsatz anbringen.
Hier kann man die Kabel anlöten, mit einem Heißklebepunkt fixieren oder wie in meinem Fall mit einer Pin-Leiste (m)
ein Adapterkabel fertigen.Mein persönlicher Favorit ist die Version mit der Pin-Leiste.
Die Kontaktpunkte kann man bei falscher Handhabung mit dem Lötkolben, wie in folgendem Bild ganz gut zu erkennen ist, nämlich relativ leicht dauerhaft beschädigen. Beim ESC auf dem Foto war der 3V- und der GND-Kontakt (Masse) noch intakt, die Kontaktflächen des SWDIO und SWCLK hingegen sind völlig verbrannt oder die Plättchen wurden abgerissen. Es reicht hier auch vollkommen aus die Kabel nur anzuheften, da die Verbindung ja sofort nach dem ReFlashen wieder abgelötet werden muss.
Löten an der Leiterplatte.png


ST-Link Diagramm GOBAO v1.4 Controller:
(Platinen Rückseite)

GOBAO_V1.4_SWD.jpg


Adapterkabel.png

ST-Link F-Serie Kabel.png


Wie auch immer, stellt die Verbindung zwischen ST-Link Programmer und dem ESC her.
3.3V/SWCLK/SWDIO/GND

Nun startet den Re-Flasher und wählt unter Scooter euren Ninebot F und unter Peripheral wählt ihr DRV aus.
Bei der Serial number gebt ihr die Seriennummer eurer F-Serie ein. Diese findet ihr auf einem kleinen weißen Aufkleber unter dem Roller.
Unter Total distance travelled solltet ihr euren bisherigen KM-Stand eintragen. Falls ihr einen AT32-Chip auf eurem ESC habt, setzt unbedingt den
entsprechenden Haken, ansonsten bekommt euer Chip den falschen Bootloader zugewiesen und läuft zunächst nicht mehr.

F-series_ReFlasher13-01.png
F-series_ReFlasher13-02.png


Ist die Verbindung okay? Der Re-Flasher ist gestartet? Dann startet ihr den Programmier-Vorgang mit dem Button Launch recovery.
Wenn ihr zuvor in den Settings des Re-Flashers noch Show console aktiviert habt, könnt ihr in einem kleinen Kontrollfenster sogar verfolgen, welcher Vorgang vom Programm gerade ausgeführt wird. Das Re-Flashen dauert einen kleinen Augenblick, also habt Geduld und trennt erst dann die Verbindung wieder, wenn der Vorgang komplett abgeschlossen ist.

Wenn die Arbeit getan ist, dürft ihr euren Controller nun in euren Scooter einsetzen. Steckt die Kabel an ihre alte Position und testet danach kurz euren Scooter.
Ist alles okay, schraubt auch den Rest wieder zusammen.
Sollte der Gummibelag nicht mehr richtig haften, erwärmt die Stellen mit einem Föhn und drückt den Belag dann nochmal fest an.

Das war es auch schon. Eure F-Serie ist nun von den Restriktionen befreit. Nun seid ihr auf einer gepatchten Version DRV5.8.4.
 
Zuletzt bearbeitet von einem Moderator:
Perfekt, vielen Dank. Endlich kann ich meinen F40 wieder sinnvoll nutzen 😂. Werde es zeitnah testen.
Auf welche Firmware Version tut das Tool eigentlich downgraden?