
[EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
- Stivikivi
- Beiträge: 4960
- Registriert: Sa 16. Jul 2022, 23:10
- Roller: [NIU] & [ZERO] & [BMW]
- PLZ: 0
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Finds auch richtig Klasse was der User hier für DIY Projekte zur Schau stellt. 

-
- Beiträge: 184
- Registriert: Mi 15. Jun 2022, 02:05
- Roller: MQi GT EVO
- PLZ: 67
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
So wie angedroht, gehts nun hier weiter.
Also das mit der ESPUI klickibunti WebGUI hat sich erledigt und musste nochmal von vorne anfangen. Die GUI lässt sich zwar einfach zusammenklicken, der ganze ESP wird dadurch aber instabil, da die GUI sich auf andere nicht ganz so stabile Libraries baut. (ASyncwebserver und AsyncTCP). Nach vielen debuggen und optimieren lief es immer noch nicht stabil und hab dann diesbezüglich das Handtuch geworfen.
Hab nun eine einfache HTML Seite gebaut, sieht jetzt nicht mehr so fancy nancy aus, aber es tut seinen Dienst. Die Seite wird mit einem einfachen WebServer vom Flash ausgeliefert und baut eine Websocket Verbindung zum ESP auf, über diese werden dann alle angezeigten Daten und Einstellungen im Binärformat ausgetauscht. Somit ist es möglich viele Daten ohne groß Last zu erzeugen, zu übertragen.
Naütrlich gab es dann auch andere Probleme, da der ESP mehr leisten muss. Es gab Probleme mit dem CAN Timing sodass trotz verteilen der Jobs auf verschiedene Kernel des ESPs, was sich durch abschaltende Batterien geäußert hat. Also hab ich nun nahezu den ganzen Code neu schreiben müssen, diesmal auch auf Basis neuer Libraries. Ich hab immer die mir altbekannten genutzt die nicht mehr weiterentwickelt wurde und schon rund 5 Jahre auf dem Buckel hatten.
Summarsumarum läuft die Kiste jetzt mit allen Anforderung die ich an die Kiste hatte. Anbei eine GIF Animation mit den Update Rates des nicht mehr so schicken Weboberfläche. Die Projektbeschreibung habe ich aktualisiert mit allen weiteren Funktionen wie den Emergency Charge Mode:
https://git.0-c.de/Crash_Override/NIU_C ... eryChecker Die Diagnosestecker hab ich auch gecrimpt bekommen, war aber schon ein Gefuddel, zum einen ist meine Presszange dafür nicht ideal und zum anderen muss man die PINs präzise einstecken, damit die auf der anderen Seite auch da rauskommen wo die sollten. Das 3D Druck Gehäuse welches ich im Netz gefunden hatte, ist etwas zu klein, war für eine ältere PCB Revision. Da die Kabel nach wie vor außen angeschlossen werden müssen, vielleicht ein anderes designen sodass die Klemmen IN dem Gehäuse sind und es nur eine Kabeleinführung gibt? Bin jetzt nicht so der 3D Designer, wenn da einer was einbringen möchte. Ansonsten vergrößere ich die Kiste um die paar mm und schleife die bereits gedruckten etwas ab.
Also das mit der ESPUI klickibunti WebGUI hat sich erledigt und musste nochmal von vorne anfangen. Die GUI lässt sich zwar einfach zusammenklicken, der ganze ESP wird dadurch aber instabil, da die GUI sich auf andere nicht ganz so stabile Libraries baut. (ASyncwebserver und AsyncTCP). Nach vielen debuggen und optimieren lief es immer noch nicht stabil und hab dann diesbezüglich das Handtuch geworfen.
Hab nun eine einfache HTML Seite gebaut, sieht jetzt nicht mehr so fancy nancy aus, aber es tut seinen Dienst. Die Seite wird mit einem einfachen WebServer vom Flash ausgeliefert und baut eine Websocket Verbindung zum ESP auf, über diese werden dann alle angezeigten Daten und Einstellungen im Binärformat ausgetauscht. Somit ist es möglich viele Daten ohne groß Last zu erzeugen, zu übertragen.
Naütrlich gab es dann auch andere Probleme, da der ESP mehr leisten muss. Es gab Probleme mit dem CAN Timing sodass trotz verteilen der Jobs auf verschiedene Kernel des ESPs, was sich durch abschaltende Batterien geäußert hat. Also hab ich nun nahezu den ganzen Code neu schreiben müssen, diesmal auch auf Basis neuer Libraries. Ich hab immer die mir altbekannten genutzt die nicht mehr weiterentwickelt wurde und schon rund 5 Jahre auf dem Buckel hatten.
Summarsumarum läuft die Kiste jetzt mit allen Anforderung die ich an die Kiste hatte. Anbei eine GIF Animation mit den Update Rates des nicht mehr so schicken Weboberfläche. Die Projektbeschreibung habe ich aktualisiert mit allen weiteren Funktionen wie den Emergency Charge Mode:
https://git.0-c.de/Crash_Override/NIU_C ... eryChecker Die Diagnosestecker hab ich auch gecrimpt bekommen, war aber schon ein Gefuddel, zum einen ist meine Presszange dafür nicht ideal und zum anderen muss man die PINs präzise einstecken, damit die auf der anderen Seite auch da rauskommen wo die sollten. Das 3D Druck Gehäuse welches ich im Netz gefunden hatte, ist etwas zu klein, war für eine ältere PCB Revision. Da die Kabel nach wie vor außen angeschlossen werden müssen, vielleicht ein anderes designen sodass die Klemmen IN dem Gehäuse sind und es nur eine Kabeleinführung gibt? Bin jetzt nicht so der 3D Designer, wenn da einer was einbringen möchte. Ansonsten vergrößere ich die Kiste um die paar mm und schleife die bereits gedruckten etwas ab.
Zuletzt geändert von zock3r1608 am Sa 8. Mär 2025, 00:21, insgesamt 1-mal geändert.
- solid
- Beiträge: 10
- Registriert: Sa 30. Nov 2024, 16:04
- Roller: NIU MQi GT Evo
- PLZ: 8
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Top zock3r1608!
Hast du Gegenstücke zum Diagnosestecker dazu bekommen, die man an ein 12V Netzteil crimpen könnte (zum Zuhause laden)? Oder empfiehlst du einen Splitter für die Lilygo T-CAN485 12V Buchse?
Das von dir empfohlene Akku Ladegerät von aliexpress liegt schon bei mir bereit und EVO Stecker hab ich vom original NIU Ladegerät.
Hast du Gegenstücke zum Diagnosestecker dazu bekommen, die man an ein 12V Netzteil crimpen könnte (zum Zuhause laden)? Oder empfiehlst du einen Splitter für die Lilygo T-CAN485 12V Buchse?
Das von dir empfohlene Akku Ladegerät von aliexpress liegt schon bei mir bereit und EVO Stecker hab ich vom original NIU Ladegerät.
-
- Beiträge: 184
- Registriert: Mi 15. Jun 2022, 02:05
- Roller: MQi GT EVO
- PLZ: 67
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Ja genau auf AliExpress. Nach "6 Pin Red Plug" suchen, der Link zu den Teilen hab ich glaub im Git Repo. Ansonsten kann ich den später raussuchen
Die zu crimpen und Pins einstecken ist aber pain in the ass.
Deswegen auch das Recht dünne Kabel im Foto.
12V vom Bleianker/LFP und CAN liegen drauf. Wenn du die 12V laden willst würde ich mit dem Querschnitt bisschen hoch gehen, im Roller sind das vermutlich 0,25 oder sogar 0,5mm2. Also mit dem Ladestrom bisschen aufpassen.
Die zu crimpen und Pins einstecken ist aber pain in the ass.
Deswegen auch das Recht dünne Kabel im Foto.
12V vom Bleianker/LFP und CAN liegen drauf. Wenn du die 12V laden willst würde ich mit dem Querschnitt bisschen hoch gehen, im Roller sind das vermutlich 0,25 oder sogar 0,5mm2. Also mit dem Ladestrom bisschen aufpassen.
-
- Beiträge: 184
- Registriert: Mi 15. Jun 2022, 02:05
- Roller: MQi GT EVO
- PLZ: 67
- Kontaktdaten:
NIU CAN Battery Checker in Action - Screenrecord
NIU CAN Battery Checker in Action.
https://www.youtube.com/watch?v=Xnd2K1DdEfE
Ab ca. 9 Min herum: Dauer-Vollgas
Hab mal wieder ne Idee bekommen (klar davon hab ich viele
) und zwar wird ja die FOC in der Leistung durch die ECU begrenzt, haben wir ja durch das letzte Update erfahren, als noch mehr Leistung im unteren SOC Bereich ermöglicht wurde. Da mir es auch auf den Keks geht schon ab 60% Leistungseinbußen hinnehmen zu müssen, war klar das es eine Mitteilung von der ECU an die FOC gehen muss, welche diese begrenzt.
Und da könnte ich ja einhaken und ggf. mit dem Projekt auch Einstellungen bezüglich FOC-Verhalten vornehmen. Nun ja ich werds lassen, die Akkus sind einfach so am Deckel, sieht man in dem Video oben sehr gut. Die Spannung unter Last bricht einfach dermaßen ein.
Bin mit ca. 22°C Akkutemperatur losgefahren... die SOC Unterschiede kommen daher, das ich Akku B wieder auf V06 geupdated hab und durchs Update die Verschleißdaten fehlen. Will wissen ob das BMS auch die Zellen lernt, wenn man nicht bis komplett Stillstand fährt.
Ich hab sowie es aussieht auch die Nachricht gefunden, welcher die Max Kapazität laut BMS beinhaltet. Wenn ich mehr Daten gesammelt habe, kann ich das ebenfalls ins Projekt integrieren, zusätzlich dazu dann eine SoH (State of Health) Berechung ermöglichen.
https://www.youtube.com/watch?v=Xnd2K1DdEfE
Ab ca. 9 Min herum: Dauer-Vollgas
Hab mal wieder ne Idee bekommen (klar davon hab ich viele

Und da könnte ich ja einhaken und ggf. mit dem Projekt auch Einstellungen bezüglich FOC-Verhalten vornehmen. Nun ja ich werds lassen, die Akkus sind einfach so am Deckel, sieht man in dem Video oben sehr gut. Die Spannung unter Last bricht einfach dermaßen ein.
Bin mit ca. 22°C Akkutemperatur losgefahren... die SOC Unterschiede kommen daher, das ich Akku B wieder auf V06 geupdated hab und durchs Update die Verschleißdaten fehlen. Will wissen ob das BMS auch die Zellen lernt, wenn man nicht bis komplett Stillstand fährt.
Ich hab sowie es aussieht auch die Nachricht gefunden, welcher die Max Kapazität laut BMS beinhaltet. Wenn ich mehr Daten gesammelt habe, kann ich das ebenfalls ins Projekt integrieren, zusätzlich dazu dann eine SoH (State of Health) Berechung ermöglichen.
-
- Beiträge: 6
- Registriert: Mi 26. Mär 2025, 22:19
- Roller: NIU MQI GT EVO
- PLZ: 3353
- Land: A
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Hallo zock3r1608,
ich bin neu hier im Forum. Weiß auch leider noch gar nicht wie man direkt auf Beiträge antwortet oder so.
Aber erstmal ganz großes Lob an dich was du hier leistest und drauf hast. Das ist nicht selbstverständlich deine Arbeit mit andern zu teilen.
Zweitens hast du genau das Thema angegangen, was ich sehr sehr dringend brauche, nämlich die Akkus mit einem Fremdladegerät zu laden.
Und witzigerweise hast du zwei Sätze geschrieben, die ich sehr passend fand.
"Bringt warscheins erstmal niemanden was, weils warscheins nur noch 3 EVO Fahrer gibt"
"Haha gibt doch bestimmt günstige EVOs von den Leuten die die Schnauze voll haben xD"[/i]
Also mir würde es sehr sehr viel bringen wie gesagt, und zwar genau aus dem Grund, weil ich einige EVO's von frustrierten Leuten daheim habe!
Aber leider keine original Ladegeräte dabei waren.
Nun zum Problem, ich habe leider nicht genau geschnallt was ich alles brauche um die Akkus mit meinem nicht NIU 72V Ladegerät zu laden.
Ich kenn mich schon ein bisschen aus, aber war das dann doch etwas zu technisch. Vielleicht darf ich dich bitten es für mich noch einmal zusammenzufassen, was ich brauche.
Was kann ich beitragen?
Ich habe gelesen du suchst jemanden der ein Gehäuse planen kann. Da kann ich vielleicht helfen, nur her mit den Daten was es alles haben muss, ich werde mein Bestes geben!
Danke und beste Grüße
Ewald
ich bin neu hier im Forum. Weiß auch leider noch gar nicht wie man direkt auf Beiträge antwortet oder so.
Aber erstmal ganz großes Lob an dich was du hier leistest und drauf hast. Das ist nicht selbstverständlich deine Arbeit mit andern zu teilen.
Zweitens hast du genau das Thema angegangen, was ich sehr sehr dringend brauche, nämlich die Akkus mit einem Fremdladegerät zu laden.
Und witzigerweise hast du zwei Sätze geschrieben, die ich sehr passend fand.
"Bringt warscheins erstmal niemanden was, weils warscheins nur noch 3 EVO Fahrer gibt"
"Haha gibt doch bestimmt günstige EVOs von den Leuten die die Schnauze voll haben xD"[/i]
Also mir würde es sehr sehr viel bringen wie gesagt, und zwar genau aus dem Grund, weil ich einige EVO's von frustrierten Leuten daheim habe!
Aber leider keine original Ladegeräte dabei waren.
Nun zum Problem, ich habe leider nicht genau geschnallt was ich alles brauche um die Akkus mit meinem nicht NIU 72V Ladegerät zu laden.
Ich kenn mich schon ein bisschen aus, aber war das dann doch etwas zu technisch. Vielleicht darf ich dich bitten es für mich noch einmal zusammenzufassen, was ich brauche.
Was kann ich beitragen?
Ich habe gelesen du suchst jemanden der ein Gehäuse planen kann. Da kann ich vielleicht helfen, nur her mit den Daten was es alles haben muss, ich werde mein Bestes geben!
Danke und beste Grüße
Ewald
-
- Beiträge: 184
- Registriert: Mi 15. Jun 2022, 02:05
- Roller: MQi GT EVO
- PLZ: 67
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Hi,
im Roller laden ist einfach, einfach den T-CAN485 mit meiner Firmware an die 12V und CAN anschließen und abgehts
Wenn du die extern laden willst, musst du das ebenfalls machen, entweder diese Chogori Buchsen besorgen und die Ladeschnuddel (wenn du die hast) verwenden oder was basteln. Die Stecker gibts meines Wissens noch nicht auf Ali und Co.
Hier hat ein anderer User den T-CAN485 schon im Einsatz. Habs leider bisher noch nicht geschafft einen vollständigen Schaltplan zu zeichnen.
viewtopic.php?p=389749#p389749
im Roller laden ist einfach, einfach den T-CAN485 mit meiner Firmware an die 12V und CAN anschließen und abgehts

Wenn du die extern laden willst, musst du das ebenfalls machen, entweder diese Chogori Buchsen besorgen und die Ladeschnuddel (wenn du die hast) verwenden oder was basteln. Die Stecker gibts meines Wissens noch nicht auf Ali und Co.
Hier hat ein anderer User den T-CAN485 schon im Einsatz. Habs leider bisher noch nicht geschafft einen vollständigen Schaltplan zu zeichnen.
viewtopic.php?p=389749#p389749
-
- Beiträge: 6
- Registriert: Mi 26. Mär 2025, 22:19
- Roller: NIU MQI GT EVO
- PLZ: 3353
- Land: A
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Hallo Zock,
danke für deine rasche Antwort!!!
Ich denke ich verstehe es nun. Den CAN Adapter habe ich schon mal gefunden. Wenn ich außerhalb vom Roller lade versorge ich dann mit einer externen 12V Spannung (DVDC Converter versorgt durchs Ladegerät)
Aber die Ladefreigabe im Clan-Adapter muss man immer per WLAN setzten, oder gibts eine Möglichkeit das diese ansteht sobald er gestartet wird?
Eine Frage noch bitte, weißt du ob schon wer versucht hat den Adapter zu nutzen um einen Fremdakku mit dem Roller zu nutzen?
LG und Danke
Ewald
danke für deine rasche Antwort!!!
Ich denke ich verstehe es nun. Den CAN Adapter habe ich schon mal gefunden. Wenn ich außerhalb vom Roller lade versorge ich dann mit einer externen 12V Spannung (DVDC Converter versorgt durchs Ladegerät)
Aber die Ladefreigabe im Clan-Adapter muss man immer per WLAN setzten, oder gibts eine Möglichkeit das diese ansteht sobald er gestartet wird?
Eine Frage noch bitte, weißt du ob schon wer versucht hat den Adapter zu nutzen um einen Fremdakku mit dem Roller zu nutzen?
LG und Danke
Ewald
-
- Beiträge: 184
- Registriert: Mi 15. Jun 2022, 02:05
- Roller: MQi GT EVO
- PLZ: 67
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Ich kann eine Option einbauen, wenn man die setzt und speichert, dass sofort die Ladepakete gesendet werden, sodass man den Schalter nicht jedes Mal antippen muss.
Ein Fremdakku kann man damit nicht nutzen, da ich ja nur die Pakete auf dem CAN lese und interpretiere und darstelle.
Dass was du für einen Fremdakku brauchst ist ein Akkusimulator. Der dem restlichen Roller vorgaukelt ein echter zu sein.
Mit dem erlangten Wissen sollte es mir möglich sein, so einen zu programmieren
man müsste nur testen ob die ECU noch Rückmeldung über die Detect PINs benötigt.
Je nachdem was für ein Akku bzw. BMS im Fremdakku kann man die Daten von dem nehmen und passend übersetzen.
Zum Bsp .das DalyBMS per RS485 an den T-CAN der zieht sich die Daten und schiebt die auf den CAN durch.
Man kann fehlende Datenpunkte errechnen oder komplett faken, aber irgendwas muss man dem Roller ja mitteilen, sonst hast du auf dem Dashboard keinerlei Anhaltspunkt über den Füllstand.
Ich habe vier Akkus für den EVO und die hoffentlich auch noch eine Weile heben. Dann würde ich's eh mit Zellentausch probieren.
Ein Fremdakku hat den Vorteil, dass man mehr Kapazität mitnehmen kann wenn man den Platz komplett ausnutzt, auf Kosten der Handhabbarkeit.
Habe auch aktuell kein Akkupaket mit der Spannungslage um dass zu Testen, interessant wäre es auf jeden Fall. Ich kann aber Mal die BMS Nachrichten in den Roller jagen und den Fremdlader anschließen ob der sich fahrbereit schalten lässt.
Ein Fremdakku kann man damit nicht nutzen, da ich ja nur die Pakete auf dem CAN lese und interpretiere und darstelle.
Dass was du für einen Fremdakku brauchst ist ein Akkusimulator. Der dem restlichen Roller vorgaukelt ein echter zu sein.
Mit dem erlangten Wissen sollte es mir möglich sein, so einen zu programmieren

Je nachdem was für ein Akku bzw. BMS im Fremdakku kann man die Daten von dem nehmen und passend übersetzen.
Zum Bsp .das DalyBMS per RS485 an den T-CAN der zieht sich die Daten und schiebt die auf den CAN durch.
Man kann fehlende Datenpunkte errechnen oder komplett faken, aber irgendwas muss man dem Roller ja mitteilen, sonst hast du auf dem Dashboard keinerlei Anhaltspunkt über den Füllstand.
Ich habe vier Akkus für den EVO und die hoffentlich auch noch eine Weile heben. Dann würde ich's eh mit Zellentausch probieren.
Ein Fremdakku hat den Vorteil, dass man mehr Kapazität mitnehmen kann wenn man den Platz komplett ausnutzt, auf Kosten der Handhabbarkeit.
Habe auch aktuell kein Akkupaket mit der Spannungslage um dass zu Testen, interessant wäre es auf jeden Fall. Ich kann aber Mal die BMS Nachrichten in den Roller jagen und den Fremdlader anschließen ob der sich fahrbereit schalten lässt.
-
- Beiträge: 6
- Registriert: Mi 26. Mär 2025, 22:19
- Roller: NIU MQI GT EVO
- PLZ: 3353
- Land: A
- Kontaktdaten:
Re: [EVO,100,R] CAN/ECU Bus Reverse Engineering (Roller + Batterie)
Schönen Abend,
wahnsinn was du drauf hast und das Thema mit der Rollertechnik interessiert dich wirklich, das merkt man! Ich baue immer wieder mal Akkus für kleinere Roller, Behinderten Fahrzeuge, und einen hab ich für eine Elmoto gebaut. Bei keinem der Fahrzeuge hab ich bisher Can gebraucht, aber die BMS die ich verwende hätten CAN.
In der Elmoto verwende ich einen ASI BAC Controller. Der Grund warum es interessant wäre einen eigenen Akku für den EVO zu basteln ist weil ich mehr EVOs als Akkus habe. Der Generalimporteur hat ja finanzielle Schwierigkeiten und da wurden viele von den Rückläufern verkauft, aber teilweise ohne Akkus. So kommt es zum chronischen Akkumangel
Ein richtig großer wäre schon cool, aber auch schwer zu heben wie du schreibst. Daher wären eh zwei sinnvoller. Müsste mal Testen ob man meine BMS parallel schalten kann. Zellentausch an einem originalen wäre einfach und sicher die einfachste Methode. Aber es gibt sehr wenig mit defekten Zellen, die halten einfach zu lange
. Das heißt man müsste rausfinden was der Evo alles wissen will, greift die Daten am BMS ab und bereitet sie mit dem CAN- Gerät für den EVO auf.
Ach übrigens ich hab mir schon eines bestellt, freu mich schon mein Ladegerät mit deinem Programm zu testen. Du schreibst man muss aktuell auch nur eine Taste drücken um zu laden? Das wäre voll ok, ich dachte man jedes mal über das Wlan aufs Modul.
LG
Ewald
wahnsinn was du drauf hast und das Thema mit der Rollertechnik interessiert dich wirklich, das merkt man! Ich baue immer wieder mal Akkus für kleinere Roller, Behinderten Fahrzeuge, und einen hab ich für eine Elmoto gebaut. Bei keinem der Fahrzeuge hab ich bisher Can gebraucht, aber die BMS die ich verwende hätten CAN.
In der Elmoto verwende ich einen ASI BAC Controller. Der Grund warum es interessant wäre einen eigenen Akku für den EVO zu basteln ist weil ich mehr EVOs als Akkus habe. Der Generalimporteur hat ja finanzielle Schwierigkeiten und da wurden viele von den Rückläufern verkauft, aber teilweise ohne Akkus. So kommt es zum chronischen Akkumangel

Ein richtig großer wäre schon cool, aber auch schwer zu heben wie du schreibst. Daher wären eh zwei sinnvoller. Müsste mal Testen ob man meine BMS parallel schalten kann. Zellentausch an einem originalen wäre einfach und sicher die einfachste Methode. Aber es gibt sehr wenig mit defekten Zellen, die halten einfach zu lange

Ach übrigens ich hab mir schon eines bestellt, freu mich schon mein Ladegerät mit deinem Programm zu testen. Du schreibst man muss aktuell auch nur eine Taste drücken um zu laden? Das wäre voll ok, ich dachte man jedes mal über das Wlan aufs Modul.
LG
Ewald
Wer ist online?
Mitglieder in diesem Forum: Benjamin1990, Harryd1 und 373 Gäste