Skip to content

About

Open-source ECU calibration workbench: finds maps without a definition (measured confidence), XDF/A2L/RomRaider, ORI/MOD compare, checksums, heatmap & 3D. Windows, German & English UI, GPL-3.0.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

ECU Studio AI – Kennfelder finden, verstehen und nachvollziehbar bearbeiten

Version Downloads Tests Letzter Commit
Windows Python Lizenz: GPL-3.0 Sterne

Kennfelder finden – auch ohne Definition.
Mit Beweis, nicht mit Bauchgefühl.

ECU Studio AI ist eine Open-Source-Kalibrier-Workbench für Motor- und Getriebesteuergeräte.
Sie liest den Programmcode des Steuergeräts, findet Kennfelder samt Achsen und sagt dir bei jedem Fund,
wie sicher er ist – gemessen an echten Herstellerdaten.


Herunterladen   In Aktion   Steuergeräte   Fortschritt

Kein Python nötig · Deutsch & English · Updates mit Prüfsumme und Rollback · Die Originaldatei wird nie verändert

🇬🇧 English summary

ECU Studio AI is an open-source calibration workbench for engine and transmission control units (Windows, GPL-3.0).

  • Finds calibration maps without a definition – from code references (C16x, TriCore, 68k, SH-2, HC11, 8051), record headers with axes, and structure analysis. Every candidate names its kind of evidence (code, record structure or data pattern only), never an invented percentage.
  • Works with the definitions you have: TunerPro XDF, ASAM A2L / DAMOS (with EPK software-ID check), RomRaider XML, CSV.
  • Edit safely: hex, table, heatmap, 3D and curve views, ORI/MOD comparison, checksum verification and correction (only where the algorithm is proven on the original), flash preflight. The original file is never changed.
  • Measured, not promised: e.g. Siemens MSD85 279 of 1026 maps found exactly at 81 % precision on held-out test data; all results per ECU in the support matrix.
  • English interface: Einstellungen → Sprache / Language → English (defaults to the system language).
  • Deliberately out of scope: automatic "stage 1" tuning, disabling emission or protection functions, flash approval.

⬇ Download for Windows – portable ZIP or installer, no Python needed. The rest of this page is in German.


⚡ Auf einen Blick

🔍 Findet

Kennfelder, Kennlinien und Achsen
in unbekannten BIN-Dateien – aus den Adressen, die der Programmcode selbst lädt, aus Datensätzen mit Achsen und aus der Struktur der Daten.

🔬 Belegt

Jeder Fund nennt seinen Beweis
– Code-Beleg, Strukturbeleg oder Datenmuster-Vermutung, ohne erfundene Prozentzahl. Kein Fund gibt sich als mehr aus, als er ist.

🛡️ Schützt

Bearbeiten ohne Risiko für das Original
Änderungen liegen als nachvollziehbare Ebene über der Datei, mit Preflight, Zwillings-Check, geprüften Checksummen und Undo.

463 von 703 279 von 1026 0 6 650+
Kennfelder exakt gefunden
Bosch EDC17CP09 · Hersteller-A2L
Kennfelder exakt auf Testdaten
Siemens MSD85 · nie zum Einstellen genutzt
Fehlalarme
auf Zufallsdaten, gelöschtem Flash, Nullen
Definitionsformate
XDF · A2L · DAMOS · RomRaider · CSV · Kennfeldpaket
automatische Tests
bei jeder Änderung

🎬 In Aktion

Kennfeldsuche mit einem Klick: Kandidaten mit Konfidenz, Achsen und Beweis
Ein Klick – Kennfelder samt Achsen, jeweils mit Beweisart und gemessener Konfidenz.

3D-Ansicht eines Kennfelds
3D-Ansicht – Form eines Kennfelds sofort erfassen
ORI/MOD-Vergleich
ORI/MOD-Vergleich – jede Zelle, jede Differenz
Filter nach Konfidenz
Filter – nach Konfidenz, Prüfstatus und Beweisart
Unterstützte Steuergeräte
Unterstützte Steuergeräte – mit Messwerten direkt in der App
📸 Weitere Ansichten
Kennfeldtabelle (hell) Heatmap (dunkel) 3D-Ansicht (dunkel)
Softwarestand-Vergleich Kennfeldpaket English UI

Alle Aufnahmen mit synthetischen Demo-Dateien aus examples/demo.


🔬 Beweis statt Bauchgefühl

Die meisten Werkzeuge suchen nach „glatten Flächen“. ECU Studio AI fragt zuerst: Wo greift der Programmcode auf Daten zu – und mit welchen Achsen? Jeder Fund wird nach seiner stärksten Beweisart eingestuft. Die App zeigt die Art des Belegs, keine Prozentzahl:

Belegstufe Beweisart Was gefunden wird
🟢 Code-Beleg Code-Verweis mit oder ohne Achsen Der Programmcode adressiert die Tabelle (TriCore-Aufrufe: experimentell)
🟡 Strukturbeleg Kopf-Datensatz, Achse aus Datensatz, Achsen-Array nx, ny, X-Achse, Y-Achse, Werte bzw. Anzahl + steigende Stützstellen
🔴 Datenmuster-Vermutung nur Zeilenabstand bzw. Raster glatte Fläche ohne weiteren Beleg – in der Prüfliste als eigene, einklappbare Gruppe

Die Stufe ist keine Wahrscheinlichkeit und nicht unabhängig validiert. Bis 1.18.2 standen an jeder Beweisart gemessene Trefferquoten; sie stammen von wenigen Familien und zum Teil aus Dateien ohne geklärte Herkunft und werden seit 1.19.0 nicht mehr angezeigt (Historie und Herkunft: docs/MODELLKARTE.md).

flowchart LR
    BIN[BIN-Datei] --> P{Profil<br/>bekannt?}
    P -- ja --> W[Kalibrierfenster]
    P -- nein --> M[Code/Daten-<br/>Trennung]
    W --> E
    M --> E
    subgraph E[Beweise sammeln]
        C[Code-Verweise<br/>C16x · TriCore · 68k · SH-2 · HC11 · 8051]
        H[Datensätze mit<br/>Anzahl und Achsen]
        A[Achsen-Arrays]
        D[Datenmuster]
    end
    E --> R[Lesarten<br/>abwägen]
    R --> K[Belegstufe:<br/>Code · Struktur · Datenmuster]
    K --> UI[Katalog · Graph<br/>Signal-Tracing]
Loading

Note

Alle Funde sind Geometrie-Hypothesen: Start, Größe, Datentyp und Achsen. Name, Einheit und Funktion kommen nur aus einer passenden Definition oder deiner eigenen Prüfung – nie aus einer Vermutung.

🧪 Neu in der Forschung: Kennfelder aus TriCore-Interpolationsaufrufen (Siemens MSD80)

Siemens-MSD80-Vollflashs sind Infineon-TriCore-Code. Die Interpolationsroutinen bekommen Tabellendaten und die Köpfe beider Achsen direkt in Registern übergeben (a4 / a5 / a6), teils über Stackslots oder eine getrennte Achsensuche. ECU Studio AI liest diese Aufrufe aus und leitet Zellbreite und Vorzeichen aus den Ladebefehlen der Routine ab.

Auf einem MSD80-Vollflash mit Community-XDF (Entwicklungsdaten, Teilreferenz): 39 → 73 von 99 Kennfeldern exakt, Datentyp bei 62 davon richtig, gemeinsame Achsen 37/37, keine neuen Widersprüche zur Referenz. Ausführlich: docs/ANALYSE_2026-10-30.md.


📊 Erkennungsgüte

Blind gemessen: Die Herstellerdefinition dient nur als Referenz, nie als Eingabe. Präzision steht nur dort, wo die Referenz vollständig ist. Test = Daten, die nie zum Einstellen der Erkennung verwendet wurden.

Steuergerät Referenz Exakt erkannte Kennfelder Präzision
Bosch EDC17CP09 Hersteller-A2L █████████████████░░░░░░░░░ 463 / 703 85 %
Siemens MSD85 · Test Hersteller-A2L ███████░░░░░░░░░░░░░░░░░░░ 279 / 1026 81 %
Siemens MSD80 · Test (6 Stände) Hersteller-A2L ███████░░░░░░░░░░░░░░░░░░░ 217–224 / 864 81–82 %
Bosch EDC16C35 Hersteller-A2L ███████████████████░░░░░░░ 283 / 387 81 %
Bosch EDC16C31 Hersteller-A2L ███████████████████░░░░░░░ 272 / 364 82 %
Siemens MS43 Community-XDF ██████████████░░░░░░░░░░░░ 197 / 379 79 %
BMW ME9.2.1 Hersteller-A2L ██████████░░░░░░░░░░░░░░░░ 170 / 460 72 %
Siemens MSD80 Vollflash · Entwicklung Community-XDF (Teil) ███████████████████░░░░░░░ 73 / 99 –
Denso SH-2 (Subaru) RomRaider (Auswahl) 147–178 –

Balken = Anteil exakt gefundener Kennfelder. Die MSD80/85-Teststände sind reine Kalibrierbereiche ohne Programmcode; die TriCore-Codeanalyse wirkt nur auf Vollflashs.

Keine Fehlalarme auf Nicht-Kennfelddaten: 9 Zufallsdateien bis 2 MB, komprimierte Daten, gelöschter Flash, Nullen → 0 Kandidaten. Auf reinem Programmcode (Windows-DLLs) entstehen Funde, alle eingestuft als Vermutung.

📈 Wie sich die Erkennung von Version zu Version verbessert hat: docs/PROGRESS.md
🔁 Selbst nachmessen: python -m ecu_studio.tools.benchmark_suite · Workflow: docs/REFERENCE_VALIDATION.md


🚗 Steuergeräte

Familie Prozessor Code-Verweise Achsen Status
Bosch EDC17CP09 (BMW) TriCore – ✅ ✅ gemessen · Hersteller-A2L
Siemens MSD80 (BMW) TriCore ✅ Vollflash ✅ ✅ unabhängig gemessen · Hersteller-A2L
Siemens MSD85 (BMW) ungeprüft – ✅ ✅ unabhängig gemessen · Hersteller-A2L
Bosch EDC16C31 / C35 (BMW) PowerPC – ✅ ✅ gemessen · Hersteller-A2L
BMW ME9 / ME9.2.1 PowerPC – ✅ ✅ validiert · Hersteller-A2L
Siemens MS43 (BMW) C167 ✅ ✅ ✅ validiert · Standard-XDFs inklusive
Siemens MS41 / MS42 (BMW) C167 ✅ ✅ 🟡 gemessen, Erkennung gering (MS42: 22 von 213 exakt)
Siemens MS45 C167 – ✅ 🟡 gemessen, Erkennung gering (30 von 472 exakt)
Bosch ME7 / ME7.5 (Volvo, VAG) C167 ✅ ✅ ✅ gemessen
BMW MSS54 CPU32 – ✅ ✅ gemessen · vollständige XDF
GM P01 68k ✅ – ✅ gemessen
Denso SH-2 (Subaru) SH-2 ✅ ✅ ✅ gemessen
Bosch M4.4 · Motronic · Renault Fenix 8051 · 68HC11 🟡 – ✅ gemessen
Bosch MED17.1.62 · MED9 TriCore · PowerPC – ✅ 🟡 nur Teil-Referenz
Continental SIM2K (Hyundai) TriCore – 🟡 🟡 gemessen, Erkennung unzureichend
Speeduino (Open Source) AVR / ARM – – 🟡 gemessen (14 Abstimmungen), ohne Definition schwach – .ini ist öffentlich
Delco Multec S („D98…“) HC12 – – ⚪ keine rechtlich nutzbaren Referenzdaten – Recherche
EDC17 (weitere) · MED17.5/17.7 · MG1 · MD1 · Simos · SID – – – ⚪ nicht validiert – keine rechtlich sicheren Referenzdaten öffentlich

✅ gemessen · 🟡 teilweise · ⚪ noch keine Referenzdaten. Code-Verweise = Kennfeldadressen aus dem Programmcode. Alle Softwarestände und Zahlen: docs/ECU_SUPPORT.md · in der App: Hilfe → Unterstützte Steuergeräte …

🤝 Du hast ein Original mit passender, rechtmäßig nutzbarer Definition? Genau solche Messungen bringen das Projekt weiter – siehe CONTRIBUTING.md. Bitte keine Original-Firmware hochladen.


✨ Alle Funktionen

🔍 Erkennen

  • Kennfelder ohne Definition über Programmcode-Verweise, Datensätze mit Achsen und Datenmuster
  • Achsen erkannt, zugeordnet und als gemeinsame Achsgruppen dargestellt
  • Belegstufe je Fund (Code, Struktur, Datenmuster)
  • Dubletten und Überwachungskopien markiert
  • Softwarestand-Vergleich mit Namensübertragung
  • Funktionsgraph und Signal-Tracing

🛡️ Prüfen

  • Flash-Preflight für jede geänderte Byteposition
  • Zwillingskennfelder auf gleiche Änderung geprüft
  • Checksummen mit geprüften Profilen, Korrektur mit Byte-Vorschau, Suche unbekannter Layouts
  • Software-Kennung (EPK) gegen die Definition
  • Drei getrennte Stufen: Prüfsummen · Preflight · Flashvalidierung

✏️ Bearbeiten

  • Definitionen: XDF, A2L/DAMOS, RomRaider, CSV, HEX/S19, Kennfeldpakete
  • Ansichten: Tabelle, Heatmap, 2D, 3D, Hex-Editor, Speicheratlas
  • ORI/MOD-Vergleich zellgenau
  • Definition bearbeiten mit Vorschau, XDF-Export mit Rückimport-Prüfung
  • Undo/Redo, Projektstände, Batch mit Vorschau

🚀 Installation

Drei Schritte – ohne Python, ohne Terminal.

1 Neueste Version herunterladen – …-windows-x64.zip (portabel: entpacken, fertig) oder …-setup.exe (Installer, ohne Administratorrechte)
2 ECU-Studio-AI.exe starten
3 Datei → BIN öffnen … – zum Ausprobieren liegt unter examples/demo eine synthetische Demo-Datei
⚠️ Windows meldet „Der Computer wurde durch Windows geschützt“?

ECU Studio AI ist noch nicht code-signiert, deshalb warnt Windows SmartScreen beim ersten Start.

  • Im Fenster „Weitere Informationen“ → „Trotzdem ausführen“, oder
  • vor dem Entpacken: Rechtsklick auf die ZIP → Eigenschaften → „Zulassen“ anhaken → OK.

Echtheit prüfen: Die SHA-256 der Datei (Get-FileHash <datei>) muss mit der .sha256-Datei des Releases übereinstimmen; die Build-Herkunft belegt gh attestation verify <datei> --repo PCTestAdmin/ECU-Studio-AI.

🔄 Wie funktionieren die automatischen Updates?
Schritt Was passiert
Prüfen Nur wenn du es willst: Einstellungen → Jetzt nach Updates suchen, oder automatisch beim Start und höchstens einmal täglich, sobald du Automatisch nach Updates suchen einschaltest (ab Werk aus). Abgefragt wird nur die GitHub-Releases-API, nur stabile Versionen; es wird nichts hochgeladen. Ohne Internet passiert still nichts.
Fragen Fenster mit Version und Änderungen: Jetzt aktualisieren · Später erinnern · Diese Version überspringen.
Laden Nur von den Releases dieses Repositorys; SHA-256 gegen die veröffentlichte Prüfsumme und GitHubs eigene Angabe.
Installieren Erst nach dem Schließen (ungespeicherte Arbeit wird abgefragt) durch einen separaten Updater: jede Datei geprüft, eigene Dateien übernommen, alte Version gesichert.
Absichern Selbsttest der neuen Version – bei einem Fehler automatisch zurück zur alten. Einstellungen → Vorherige Version wiederherstellen … holt sie jederzeit zurück.

Projekte (%USERPROFILE%\.ecu_studio_ai) und Einstellungen liegen außerhalb des Programmordners und bleiben unberührt. Protokoll: %LOCALAPPDATA%\ECUStudioAI\updates\update.log. Vor jeder Veröffentlichung wird genau dieser Weg automatisch auf Windows Server 2022 und 2025 durchgespielt.


🛡️ Sicherheit und Grenzen

Warning

ECU Studio AI gibt keine Flashfreigabe. Checksummen werden nur mit einem geprüften, an die Original-Firmware gebundenen Profil verifiziert – Signaturen und weitere Prüfungen des Steuergeräts bleiben ungeprüft. Geänderte Dateien vor dem Flashen mit einem geeigneten Werkzeug prüfen. Eingriffe können Typgenehmigung, Abgasverhalten und Versicherungsschutz betreffen.

✅ Was ECU Studio AI tut 🚫 Was es bewusst nicht tut
Original unverändert lassen – Änderungen als nachvollziehbare Ebene Automatisches „Stage 1“-Tuning
Funde mit Art des Belegs zeigen Abgas- oder Schutzfunktionen abschalten
Checksummen nur mit geprüftem Profil korrigieren Flashfreigaben erteilen
Firmware lokal halten – sie wird nie hochgeladen Kennfeldnamen erfinden
  • Keine Firmware im Repository – Tests verhindern Programmdateien, Archive und Firmware außerhalb von examples/.
  • Fremddaten: mitgelieferte MS4x-XDFs (MS4x Dev Team) und rusEFI-Presets unter GPL-3.0, Herkunft in den NOTICE.txt unter src/ecu_studio/recognition/data/.
  • Sicherheitslücken bitte vertraulich melden: SECURITY.md.

🧑‍💻 Entwicklung

start_windows.bat                         :: Umgebung anlegen und Oberfläche starten (Python 3.10–3.13)
python -m pytest -q                       :: alle Tests
build_exe_windows.bat                     :: Windows-Paket bauen (ZIP + Installer, mit Tests)
📚 Dokumentation Aufbau des Quellcodes, Werkzeuge, Benchmarks, Forschungsberichte
🚢 Release-Ablauf Version, CHANGELOG, Tag – Build, Update-Test und Veröffentlichung laufen automatisch
🧪 Beispiele Synthetische Demo-Dateien und Vorlagen
📝 CHANGELOG Alle Änderungen
🤝 Mitmachen Besonders willkommen: Messungen an weiteren Steuergeräten

🗺️ Roadmap

Roadmap: veröffentlicht, nächstes Update, in Arbeit, als Nächstes

→ Ganze Roadmap – jede neue Funktion mit kurzem Clip aus der App


ECU Studio AI · GPL-3.0 · Kalibrierwerkzeug ohne Herstellerbezug – kein Ersatz für eine fachliche Prüfung

About

Open-source ECU calibration workbench: finds maps without a definition (measured confidence), XDF/A2L/RomRaider, ORI/MOD compare, checksums, heatmap & 3D. Windows, German & English UI, GPL-3.0.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages