Skip to content

Cerbera ignition ECU — schematic reference

This page documents a replacement ignition ECU designed for the TVR Cerbera. It plugs into the car’s original 9-way harness connector (J2) and replicates — and arguably improves on — the factory ignition controller. The notes here are drawn from a KiCad schematic of the board and are intended as a reference for anyone repairing, reverse-engineering or replacing this module.

The board has three jobs: sequence the starter motor, switch the ignition output, and accept the stop/kill signal from the car. A PIC microcontroller handles the logic, three Finder DPDT relays do the switching, and a small linear regulator generates the 5 V logic rail from the car’s 12 V supply.

RefPartFunction
U1PIC16C54 / PIC16F54 (18-pin)8-bit microcontroller — logic, timing, output control
U2LM78L05 (TO-92)5 V / 100 mA linear regulator for the PIC
K1, K2Finder 40.52 DPDT, 10 AIgnition output switching
K3Finder 40.52 DPDT, 10 AStarter motor switching
Q1, Q3MPSA13 NPN DarlingtonHigh-gain relay coil drivers (K1, K3)
Q2, Q5NPN BJTAdditional output / relay drivers
Q4PNP BJTInput signal level shifting
D1, D2, D41N4001Flyback diodes across relay coils
D31N4001Reverse-polarity protection on 12 V input
VDRVaristorTransient/load-dump clamp on the switched output

The MPSA13 Darlingtons are chosen for their very high current gain — a few milliamps from a PIC pin is enough to fully saturate the transistor and pull in a relay coil drawing 60–100 mA.

RefValueRole
C1 (bulk)100 µF 16 V electrolyticBulk decoupling on the 12 V relay rail
C21 µF 6.3 VOutput filter for the LM78L05
C3CeramicPIC supply bypass / oscillator
R10, R22100 ΩBase current-limit resistors for relay drivers
R14, R1910 kΩR19 is the MCLR pull-up to 5 V; R14 is base biasing
R1, R3, R4, R6, R15, R20, R21, R24, R25100 kΩInput voltage-divider / pull resistors
R2713 kΩTiming or divider element (only non-standard value on the board)

One instance of R20 is marked DNP (do not populate) — a reserved footprint for an optional component.

J2 is the direct interface to the Cerbera’s factory ignition-ECU connector. The custom symbol used in the schematic has two rows (A and B):

PinDirectionSignalNotes
A1Power in12 V supplyIgnition-switched feed
A2Power in12 V battery / ignition feed
A4OutputA4_SIGSignal returned to harness
A5InputLogic signalFrom harness
B1OutputSwitched 12 VTo car load
B2InputLogic signalFrom harness
B3InputLogic signalFrom harness
B4InputB4_SIGMonitored by PIC
B5OutputStarter command region (START_OUT)

These named nets carry signals between the schematic’s functional blocks:

NetDirectionDescription
BATTERY_INInputRaw 12 V from battery, via J2
BATTERY_STARTInput12 V present during cranking
IGN_OUTOutput (also monitored)Drives ignition coil / amplifier
IGN_EARTHInputEarth return path for ignition system
START_SIGInputStart button signal
START_OUTOutputStarter solenoid drive
STOP_SIGInputKill / stop signal
A4_SIG, B4_SIGInputHarness signals monitored by PIC

The IGN_EARTH net is worth highlighting: having a dedicated earth-return sense lets the ECU verify the ignition earth path is intact before energising the coils.

The board has two rails. Raw 12 V from the harness passes through D3 (reverse-polarity protection) and is then split: one branch feeds the relay coils directly, the other feeds U2, which regulates down to 5 V for the PIC and surrounding logic. C1 (100 µF) provides bulk decoupling on the 12 V side; C2 filters the regulator output; C3 sits across the PIC supply.

The LM78L05’s 100 mA output is comfortably more than the PIC’s few-milliamp draw.

U1 is an 18-pin PIC16C54/PIC16F54 with 12 usable I/O pins (4 on port A, 8 on port B) — enough for the handful of harness inputs and three or so relay outputs this board needs.

PinNameConnection
14VDD+5 V
5VSSGND
4MCLR / VppR19 (10 kΩ) pull-up to +5 V; also ICSP Vpp
16OSC1 / CLKIOscillator (RC or crystal)
15OSC2 / CLKOOscillator
3T0CKIExternal Timer 0 clock (likely RPM/timing input)
17, 18, 1, 2RA0–RA3General I/O
6–11RB0–RB5General I/O
12RB6 / ICSPCLKI/O and ICSP clock
13RB7 / ICSPDATI/O and ICSP data

Programming uses the standard PIC ICSP interface (MCLR/Vpp, RB6 clock, RB7 data, plus VDD and GND), so the chip can be reflashed in-circuit with a PICkit-class programmer.

The Cerbera harness runs at 12 V logic; the PIC at 5 V. Inputs are scaled by 100 kΩ resistor networks before reaching the PIC. With equal 100 kΩ legs a 12 V signal sits around 6 V at the midpoint — still a clean logic high — but in some branches the lower-leg value is altered (R27’s 13 kΩ is the obvious candidate) to bring the level closer to 5 V. Clamp diodes or zeners may also be implied at the PIC inputs.

Signals conditioned this way include START_SIG, STOP_SIG, A4_SIG, B4_SIG and IGN_EARTH.

Each relay coil is driven by the same arrangement:

  • PIC output pin feeds a 100 Ω base resistor (R10 or R22).
  • The resistor drives the base of an NPN (MPSA13 Darlington for K1 and K3).
  • The transistor’s collector pulls the relay coil’s low side to ground; the high side sits on the protected 12 V rail.
  • A 1N4001 flyback diode (D1, D2 or D4) sits reverse-parallel across each coil.

When the PIC drives its output high, the transistor saturates and the coil energises. When the output goes low, the collapsing coil field is clamped by the flyback diode to roughly 0.7 V above the 12 V rail, protecting the transistor from inductive kick.

The three Finder 40.52 DPDT relays (10 A contacts) handle the high-current side:

  • K3 switches the starter circuit — the BATTERY_START / START_OUT path that engages the starter solenoid.
  • K1 and K2 switch the ignition output (IGN_OUT) to the coil(s) or ignition amplifier.

A varistor across the switched output clamps the high-voltage spikes (200–400 V is typical) that ignition coil primaries generate when interrupted, protecting both the relay contacts and the ECU itself.

  1. Power-on — 12 V enters via D3, U2 produces +5 V, the PIC boots.
  2. Idle — PIC monitors STOP_SIG, A4_SIG, B4_SIG; all relays de-energised.
  3. Start requestSTART_SIG goes active; PIC energises K3 (starter) and K1/K2 (ignition).
  4. Running — PIC holds K1/K2 in; K3 drops out once cranking is no longer required.
  5. StopSTOP_SIG asserted; PIC drops K1/K2 to cut ignition.
  6. Fault / overspeed — PIC can drop K1/K2 at any time to kill the engine.

Button debounce is presumably done in firmware — there are no visible RC debounce networks.

This is a reverse-engineered overview of a community board, not an official TVR document. Some component values were not clearly readable from the source and a few footprints are marked DNP. Before building, repairing or modifying this ECU, verify every value and connection against the original schematic and confirm behaviour on the bench before connecting it to a running engine — getting the ignition control wrong can damage the coils, the engine or you.

Compiled from a community KiCad schematic analysis — always verify against the original schematic before relying on it.