RP ✔️ ⛑️ ST-Link Tutorial Ninebot G30D/G30D II ESC/DRV Dashboard/BLE unbricken - Verflashten Roller wiederherstellen!

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
⚠️Bitte dieses Tutorial nicht mehr verwenden⚠️
Nutzt keine Fulldumps mehr zum ST-Linken.
Dadurch geht alles verloren und wird obendrein auch noch fehlerhaft konfiguriert.





Rollerplausch ST-LINK Titel.png

Diese Anleitung wurde für den Ninebot G30D / G30D II geschrieben.
Diese Firmware / Anleitung kann ❌ nicht für Xiaomi E-Scooter genutzt werden


Installationsanleitung für den ST-Link V2 - Flashen/Downgraden der Firmware auf Dashboard & ESC

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. Bevor du hier weiter liest, musst du unbedingt wissen welcher Microchip auf deinem Controller verbaut ist. 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.
Wenn du den alten STM32-Chip hast, alles prima und du kannst hier weiter lesen. Solltest du den aktuellen Controller mit dem AT32-Chip haben, kannst dieses Tutorial aus folgendem Grund nicht nutzen. Jeder Chiptyp hat einen einen eigenen Bootloader für die Firmware. In dem hier verlinkten "FullDump" , so bezeichnet man ein komplettes Speicherabbild des Chips, ist nur der Bootloader für den alten STM32-Chip enthalten. Mittlerweile gibt es für den neuen AT32-Controller aber andere Programme, wie zum Beispiel den 9bot-Flasher oder auch den ReFlasher.

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, ESC 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 =>HIER<=.

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.

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

Benötigt:

1. Installation der ST-Link Software:

ST-LINK Utility Setup.png


Zuerst führt ihr auf eurem PC mal die "setup.exe" der STM32 ST-LINK Utility v4.6.0 aus.
Jetzt sollte die Installation beginnen. Während des Installationsprozesses wird euch die Frage gestellt, ob ihr die Treiber auch installieren möchtet.
Ihr stimmt dem natürlich zu. Ansonsten müsst ihr =>die Treiber<= später separat installieren und das wollen wir verhindern.
Das wäre kein großes Problem. Dazu ladet die Treiber separat herunter, entpackt diese und führt die entsprechende Batch-Datei wie im Screenshot zu erkennen
ist auf eurem PC aus.

DriverInstall.png

Wenn die Installation abgeschlossen ist, müsste euer PC den ST-Link V2 Programmer nun auch erkennen.
Diesen steckt ihr nun zum erstem mal in einen freien USB-Port an eurem Rechner. In meinem Beispiel nutze ich das
Betriebssystem Windows 10. Auf dem Desktop in der unteren, rechten Ecke befindet sich ein Pfeil "^" nach oben.
Wenn ihr diesen Anwählt, sollten die an euren PC angeschlossenen Geräte zu sehen sein, so auch euer STM32 ST-Link.

WindowsST.png
Hat alles soweit funktioniert? Wenn eure Antwort JA ist, dürft ihr jetzt noch euren ST-Link V2 aktualisieren.
Dazu startet ihr die STM32 ST-Link Utility, navigiert dort auf den Reiter "ST-LINK" und dann auf den
den Menüpunkt "Firmware update". In dem nun geöffneten ST-Link-Fenster betätigt ihr nun den Button "Device Connect".
Jetzt wird euch darunter die Current Firmware, sprich die momentan auf dem ST-Link befindliche Firmware angezeigt.
Neben der Bezeichnung Upgrade to Firmware steht die Firmware-Version, die aktuell für den ST-Link V2 angeboten wird.
Falls sich die Versionen unterscheiden, könnt ihr nun durch betätigen der Taste "Yes >>>>" updaten.

ST-Link V2.jpg

Wichtiger Hinweis zum Schluss:
Es ist bereits vorgekommen, dass die aufgedruckte Pin-Belegung des ST-Link V2 nicht mit der tatsächlichen Belegung
auf der Leiterplatte übereinstimmte. Die bedruckte Hülle lässt sich aber leicht vom Modul abziehen, sodass ihr die Belegung
mit dem Aufdruck auf der Platine vergleichen könnt. Das solltet ihr auf jeden Fall tun, um spätere Fehler zu verhindern.

ST-Link PinsRP.png

Hinweis: Es gibt diverse ST-Link Adapter auf dem Markt. Die Pin-Belegung kann sich von der hier dargestellten Variante unterscheiden!

2. Bau eines Adapterkabels für das Flashen des Controllers:

ST Link.png


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 Flashen 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 Flashen stechen wir später die Nadeln hindurch und stellen so einen Kontakt auf der Platine her.

Kabel.png

3. Flashen des vollständigen Systemabbilds "esc126_fulldump"

Als erstes entpacken wir mal die Datei esc126_fulldump.zip mit dem kostenlosen Datenkompressionsprogramm wie "7Zip".
Wir erhalten so die Datei "esc126_fulldump.bin". Diese benötigen wir gleich in der STM32 ST-LINK Utility.

Als nächstes stellen wir mal fest, welcher Controller (ESC) bei uns verbaut war.
Es gibt folgende Modelle, die sich alle etwas unterscheiden.

Der G30D Controller (flashbar) (anklicken zum vergößern)
G30D Controller NEW.png


Der G30 Controller (flashbar) (anklicken zum vergößern)
G30 Controller.png

Der Clone-Controller XBOT (nicht flashbar) (anklicken zum vergößern)
XBot hell.png

Der "G30_New Generation_V1.1" ESC (anklicken zum vergößern)
Dieser Controller hat keinen STM32 Chip, sondern einen AT32F Chip verbaut
und ist somit nicht mit einem ST-Link-Programmer flashbar.
Dieser Controllertyp lässt sich mit >>einer anderen Methode<< unbricken.
NEW ESC RP.png

Danke an Kenan0511 für die Lichtbilder (Fotos) seines G30P.


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 Dashboardstecker 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.

Nadelkontakte.png



Man erkennt eine erfolgreiche Verbindung, wenn ihr es so angezeigt bekommt, wie es hier auf den Screenshots zu sehen ist.
Um diese Verbindung aufzubauen, navigieren wir auf den Reiter "Target" und darunter auf "Connect".
ConnectionRP.png

Sollte jetzt die Meldung "Can not read memory! Disable Read Our Protection" erscheinen, drückt ihr auf dem PC
die Tastenkombination Strg+B (Option bytes) und in dem Auswahlmenü stellt ihr auf "Disabled" und deaktiviert so den Ausleseschutz.

Solltet ihr die folgende Meldung bekommen, stimmt wahrscheinlich eure Pin-Belegung am Kabel nicht oder ihr habt keinen ausreichenden Kontakt zu den Kontakten auf der Leiterplatte. Zur Sicherheit einfach noch einmal nachmessen, bzw. die Nadelpositionierung nochmal kontrollieren!

VerpolungNoConnectionRP.png

Wenn alles passt, könnt ihr mit der Tastenkombination "Strg+P" (Program & Verify...) zu eurer Fulldump-Datei "esc126_fulldump.bin"
navigieren und diese einladen. Der Dialog "Download (esc126_fulldump.bin)" öffnet sich und durch betätigen der "Start" Taste beginnt
ihr mit dem Flashen. Jetzt wartet ihr bis die grüne Fortschrittsanzeige bis zum Ende gelaufen ist und sich das Fenster automatisch schließt.
Dann sollte es so aussehen... Verliert ihr die Verbindung, bekommt ihr die Meldung (rot) wie im zweiten Screenshot angezeigt.

ESC flashing.jpg ConnectionLostRP.png

Das war der Teil mit dem Flashen des ESC. Wenn ihr den Controller wieder an den Scooter anschließt, bekommt ihr einen Fehlercode 27 (ESC not activated, has default S/N). Dieser wird auf dem Dashboard optisch angezeigt und auch akustisch signalisiert (2x lang 7x kurz), da die Seriennummer noch nicht mit eurem Scooter übereinstimmt. Das erledigt ihr anschließend einfach mit der Scooter Hacking Utility (Change Region/Custom).


Serial No.png

Serial No 01.png Serial No 02.png Serial No 03.png

Eine etwas einfachere Methode könnt ihr >>>hier<<< nachlesen.
 

Anhänge

  • ST-Link G30D Controller Cable.png
    ST-Link G30D Controller Cable.png
    348,4 KB · Aufrufe: 547
  • ST-Link Der Dirk.png
    ST-Link Der Dirk.png
    259,9 KB · Aufrufe: 481
  • Rollerplausch ST-LINK Titel.png
    Rollerplausch ST-LINK Titel.png
    76,6 KB · Aufrufe: 455
  • Kabel.png
    Kabel.png
    2,9 MB · Aufrufe: 534
  • Nadelmethode.png
    Nadelmethode.png
    3,8 MB · Aufrufe: 1.999
  • ReFlasher.png
    ReFlasher.png
    59,2 KB · Aufrufe: 2.003
  • ReFlashingTime.mp4
    843,7 KB
Zuletzt bearbeitet von einem Moderator:

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
4. Bau eines Adapterkabels für das Flashen/Downgraden des Dashboards:
Diese Variante der Firmwareinstallation wird nötig, wenn man über Bluetooth (BT) keine Verbindung mehr zum Scooter aufbauen kann.

Benötigte Bauteile für das DashFlash-Adapterkabel:
5-polige Dupont Jumperkabel (Pitch 2,54mm) entsprechende Buchsenleisten funktionieren natürlich auch!
Runde, einreihige 40 Pin Stecker (männlich) (Pitch 2,54mm) Kabel mit Heißkleber fixieren funktioniert natürlich auch!
Dash Firmware download

Es werden entsprechend der Bild-Beschriftung die Leitungen 5,0V, GND, SWDIO und SWDCLK benutzt.
Ein Massepunkt (GND) genügt, diesen nutze ich von den drei seitlichen Kontakten.
In meinem Fall hat es leider nicht funktioniert, die 5V am Julet-Stecker wie auf dem Bild zu erkennen anzuschließen.
Daher empfehle ich euch auch hier, die Spannung am Steckerkontakt der Platine anzulegen (anlöten oder mit Heißkleber fixieren).

Um hier erfolgreich zu sein, muss zuerst einmal der Kondensator "C2" von der Leiterplatte entfernt werden.
Dieser muss auch im Anschluss nicht wieder aufgebracht werden. Er dient lediglich dazu, das unbefugte Flashen zu unterbinden.

Auf der Beschriftung des ST-Link V2 könnt ihr die Belegung eures Programmers erkennen.
Vom 5-poligen Dupont Jumperkabel benötigen wir demnach 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.

Dash G30. G30D png.png

Von der männlichen Steckerleiste lassen sich drei Kontakte durch Abbrechen separieren.
Mit einer Zange biegt ihr euch die zwei äußeren langen Kontakte so zurecht, dass die drei Kontaktpunkte
mit den drei seitlichen Kontakten der Leiterplatte übereinstimmen.
Nun verlötet ihr den Stecker gemäß des Anschlussplans (Foto) mit dem 5-poligen Dupont-Kabel.
Diesen könnt ihr mit einem kleinen Stück Schrumpfschlauch oder Isolierband isolieren. Die vorderen Kontakte bleiben dabei frei.
Das rote Kabel lötet ihr an dem markierten 5V-Anschluss vorübergehend an oder fixiert das Kabel mit einem Punkt Heißkleber.
Hier ist eine zweite Person hilfreich, welche die drei Kontakte während des Flashens kurz festhält.
Alternativ kann auch hier mit Heißkleber fixiert werden.

DashFlashG30D.png


5. Flashen des vollständigen Systemabbilds "full_BLE110.bin"
Diese Variante der Firmwareinstallation wird nötig, wenn man über Bluetooth (BT) und den gängigen Apps keine Verbindung mehr zum Scooter herstellen kann.
Nun kann es auch endlich losgehen. Ihr haltet euren Steckerkontakt gemäß der Pin-Belegung an die seitlichen Kontaktpunkte des Dashboards. Wenn euer Kabel richtig funktioniert, sollte nun euer Dashboard leuchten und zeigt wahrscheinlich einen Errorcode 10 an. Das ist in diesem Fall völlig normal, denn es ist ja auch nichts am Dashboard angeschlossen.
Aus dem entpackten =>Zip-Archiv<= mit der Dash-Firmware startet ihr nun die Datei "flash_BLE110.bat".

Dash Flash.png

War der Flash-Vorgang erfolgreich seht ihr nun "***Programming Finished***"

Optional:
In der zugehörigen "full_BLE110.bin" könnt ihr auch vor dem Flashen noch die BT Kennung eintragen, das funktioniert aber auch später über die Apps.
Über das kostenlose Programm =>WinMerge<= könnt ihr die Datei "full_BLE110.bin" mit der "org_full_BLE110.bin" vergleichen.
So solltet ihr mühelos die richtige Stelle mit der BT-Kennung finden und könnt diese auch editieren.

WinMerge.png


Hinweis: Das Flashen geht so schnell, dass ihr wahrscheinlich denkt, es hätte nicht geklappt!
 
Zuletzt bearbeitet von einem Moderator:

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
6. Flashen des BMS

Das Flashen des BMS ist eine sehr heikle Angelegenheit, da die Platine immer unter Spannung steht.
Hier sollte man ganz genau wissen, was man macht. Das ist definitiv eine Baustelle für Profis.
Warning.png


=> Platzhalter <=
 
Zuletzt bearbeitet:

Gerhard

Administrator
26 Mai 2020
2.366
3.538
E-Scooter
..mag ich!
Telegram
@Gerhard_RP
15 März 2022
8
5
E-Scooter
G30 MAX
Hallo Leute, durch einen fehler meiner Seits (Upgrade per Ninebot App) hab ich viel dazugelernt, kannte RP.com garnicht, tolle Leute hier, und SHU ist auch massiv geil.
Leider geht bei mir der Downgrade von DRV170 nicht. Stecke also fest mit 20km/h. Und das in Österreich.
Letzte hoffnung ist wohl es per ST-Link zu probieren.
Ist zufällig jemand aus Oberösterreich der mir da weiterhelfen kann, sonst kauf ich halt denn Link selber. Wäre echt hilfreich.
Ein Kaffee samt Kuchen wäre drinn.
Lg
 
  • Hilfreich!
Reaktionen: Robert361987
6 März 2022
1
1
E-Scooter
Ninebot Max G30D II
Guten Abend allerseits! Gibts hier jemanden der sich damit in Raum Hannover auskennt?
Brauche dringend downgrade
aktuelle Version 1.7.0
 

Anhänge

  • 912E6613-8841-4BAC-ADC4-13A7EEF05E4D.png
    912E6613-8841-4BAC-ADC4-13A7EEF05E4D.png
    129,8 KB · Aufrufe: 496
  • Hilfreich!
Reaktionen: ACE
16 März 2022
6
5
E-Scooter
Segway Ninebot G30d2
Hallo zusammen, ich bräuchte Unterstützung bei meinem g30d2 Audi :) mit drv 1.7.0

komme aus dem PLZ Bereich 46xxx (Oberhausen)

vG Windragon
 
4 Januar 2022
6
4
E-Scooter
Ninebot G30D Gen2
Hallo zusammen, wir haben heute einen neuen G30LD für meine Frau gekauft, sie hat den Scooter dann eingerichtet und was soll ich sagen, das Update über die Segway App gemacht. Jetzt geht natürlich gar nichts mehr mit flashen usw.

Ich selbst traue mich nicht an den ST Link dran, kann jemand helfen? Natürlich gegen eine Spende.

Liebe Grüße

René
 
16 März 2022
3
3
E-Scooter
Ninebot Max G30D
Telegram
@istandzig
Hallo zusammen, leider habe ich nichtwissend meinen g30d mit drv 1.7.0 aufgespielt.

Wenn ich einen neuen Controller erwerbe, würde sich das Problem beheben, oder ist jemand aus dem PLZ Bereich 45XXX (Gelsenkirchen) der mir bei der Lösung helfen kann?

Natürlich gegen eine Spende.

vG Istandzig
 
18 März 2022
1
0
E-Scooter
Ninebot MAX G30D II
Könnte man sich nicht einfach nen neuen Controller bestellen der mit ner alten DRV daherkommt? Und dann wären alle meine Probleme mit der 1.7.0 in Luft aufgelöst?
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
Könnte man sich nicht einfach nen neuen Controller bestellen der mit ner alten DRV daherkommt? Und dann wären alle meine Probleme mit der 1.7.0 in Luft aufgelöst?
Vorhin habe ich unseren User W WinDragon glücklich gemacht. Er hat von mir mit seinem schicken Audi-Scooter ein Downgrade per ST-Link erhalten, eine Funk-Wergfahrsperre wurde verbaut und die SHFW wurde installiert und eingerichtet. Man muss nicht alles neu kaufen, wenn es anderweitig funktioniert.
 
16 März 2022
3
3
E-Scooter
Ninebot Max G30D
Telegram
@istandzig
Vorhin habe ich unseren User W WinDragon glücklich gemacht. Er hat von mir mit seinem schicken Audi-Scooter ein Downgrade per ST-Link erhalten, eine Funk-Wergfahrsperre wurde verbaut und die SHFW wurde installiert und eingerichtet. Man muss nicht alles neu kaufen, wenn es anderweitig funktioniert.
Kannst du mir eventuell auch dabei helfen? Das wäre echt mega :)
 

GeoBot

Moderator
Teammitglied
16 Juli 2021
2.282
3.203
Liebe zum Escooter
E-Scooter
G30D II, MAX G2
Telegram
@Geo_Bot_RP
16 März 2022
6
5
E-Scooter
Segway Ninebot G30d2
Vorhin habe ich unseren User W WinDragon glücklich gemacht. Er hat von mir mit seinem schicken Audi-Scooter ein Downgrade per ST-Link erhalten, eine Funk-Wergfahrsperre wurde verbaut und die SHFW wurde installiert und eingerichtet. Man muss nicht alles neu kaufen, wenn es anderweitig funktioniert.
GeoBot super freundlich hilfsbereit und sehr kompetent..
 
  • Hilfreich!
Reaktionen: playmaker und mhdot
18 März 2022
2
7
E-Scooter
Ninebot g30
Könntest du mir evtl da auch helfen und sagen was ich machen muss oder zuschicken muss. Habe leider mein ninebot g30 auch aktualisiert
 
18 März 2022
2
8
E-Scooter
Ninebot Segway MAX G
Hallo zusammen,

leider hat auch mich die DRV 1.7.0 Problematik ereilt. "Glücklicherweise" habe ich den Luxus einen ST-Link V2 hier zu haben und auch handwerklich geschickt zu sein. Wenn ich es richtig verstanden habe müsste für das Downgrade der DRV der esc126_fulldump.bin ausreichen?

BLE runmlöten und BMS flashen dürfte bei der 1.7.0 Problematik nicht erforderlich sein?

Falls es klappt, kann ich gerne im Raum Zürich auch anderen beim downgraden helfen.

Liebe Grüße

Beppo