# ECU Rev 3.0 — Turbo Busa — HasiKe

> Hayabusa ECU Rev 3.0 im Detail — Schaltplan erklärt, Architektur, Beispielrechnungen und das fertig geroutete PCB mit 3D-Renders. Teensy 4.1, MC33810, Plug-and-Play am Original-Kabelbaum.

Quelle: https://hasike.de/turbo-busa/ecu/

## Was macht die *ECU*?

Die ECU (Engine Control Unit) entscheidet bei jedem einzelnen Arbeitstakt,
 **wann gezündet und wie lange eingespritzt wird**. Dafür muss sie zuerst
 wissen, wo die Kurbelwelle gerade steht — das verraten ihr der Kurbelwellen- und der
 Nockenwellensensor.

Der Kurbelwellensensor ist ein VR-Sensor: Ein Geberrad rotiert an einer Spule
 vorbei und induziert pro Nocke eine Spannungswelle. Die Hayabusa trägt
 **acht gleichmäßig verteilte Nocken** auf der Kurbelwelle — alle 45°
 eine Flanke, aber keine Lücke, die eine Referenz markieren würde. Die liefert
 erst die **einzelne Nocke an der Nockenwelle**: Sie meldet sich einmal
 pro Arbeitsspiel und legt damit fest, welche Nocke gerade kommt und welche der
 beiden Kurbelumdrehungen läuft. Der `MAX9926` macht aus beiden
 Signalen saubere Digitalflanken, aus denen der Teensy Drehzahl und Winkel
 berechnet.

Dazu kommen MAP (Ladedruck), Drosselklappe, Temperaturen, Lambda, Flex-Fuel und
 Klopfsensor. Aus allem zusammen bestimmt die Firmware (Speeduino, angepasst)
 Zündwinkel und Einspritzmenge — beim Turbo-Betrieb inklusive
 **Ladedruckregelung, Launch Control und Anti-Lag**.

Pro Nocke eine Flanke, alle 45°. Weil das Kurbelrad keine Lücke hat,
 sieht jede Nocke gleich aus — erst die Nockenwelle, die einmal pro 720°
 meldet, macht daraus einen absoluten Kurbelwinkel.

## Die *Architektur*.

Ein Blick, das ganze System: vom Bordnetz über den
 *Teensy 4.1* bis zu Zündspulen und Injektoren.
 Jeden Block *antippen* für Details.

↑ Block antippen — hier erscheinen die Details.

## Der *Schaltplan*.

Der Schaltplan der Haupt-ECU besteht aus zehn Blättern. Hier ist jedes einzelne
 erklärt — erst die Kurzfassung, und wer tiefer einsteigen will, klappt die Details
 auf. Jedes Bild lässt sich in voller Auflösung öffnen. Die zweite Platine hat
 weiter unten einen [eigenen
 Abschnitt: das Sensor-Modul](#sensormodul).

### Root — der Teensy

![Schaltplan Root-Sheet: Teensy 4.1 und Sheet-Hierarchie](../../assets/ecu/sch-root.png)

[../../assets/ecu/sch-root.png](../../assets/ecu/sch-root.png)

Das Hauptblatt trägt den **Teensy 4.1** und verbindet alle
 Unter-Sheets über globale Labels (`MCU-Dxx`/`MCU-Axx`).
 Rev 3.0 räumt hier zwei dicke Fehler ab: USB lag am
 **Host-Port statt am Device-Port** — Tuning über den
 Fahrzeugstecker wäre unmöglich gewesen — und die Pufferbatterie wurde
 aus 3,3 V geladen, was mit einer CR2032 Berstgefahr bedeutet.

**Mehr Details**

- USB jetzt an den **Device-Pads 66/67**, Host-Pins mit No-Connect-Flags; ESD-Schutz (USBLC6) sitzt am Stecker. Die VUSB–VIN-Lötbrücke am Teensy muss aufgetrennt werden — steht als Notiz im Plan.
- Batterie als **ML2032** (wiederaufladbar) spezifiziert — der Ladepfad D1/R1 aus +3V3 ist nur damit zulässig.
- Die Teensy-3V3-Pins hängen auf einem eigenen Netz `T_3V3` (nur Abblock-C). So versorgt allein der LD1117 die Peripherie und es laufen nie zwei Regler gegeneinander.
- Tote Labels (`MC33814-CS`, `PROG`, `RESET`) ersetzt: D2 ist jetzt der OUTEN-Request, PROGRAM/ON\_OFF sind Testpunkte.
- Ein Textblock dokumentiert die komplette Pin-Map — jede GPIO-Belegung auf einen Blick.

### Power Regulator — Schutz & Rails

![Schaltplan Power-Regulator: Eingangsschutz, Buck, LDOs](../../assets/ecu/sch-power.png)

[../../assets/ecu/sch-power.png](../../assets/ecu/sch-power.png)

Komplett neu in Rev 3.0. Das rohe Bordnetz läuft durch eine Schutzkette:
 **3-A-Sicherung → Ideal-Diode (Verpolschutz, <20 mV Verlust) →
 Load-Dump-TVS (6600 W) → Pi-Filter**. Erst dahinter, auf dem Netz
 `12V-PROT`, hängt die restliche Elektronik. Ein Buck-Regler ersetzt
 den alten Linearregler — der verlor über 2 V und hätte beim Anlassen
 fast sicher einen Reset verursacht.

**Mehr Details**

- **+5 V:** TPS54360B-Q1 (60-V-fest, 600 kHz) nach TI-Designbeispiel; FB-Teiler 53,6 k/10,2 k → 5,00 V. UVLO bewusst auf 6,0 V ein / 5,2 V aus gerechnet, damit die ECU auch beim Kurbeln durchläuft.
- **VDDA:** TPS7B6950-Q1 versorgt nur Sensorik + Stecker-Pin J2.48 — kurzschlussfest und batteriespannungsfest. Ein Kabelbaumfehler killt damit nicht mehr die ECU.
- **+3V3:** LD1117S33 aus +5 V als alleinige Quelle für Flash, ADXL, MC33810-Logik & Co. — vorher lag der Regler auf einem toten Inselnetz und der Teensy-interne Regler trug die ganze Last.
- Der TVS-Rückweg geht auf `PGND` (Leistungsmasse) — Load-Dump-Ströme laufen nicht durch die Logikmasse.
- Jede Rail hat eine Status-LED; Strombilanz auf 12V-PROT: unter 2 A dauerhaft, Reserve über die 3-A-Sicherung.
- Verlustvergleich alt/neu: Linearregler 2–2,7 W → Buck unter 0,3 W. Rechnung unten im [Rechen-Abschnitt](#rechnungen).

### Drivers — Zündung & Einspritzung

![Schaltplan Drivers: MC33810, IGBTs, Watchdog](../../assets/ecu/sch-drivers.png)

[../../assets/ecu/sch-drivers.png](../../assets/ecu/sch-drivers.png)

Das Herz der Leistungsseite: Der **MC33810** (Automotive-IC) treibt
 vier Injektoren direkt und liefert vier Gate-Signale für die Zünd-IGBTs, die
 die Stick-Coils schalten. Rev 3.0 wirft die alten Zwischen-Gatetreiber raus —
 sie hingen mit 20-V-Maximalrating am ungeschützten 12-V-Netz und wären beim
 ersten Load Dump gestorben. Die IGBTs werden jetzt direkt angesteuert.

**Mehr Details**

- **Not-Aus-Pfad:** Vorher war `OUTEN̄` fest auf GND — Endstufen immer freigegeben, auch bei MCU-Absturz. Jetzt: Pull-up (Boot = AUS) + NAND aus Teensy-Freigabe und Watchdog-Signal. Füttert die Firmware den TPS3823 nicht, gehen alle 8 Endstufen hardwareseitig aus.
- Gate-Pfad je Zylinder: GD → 33 R → Gate, 10 k Gate–Emitter direkt am IGBT. Die IGBTs sind Logic-Level-Typen mit interner Klemme für den Zündspulen-Flyback (~400 V).
- **Diagnose nachgerüstet:** 20-mΩ-Kelvin-Shunt im gemeinsamen Emitterpfad (Zündstrommessung), Feedback-Teiler 36 k/4,02 k von jedem Kollektor — der MC33810 erkennt damit Funkendauer und offene Sekundärseite.
- Injektor-Zuordnung war kreuzverdreht (OUT0=INJ3 …) — jetzt sauber 1:1, Firmware-Hinweis steht im Sheet.
- Alle Leistungsrückströme laufen über `PGND`, nicht über die Logikmasse.

### Inputs — die Analog-Frontends

![Schaltplan Inputs: Sensorfrontends mit Teilern und Klemmen](../../assets/ecu/sch-inputs.png)

[../../assets/ecu/sch-inputs.png](../../assets/ecu/sch-inputs.png)

MAP, Baro, Drosselklappe, Lambda, Temperaturen, Flex-Fuel, Kupplung und
 Batteriespannung. Das Grundproblem der alten Version: 5-V-Signale lagen
 teils **ungeklemmt am nicht 5-V-toleranten Teensy-ADC**.
 Rev 3.0 löst das strukturell — jeder Kanal bekommt einen Präzisionsteiler
 **12 k/20 k (×0,625)** plus Klemmdiode an 3,3 V. Damit gibt es
 auf dem ganzen Blatt keine 5-V-Domäne mehr.

**Mehr Details**

- Kanalaufbau: 470 R → 100 nF (Filter) → 12 k/20 k → 10 nF + **BAV199** an +3V3/GND → ADC. Selbst ein Kurzschluss nach 12 V drückt nur ~0,5 mA in die Klemme.
- **Ratiometrie:** Die NTC-Pullups (IAT/CLT, 2,49 k) hängen an +3V3 — exakt der Rail, die auch die ADC-Referenz speist. Versorgungsschwankungen kürzen sich damit aus der Messung raus.
- Lambda (0–1 V, hochohmig) läuft über einen LMV324-Folger an 3,3 V statt über den alten 5-V-Puffer.
- Batteriespannung über 47 k/10 k (×0,1754): 14,3 V → 2,51 V am ADC — Rechnung unten.
- Unbenutzte Opamp-Hälften sind als Folger terminiert, eine 3,6-V-Zener fängt Klemmströme ab, damit sie die 3,3-V-Rail nicht hochpumpen.
- Die Firmware braucht neue Skalierungskonstanten (Teiler 0,625, NTC-Kurven für 3,3-V-Pullup) — dokumentiert im Sheet.

### Inputs 2 — Schalter & Sonderfälle

![Schaltplan Inputs 2: Ganganzeige, Tip-Over, Neutral](../../assets/ecu/sch-inputs2.png)

[../../assets/ecu/sch-inputs2.png](../../assets/ecu/sch-inputs2.png)

Ganganzeige, Umkippsensor, Neutral- und Reserve-Eingänge. Der
 **Tip-Over-Sensor** (Motor aus, wenn das Bike liegt) wurde vorher
 als nackter Digital-Pegelwandler missbraucht — er liefert aber eine analoge
 Kennlinie. Rev 3.0 wertet ihn richtig aus: Teiler plus
 **Komparator mit Hysterese**, Schwelle sauber mittig zwischen
 „steht“ und „liegt“.

**Mehr Details**

- Tip-Over: Teiler 12 k/12 k (×0,5), Schwelle 1,2 V aus 10 k/5,6 k, 1-MΩ-Hysterese. Normal ≈ 0,2–0,7 V, gekippt ≈ 1,85–2,2 V am Komparator — eindeutig trennbar.
- Die Schwelle liegt bewusst bei 1,2 V statt 1,5 V: Der LMV324-Gleichtaktbereich endet an 3,3 V bei ~2,5 V — mit dem 0,625-Teiler wäre der „gekippt“-Pegel außerhalb gewesen.
- Schaltereingänge (Neutral, Kupplung, Spare): 10 k in Serie + 10 k Pull-up an 3,3 V. Ein 12-V-Fehler treibt unter 1 mA in die Klemme; offen = 3,3 V, geschlossen = 0 V.
- Der Neutral-Eingang (J2.20) endete vorher als totes Label — jetzt ein echter geschützter Digitaleingang auf D4.
- Ein Spare-Analogkanal ist komplett aufgebaut, wartet aber auf einen freien ADC-Pin (Option Rev 3.1).

### Crank & Cam — die Taktgeber

![Schaltplan Crank and Cam: MAX9926 VR-Interface](../../assets/ecu/sch-crank-cam.png)

[../../assets/ecu/sch-crank-cam.png](../../assets/ecu/sch-crank-cam.png)

Kurbel- und Nockenwellensignal sind die kritischsten Signale der ganzen ECU —
 jitter hier heißt Zündwinkel-Jitter. Der **MAX9926** wandelt die
 differentiellen VR-Signale adaptiv in saubere Digitalflanken. Rev 3.0 entfernt
 die mechanischen Schiebeschalter aus diesem Pfad: Vibration + Korrosion in
 einem Signal, an dem jede Zündung hängt, war keine gute Idee.

**Mehr Details**

- Statt Schalter: **0-Ω-Bestückungsoptionen**. VR-Betrieb ist Default; für Hall-Geber werden zwei Widerstände umbestückt (plus optionaler Pull-up für Open-Collector-Typen).
- Vor jedem Teensy-Pin: 470 R in Serie + BAV199-Klemme — die MAX9926-Ausgänge sind 5-V-Push-Pull, der Teensy ist es nicht.
- Eingangsfilter auf **470 pF** verkleinert: Die alte 100-nF-Variante hätte bei 11.000/min ≈ 1,2° Kurbelwinkel Verzögerung gekostet.
- Der FET-Bypass (Jumper JP2/JP3) und die 1-k-Pullups der alten Version sind ersatzlos gestrichen — weniger Bauteile im kritischen Pfad.

### Outputs — Aktoren schalten

![Schaltplan Outputs: Smart-Switches, Low-Side-Treiber, Stepper](../../assets/ecu/sch-outputs.png)

[../../assets/ecu/sch-outputs.png](../../assets/ecu/sch-outputs.png)

Benzinpumpe, Lüfter, Boost-Ventil, O2-Heizung, Tacho, FI-Lampe,
 Starter-Relais und der Leerlaufsteller. Rev 3.0 belegt vier Steckerpins,
 die vorher **tot oder doppelt belegt** waren, endlich richtig —
 und die PWM-Lasten bekommen geschützte
 **Smart-Switches mit Status-Rückmeldung** statt ungeschützter
 Transistoren.

**Mehr Details**

- **BTF3050TE** (2×) für Boost-Ventil und O2-Heizung: strombegrenzt, übertemperaturfest, Status-Pin. Die Fehlerflags laufen als Wired-OR gebündelt auf einen Teensy-Pin (D9).
- **ZXMS6006**-Kanäle (6×) für Relais- und Kleinlasten, jeder mit 1 k Gate-R, 100 k Pulldown (Boot-sicher aus) und Schottky-Freilauf nach 12V-PROT.
- **Stepper:** Das gesteckte Pololu-Breakout (Trimmpoti + Steckkontakte + Vibration…) fliegt raus, ein DRV8434A sitzt direkt auf dem Board. Stromlimit per Festwiderstand, 1/8-Schritt, Enable boot-sicher aus.
- Tippfehler-Fund aus dem Review: `SPARE2_OUT` vs. `SPARE2-OUT` — ein Underscore, ein toter Ausgang. Jetzt konsistent benannt.
- Alle Sources/GND-Pins der Treiber liegen auf `PGND` — Lastströme bleiben aus der Logikmasse raus.

### Comms — CAN, USB & Logging

![Schaltplan Comms: CAN-Transceiver, Flash, Bluetooth](../../assets/ecu/sch-comms.png)

[../../assets/ecu/sch-comms.png](../../assets/ecu/sch-comms.png)

Die Außenanbindung: **CAN-Bus zum Sensor-Modul**, USB fürs Tuning,
 SPI-Flash fürs Datenlogging, Beschleunigungssensor und ein Bluetooth-Header.
 Rev 3.0 macht die CAN-Terminierung fest (Split-Terminierung statt Jumper) und
 verpasst jedem Chip-Select einen Pull-up, damit beim Booten kein Baustein
 versehentlich auf dem Bus quatscht.

**Mehr Details**

- **CAN:** MCP2562 mit VIO = 3,3 V (Teensy-Pegel), Split-Terminierung 2× 60,4 R + 4,7 nF gegen Gleichtaktstörungen, NUP2105L-ESD direkt am Stecker.
- **SPI-Aufteilung:** Der MC33810 hat SPI0 exklusiv — kein Logging-Transfer kann je ein Zünd-Kommando verzögern. Flash, ADXL343 und Klopf-IC teilen sich SPI1.
- W25Q32-Flash: /WP und /HOLD über getrennte 10-k-Pull-ups statt hart verdrahtet.
- Der HC-05-Header bleibt bestückbar — Live-Daten aufs Handy.
- Alle CS-Leitungen (Flash, ADXL, MC33810, Knock) mit 10-k-Pull-ups gegen Boot-Floating.

### Knock — Klopferkennung

![Schaltplan Knock: TPIC8101 Klopf-Interface](../../assets/ecu/sch-knock.png)

[../../assets/ecu/sch-knock.png](../../assets/ecu/sch-knock.png)

Beim Turbo-Betrieb überlebenswichtig: Klopfen (unkontrollierte Verbrennung)
 zerstört Motoren. Der **TPIC8101** filtert und integriert die
 Körperschallsignale zweier Klopfsensoren, die Firmware nimmt dann Zündwinkel
 raus. Der härteste Review-Fund: Die komplette Schaltung existierte
 **nur im Schaltplan — auf der Platine fehlte sie ganz**, weil die
 Footprints nie in den Bibliotheken existierten.

**Mehr Details**

- Rev 3.0 stellt alle Footprints auf Standard-KiCad-Bibliotheken um (SOIC-20W, TSSOP-14, Murata-Resonator) — damit ist der Block erstmals layoutbar und jetzt tatsächlich auf dem Board platziert.
- Der TPIC8101 ist ein 5-V-IC am 3,3-V-Teensy: Hinweg über 74AHCT125 (5-V-Puffer mit TTL-Schwellen), Rückweg über **74LVC1G125** — der alte 1k/2k-Teiler legte 5-V-Pegel und 3-k-Dauerlast auf die gemeinsame MISO-Leitung.
- Takt aus einem 4-MHz-Keramikresonator; das alte Symbol war ein 9-Pin-Konstrukt mit falschem Footprint — ersetzt durch ein sauberes 3-Pin-Symbol.
- BAV199-Klemmen an beiden Sensoreingängen; im Layout bekommt der Block eine eigene Analogmasse-Region, weit weg von den Zündtreibern.

### Conntectors — Stecker & Schutzzone

![Schaltplan Conntectors: J2-Stecker mit Schutzzone und Massekonzept](../../assets/ecu/sch-connectors.png)

[../../assets/ecu/sch-connectors.png](../../assets/ecu/sch-connectors.png)

Der 60-polige OEM-Stecker **J2** — seine Pinbelegung ist die
 unverhandelbare Randbedingung des Projekts, denn die ECU soll an den
 **originalen Kabelbaum** passen. Neu in Rev 3.0 ist die
 Schutzzone direkt hinter dem Stecker: Alles, was von außen kommt, wird
 geklemmt, gefiltert oder abgesichert, bevor es die Elektronik erreicht.

**Mehr Details**

- Sensorversorgung J2.48: **Polyfuse 150 mA + TVS + 10 µF** direkt am Pin — ein Kurzschluss im Kabelbaum trennt sich selbst.
- USB-Datenleitungen über USBLC6-ESD-Schutz, CAN über NUP2105L, 100 nF am 12-V-Eingangspin.
- **Massekonzept:** Drei getrennte Massen — `PGND` (Leistung), `GND` (Logik), `GNDA` (Analog) — treffen sich an genau einem Sternpunkt aus NetTies an der Stecker-Massefläche. Zündströme können so keine Sensormessung verfälschen.
- Vorher tote Pins sind angebunden: Neutral (20), Starter-Relais (28), FI-Lampe (42), O2-Heizung (46), Spare (47). Wirklich unbenutzte Pins tragen echte No-Connect-Flags statt schwebender Labels.
- Die Stepper-Pins waren doppelt mit anderen Ausgängen belegt — aufgelöst, jeder Pin hat jetzt genau eine Funktion.

## Beispiel*rechnungen*.

Hinter fast jedem Widerstandswert steckt eine kurze Rechnung. Hier sind die
 wichtigsten — zum Selbst-Ausprobieren. Schieb an den Reglern und schau, was passiert.

### Der 12k/20k-Teiler

Der Teensy-ADC verträgt maximal 3,3 V, die Sensoren liefern bis 5 V.
 Der Teiler skaliert mit Faktor 0,625 — und die BAV199-Klemme fängt
 Fehlerfälle bis 12 V ab.

### Buck-Regler auf 5,00 V trimmen

Der TPS54360B regelt seinen Feedback-Pin auf 0,8 V. Über den Teiler
 R1/R2 stellt man die Ausgangsspannung ein — bestückt sind
 53,6 k / 10,2 k.

### Bordspannung auf ADC-Maß

Die ECU misst die Batteriespannung selbst — wichtig für die
 Injektor-Totzeitkorrektur. Der 47k/10k-Teiler bringt auch Ladespannung
 sicher unter 3,3 V.

### Linearregler vs. Schaltregler

Der alte 78M05 verbrannte die Differenz von 12 V auf 5 V komplett als Wärme.
 Der Buck wandelt stattdessen — bei ~90 % Wirkungsgrad bleibt fast nichts übrig.

### Spulenstrom über den Shunt

Ein 20-mΩ-Shunt im gemeinsamen IGBT-Emitterpfad macht den Zündspulenstrom
 messbar. Der MC33810 vergleicht die Spannung intern mit einstellbaren
 Schwellen — so erkennt er, ob die Spule wirklich lädt.

### UVLO — wann der Buck anläuft

Beim Kurbeln bricht die Bordspannung ein. Der Enable-Teiler des Buck
 bestimmt, ab wann er startet und wann er aufgibt — gerechnet auf
 **Start 6,0 V / Stopp 5,2 V**, damit der Motorstart die ECU
 nicht resettet.

## Erst *Review*, dann Redesign.

Bevor Rev 3.0 entstand, habe ich den kompletten R2.1-Schaltplan systematisch
 prüfen lassen: **13 unabhängige Prüfläufe** (einer pro Sheet plus
 Systemebene), jede Verbindung gegen die Netzliste verifiziert, jeder Befund in
 einer zweiten, bewusst skeptischen Runde gegengeprüft und zuletzt gegen die
 Original-Datenblätter und die Speeduino-Firmware abgeglichen. Ergebnis:
 **314 Roh-Befunde, 18 davon widerlegt — 296 blieben bestehen.**
 Alle sechs kritischen sind in Rev 3.0 behoben.

**K15-V-Signale ungeklemmt am 3,3-V-ADC+**

Die MAP-/Baro-Pufferstufen liefen auf 5 V und gingen ohne jede Klemmung auf den
 Teensy-ADC — der ist **nicht 5-V-tolerant**. Die vorgesehenen
 Klemm-Netze existierten zwar im Plan, endeten aber als tote Einzelpunkte.
 **Fix:** komplette Neukonstruktion der Frontends — Teiler ×0,625 + BAV199,
 keine 5-V-Domäne mehr vor dem ADC (Sheet 04).

**K2Sensorversorgung schutzlos am Fahrzeugstecker+**

Die 5-V-Sensorversorgung lag ohne Kondensator, Sicherung oder Klemmung direkt an
 J2.48 — ein Kurzschluss im Kabelbaum hätte die Rail (und damit alle Messungen)
 gerissen. **Fix:** eigener kurzschlussfester LDO + Polyfuse + TVS + 10 µF
 direkt am Pin (Sheets 02 & 10).

**K3Ganganzeige treibt bis ~5 V auf den ADC-Pin+**

Gleiche Fehlerklasse wie K1, eigener Pfad: Der Gear-Position-Kanal konnte den
 ADC-Pin bis ~5 V hochziehen. **Fix:** Teiler + Klemme direkt am Pin,
 die alte Pufferstufe entfällt komplett (Sheet 05).

**K4Klopfschaltung existierte nur auf dem Papier+**

Die komplette Klopferkennung stand im Schaltplan — aber auf der Leiterplatte
 fehlte sie ersatzlos. Ausgerechnet die Schutzfunktion für den Turbo-Betrieb.
 **Fix:** Footprints repariert, Block in Rev 3.0 erstmals platziert und
 geroutet (Sheet 09).

**K5Footprints der Knock-Bauteile existierten nicht+**

Die Ursache hinter K4: Die Bauteil-Footprints waren in keiner Projektbibliothek
 vorhanden — das Layout-Tool konnte die Bauteile schlicht nicht platzieren.
 **Fix:** Umstellung auf Standard-KiCad-Bibliotheken (SOIC-20W, TSSOP-14,
 Murata-Landpattern).

**K6Brownout beim Anlassen — Reset fast sicher+**

Schottky-Diode + Linearregler verloren zusammen über 2,4 V. Beim Kurbeln bricht
 die Batterie auf ~8–10 V ein — die 5-V-Rail wäre kollabiert und der Teensy hätte
 mitten im Motorstart resettet. **Fix:** Ideal-Diode (<20 mV) + Buck-Regler
 mit UVLO bei 5,2 V — die ECU läuft bis unter 6 V Bordspannung stabil durch
 (Sheet 02, Rechnung 06).

## Das *Layout*.

![ECU Rev 3.0 Oberseite: Teensy 4.1, MC33810, IGBT-Treiberstufen und Buck-Regler](../../assets/ecu/render-ecu-top.jpg)

![ECU Rev 3.0 Unterseite mit durchgehender Massefläche](../../assets/ecu/render-ecu-bottom.jpg)

![ECU Rev 3.0 schräg von vorn rechts](../../assets/ecu/render-ecu-iso-front.jpg)

![ECU Rev 3.0 schräg von hinten links, Blick auf den 60-poligen OEM-Stecker](../../assets/ecu/render-ecu-iso-back.jpg)

![ECU Rev 3.0 aus flachem Winkel — Bauhöhe von Elkos, Drosseln und Kühlkörpern](../../assets/ecu/render-ecu-low.jpg)

![Detail: Teensy 4.1 auf Buchsenleisten, daneben MC33810 und Klopf-Interface](../../assets/ecu/render-ecu-detail-teensy.jpg)

![Detail: Eingangsschutz, Ideal-Diode, Buck-Regler und Speicherdrosseln](../../assets/ecu/render-ecu-detail-power.jpg)

![Detail: 60-poliger OEM-Stecker mit Schutzzone und IGBT-Kühlkörpern](../../assets/ecu/render-ecu-detail-connector.jpg)

Die Randbedingungen standen fest: **Platinenkontur, Steckerposition und die
 großen Bauteile** (Teensy, MC33810, IGBTs) bleiben exakt, wo sie in der alten
 Revision waren — die Platine muss weiter ins vorhandene Gehäuse und an den
 Original-Kabelbaum passen. Innerhalb dieses Rahmens wurde das Layout für Rev 3.0
 neu aufgebaut: Bauteile in Funktionsregionen platziert (Treiber rechts, Versorgung
 links unten, Sensorik links oben, Schutzzone direkt am Stecker), Netzklassen mit
 breiteren Bahnen für Leistungsnetze, und durchgehende Masseflächen auf beiden Seiten
 mit getrennten Regionen für Leistungs- und Analogmasse.

Damit ist das Board durch: **Jedes Netz ist geroutet.** Der DRC meldet
 null Fehler, **null offene Verbindungen** und keine einzige Abweichung
 zwischen Layout und Schaltplan. Übrig bleiben Warnungen, und die sind kosmetisch —
 der große Rest davon sind Abweichungen zwischen platziertem und
 Bibliotheks-Footprint (Lötpasten- und Courtyard-Details), der kleine Rest
 Bestückungsdruck, der auf Kupfer oder auf einen Nachbarn läuft.

Fertigungsdaten sind exportiert: Gerber, Bohrdaten und Bestückungsdatei liegen als
 Paket bereit, dazu die **Stückliste mit 107 Positionen** inklusive
 Hersteller- und Distributor-Nummern. Als Nächstes gehen beide Boards zusammen in
 Fertigung und Aufbau.

Übrigens: Die Bilder hier sind keine Fotos. Sie kommen aus dem Raytracer von KiCad,
 gerechnet aus demselben Board-File, aus dem auch die Fertigungsdaten fallen — jedes
 Bauteil steht also genau da, wo es später wirklich sitzt.

## Das *Sensor-Modul*.

Nicht alles muss in die ECU: Abgastemperaturen misst man am besten direkt am
 Krümmer, und der Intercooler-Lüfter braucht dicke Leitungen, die im ECU-Gehäuse
 nichts verloren haben. Deshalb übernimmt eine zweite, kleinere Platine mit
 eigenem **STM32G474** die Messwerterfassung vor Ort — zur ECU geht
 nur noch das **CAN-Kabel**. Auch hier gilt: Steckerbelegung
 (J5/J6/J7) bleibt fix, und das Modul bekam in Rev 3.0 dieselbe Schutz-Kur wie
 die Haupt-ECU.

### Root — STM32 & Versorgung

![Sensor-Modul Root-Sheet: STM32G474, Versorgung, CAN](../../assets/ecu/sm-sch-root.png)

[../../assets/ecu/sm-sch-root.png](../../assets/ecu/sm-sch-root.png)

Das Hauptblatt: der STM32G474 mit Takt, SWD-Programmierheader und der
 Versorgung — dieselbe Philosophie wie bei der Haupt-ECU, eine Nummer
 kleiner. Der alte Linearregler (2 W Abwärme) wich einem
 **Buck-Regler mit kompletter Schutzkette** davor.

**Mehr Details**

- Eingangskette: Polyfuse 0,5 A → SS310-Schottky → **SMCJ18A-TVS** → Pi-Filter (10 µH) → **TPS560430** Buck auf 5 V → LD1117 auf 3,3 V. Verlust: von ~2 W auf ~0,3 W.
- **5-V-Rücklesung auf PA0** (Teiler 10 k/15 k): Der STM32 kennt seine eigene Referenz und kann ratiometrisch korrigieren.
- Analogversorgung VDDA über Ferrit entkoppelt — saubere Referenz für die Druck- und Temperaturmessung.
- **CAN:** MCP2562**FD** (CAN-FD-fähig), feste Split-Terminierung 2× 60,4 R + 4,7 nF, NUP2105L-ESD am Stecker — spiegelbildlich zur ECU-Seite, beide Busenden sauber terminiert.
- Aufräumarbeiten aus dem Review: verwaiste Netzlabels entfernt, 5V-DIV-Knoten hart verdrahtet, doppelte Power-Referenzen neu nummeriert.

### Exhaust Temp — 4× Abgastemperatur

![Sensor-Modul Exhaust-Temp-Sheet: 4× MAX31855 Thermoelement-Interfaces](../../assets/ecu/sm-sch-exhaust.png)

[../../assets/ecu/sm-sch-exhaust.png](../../assets/ecu/sm-sch-exhaust.png)

Ein Thermoelement pro Zylinder, direkt im Abgaskrümmer. Vier
 **MAX31855**-Wandler digitalisieren die Typ-K-Signale
 inklusive Kaltstellenkompensation — beim Turbo-Tuning die wichtigste
 Anzeige dafür, ob ein Zylinder zu mager läuft.

**Mehr Details**

- **Nur isolierte (ungeerdete) Typ-K-Fühler!** Ein geerdeter Fühler am Krümmer erzeugt eine Masseschleife über das CAN-Kabel und zerstört die Messung — der Review-Fund hinter dieser fetten Warnung im Schaltplan.
- Pro Kanal: 10-nF-Filter direkt an T+/T−, 100 nF direkt an jedem MAX31855-VCC (Layout-Vorgabe), 100-Ω-Eingangswiderstand.
- T− liegt über 0 R an GND, ein 10-k-Bias-Widerstand ist als DNP-Option vorgesehen (Fühlerbruch-Test).
- Kanalzuordnung dokumentiert: IC10 = Zylinder 1, IC12 = 2, IC11 = 3, IC13 = 4 — Hardware und Firmware bleiben deckungsgleich.
- Option für später: MAX31856 als Pin-Upgrade, dessen Digitalfilter 50/60-Hz-Brummen unterdrückt.

### Sensors — Quickshifter & Abgasdruck

![Sensor-Modul Sensors-Sheet: Quickshifter und Analogkanäle](../../assets/ecu/sm-sch-sensors.png)

[../../assets/ecu/sm-sch-sensors.png](../../assets/ecu/sm-sch-sensors.png)

Die Analogkanäle des Moduls: der **Quickshifter-Kraftsensor**
 (Push- und Pull-Richtung getrennt — Hoch- und Runterschalten) und der
 Abgasdruck. Alle Eingänge laufen über SP720-Klemmdioden-Arrays,
 bevor sie den STM32 erreichen.

**Mehr Details**

- Quickshifter: 1-k-Serienwiderstände zwischen Steckerpins und den ADC-Pins PA1/PA2 — vorher waren die Pfade über Alias-Labels direkt gebrückt.
- Druckkanäle mit einheitlichen 100-nF-Filtern.
- Eine TVS-Diode als Senke an der 3,3-V-Rail verhindert, dass Klemmströme der SP720 die Versorgung hochpumpen (gleiche Maßnahme wie auf dem ECU-Inputs-Sheet).
- Unbenutzte SP720-Eingänge sauber auf NC gelegt statt offen gelassen.

### Actuators — der Lüfter

![Sensor-Modul Actuators-Sheet: Lüfter-Endstufe](../../assets/ecu/sm-sch-actuators.png)

[../../assets/ecu/sm-sch-actuators.png](../../assets/ecu/sm-sch-actuators.png)

Der Intercooler-Lüfter des Luft-Wasser-Ladeluftkühlers hängt am
 Sensor-Modul. Rev 3.0 entschärft den Leistungspfad: Das
 **Lüfter-Plus kommt direkt aus dem Kabelbaum** mit eigener
 15-A-Sicherung — das Modul schaltet nur noch die Low-Side und führt
 den Strom nicht mehr durch die eigene Logik.

**Mehr Details**

- Endstufe: kräftiger **D²PAK-MOSFET** (60 V, verlötet statt THT — vibrationsfest) mit SS5P10-Freilaufdiode und SMBJ33A-TVS am Drain gegen Abschaltspitzen.
- Der Lüfterstrom läuft als **Durchschleifung J7.1 → J5.13** übers Board — die Steckerbelegung bleibt unangetastet, die Modulversorgung zweigt hinter der eigenen 0,5-A-Sicherung ab.
- Layout-Vorgabe im Sheet: eigener Power-Pour für den Fan-Strom, strikt getrennt von der Logikmasse.

### Connector — Stecker & 5-V-Abgänge

![Sensor-Modul Connector-Sheet: J5, J6, J7 mit Schutzbeschaltung](../../assets/ecu/sm-sch-connector.png)

[../../assets/ecu/sm-sch-connector.png](../../assets/ecu/sm-sch-connector.png)

Die drei Stecker des Moduls — wie bei der ECU mit unveränderter
 Belegung. Neu ist die Absicherung nach außen: Jeder
 **externe 5-V-Abgang** (Versorgung für die angeschlossenen
 Sensoren) ist einzeln geschützt.

**Mehr Details**

- Pro 5-V-Abgang: **Polyfuse 50 mA + SMAJ5.0A-TVS + 100 nF** — ein Kurzschluss in einem Sensorkabel legt nicht mehr das ganze Modul lahm.
- Massekonzept dokumentiert: Leistungsmasse (Lüfter, J5.12) und Signalmasse getrennt geführt.
- Warnhinweis im Plan: nur isolierte Thermoelemente anschließen (siehe SM-02).

![Sensor-Modul Rev 3.0 Oberseite mit STM32G474 und 4× MAX31855](../../assets/ecu/render-sm-top.jpg)

![Sensor-Modul Rev 3.0 Unterseite mit Massefläche](../../assets/ecu/render-sm-bottom.jpg)

![Sensor-Modul Rev 3.0 schräg von vorn, Blick auf die drei Steckplätze](../../assets/ecu/render-sm-iso.jpg)

![Sensor-Modul Rev 3.0 schräg von hinten](../../assets/ecu/render-sm-iso-back.jpg)

![Detail: STM32G474 im LQFP-Gehäuse mit Beschaltung und Lüfter-Endstufe](../../assets/ecu/render-sm-detail-mcu.jpg)

Auch hier: Platinenkontur (120 × 64 mm) und Steckerpositionen fix, das alte
 Routing wurde beim Umbau so weit wie möglich erhalten — 65 neue Footprints
 kamen dazu. Inzwischen ist auch dieses Board fertig: **alle Netze
 geroutet**, keine offenen Verbindungen, keine Kurzschlüsse, keine
 Abstandsfehler und keine Abweichung zum Schaltplan. Fertigungsdaten und die
 Stückliste (46 Positionen) liegen bereit — beide Platinen gehen zusammen in
 Fertigung.

## FAQ.

### Was ist neu in Rev 3.0?

Praktisch alles außer dem Grundkonzept: neuer Eingangsschutz mit Ideal-Diode und Load-Dump-TVS, Buck- statt Linearregler, alle Sensorfrontends auf 3,3-V-sichere Teiler mit Klemmen umgebaut, Hardware-Not-Aus über Watchdog, Klopferkennung erstmals auf der Platine, sauberes Drei-Massen-Konzept und ein komplett neues Layout. Basis dafür war ein systematisches Review mit 296 bestätigten Befunden.

### Warum ein Teensy 4.1?

600 MHz ARM Cortex-M7, massig Timer und ADC-Kanäle, und die Speeduino-Firmware unterstützt ihn — das Konzept stammt vom Speeduino Dropbear ab. Für Zündwinkelberechnung bei 11.000/min ist Rechenleistung durch nichts zu ersetzen.

### Warum der MC33810?

Ein Automotive-IC, der genau das Problem einer 4-Zylinder-ECU löst: vier Injektor-Endstufen und vier Zünd-Gatetreiber in einem Baustein, mit Diagnose über SPI. In Rev 3.0 hat er den SPI-Bus exklusiv, damit kein Logging-Transfer je ein Zündkommando verzögern kann.

### Warum ein separates Sensor-Modul?

Kürzere Sensorleitungen und weniger Störungen: Die vier Abgastemperatur-Thermoelemente, der Abgasdruck, der Quickshifter und der Intercooler-Lüfter werden nahe am Ort erfasst bzw. geschaltet — zur ECU führt nur ein CAN-Kabel. Der 15-A-Lüfterstrom bleibt damit komplett aus dem ECU-Gehäuse raus. Details im [Sensor-Modul-Abschnitt](#sensormodul).

### Passt die ECU wirklich an den originalen Kabelbaum?

Ja — das ist die harte Randbedingung des ganzen Projekts. Der 60-polige OEM-Stecker behält seine originale Pinbelegung, die ECU ist als Plug-and-Play-Ersatz konzipiert und funktioniert auch ohne Turbo.

### Ist die Rev 3.0 schon gefahren?

Noch nicht. Aber der Entwurf ist durch: Schaltplan, Layout und Stückliste sind fertig, **beide Platinen sind vollständig geroutet** und DRC-sauber, die Fertigungsdaten liegen bereit. Als Nächstes: bestellen, bestücken, testen. Frühere Revisionen wurden bereits aufgebaut — Fotos davon gibt's auf der [Turbo-Busa-Seite](../).

### Sind die Platinen-Bilder Fotos?

Nein — die Renders auf dieser Seite rechnet KiCad selbst aus dem fertigen Board-File, mit den 3D-Modellen der echten Bauteile. Sie zeigen also exakt den Stand, aus dem auch die Fertigungsdaten erzeugt werden. Die Schaltplan-Bilder sind ebenfalls direkt aus dem Projekt exportiert, nicht nachgezeichnet.

## Tief genug *eingestiegen*?

Das war die ECU von innen. Zurück zum Gesamtprojekt —
 oder direkt in den Code.
