FADEC v0.18 · GM P59 · OS 12587603
Full-authority digital engine control

Full authority.
No ceiling.

FADEC is an operating system for the GM P59 that runs a supercharged LS like boost was the plan from day one. 3-bar from the first byte. No 105 kPa clamp, no 512 g/s wall, no flat spark row past 1.20 g/cyl. Protection that cuts before parts break. Launch, flat-foot, and a rev-matched blip on every downshift.

LS6 + LSA 2.45" pulley E0–E85 flex T56 manual Dual wideband
Annunciator · 12 systems
Fuel press
cut
Oil press
cut
Lean
cut
Over
boost
Launch
Flat
foot
Spark
limit
Auto
blip
Flex
E85
WB
trim
VE
learn
Boost
ctrl
Warning · a cut is active Caution · limiter working Advisory · system running
320kPa
MAP ceiling
stock clamp 105 kPa
2,047g/s
MAF ceiling
stock 511.99 g/s
2.60g/cyl
Spark table reach
stock flat past 1.20
62×20
VE table to 320 kPa
stock 19 rows to 105
18
Hooks in GM's own code
originals verified first
439
Checks every build
13 suites · 0 fails
Warning systems

It cuts before it breaks.

Every protection ends the same way the factory rev limiter does: the injectors go quiet for that pass. No new failure mode, just a much longer list of reasons to pull fuel.

Fuel pressure vs boost

Holding
Rail pressure against boost, with the target line and the cut line target: 58 + boost cut line: 52 + boost BOOST (PSI) RAIL (PSI)
Rail − boost57.0
Allowed floor52.0
Droop1.0

Drag boost up and leave the rail behind. A boost-referenced regulator should add one psi of rail for every psi of boost. FP03 base 58.0 psi, FP04 allowed droop 6.0 psi, five bad samples in a row (FP05) and fuel is cut.

Oil pressure vs RPM

A 17-point minimum curve from idle to 8,000 rpm. Fall under it and the engine stops making power before the bearings find out.

OP01–OP07 · stock sender, C2-58 · arms after start

Lean cut, per bank

Two widebands, two banks, one rule: under boost and leaner than your limit means boost duty goes to zero, then fuel if you ask for it.

SAFE01–SAFE06 · a dead gauge can never trip it

Overboost

Past your MAP ceiling, boost duty drops to zero. Stay there and FADEC adds retard, then cuts. It releases with hysteresis, not a stutter.

SAFE07–SAFE12 · duty, retard, cut

Flight recorder

Eighteen snapshots of MAP, RPM, both lambdas, rail and oil pressure, boost duty and cut flags. Any cut freezes the tape, and it survives key-off.

REC01–REC03 · keep-alive RAM, checksummed
Advisory systems

Every table goes all the way up.

The factory OS was written for a naturally aspirated engine. FADEC rebuilds the tables a blower needs and keeps GM's arithmetic exactly where it already works.

3-bar speed density

A VE table that keeps going to 320 kPa, read by the same interpolator GM wrote. Tune boost rows in TunerPro like any other cell.

VE01 · 62 × 20 · 15–320 kPa · shown in % VE

Spark past 1.20 g/cyl

Main, octane, ECT and IAT spark extended to 2.60 g/cyl of cylinder air. Boost timing lives in real cells, not one flattened row.

SP01–SP04 · 64 rows · 0.04 g/cyl steps

Gen4-style MAF

An LS3/LS7 card in a 4" tube, read to 15,000 Hz and 2,047 g/s, blended with speed density at the RPM you choose.

MAF01 · 109 cells · 1,500–15,000 Hz

Flex fuel, one axis

Boost fueling for E0 and E85, blended on the live ethanol sensor. Spark advance scales with the blend too.

AF01 / AF02 · 12 × 10 · FX01–FX03 flex spark

Wideband closed loop

Both sensors wired straight to the PCM. Real-time trim pulls each bank to commanded lambda, gated off whenever the reading can't be trusted.

WB01–WB05 · C1-55 + C2-64 · 10-bit

Boost control

Duty against RPM through GM's own PWM driver, a throttle gate, and a multiplier for E85. Any cut drops the duty to zero on the same pass.

BC01–BC07 · 30 Hz default · 0 % on any cut
Caution systems

Launch hard. Shift flat. Blip every downshift.

Built for a manual car. The clutch switch on C1-35 is read straight from the PCM's input latch, so every one of these knows exactly when your foot goes down.

Launch control

Stopped, clutch in, foot flat: soft retard builds with time and boost, then a hard cut holds the RPM you set. Let the clutch out and it's gone.

LC01–LC14 · retard vs time and MAP · cut with hysteresis

Flat-foot shift

Keep the throttle pinned through the shift. FADEC cuts while the clutch is in and hands the power back the moment it comes out.

FFS01–FFS07 · retard, then cut · capped hold time

Soft rev limiter

Timing comes out before fuel does, so the limiter is a wall you can lean on instead of a bounce.

SL01–SL05 · SP01 total-retard clamp

Auto-blip, built in

Clutch in, brake on, off the throttle: FADEC waits your delay, opens the throttle, and closes it the instant RPM reaches the gear below. Same dials as a stand-alone box, plus rev-matching it can't do.

AB01–AB12 · delay · duration · throttle · rev-match

Rev-match, gear by gear

T56 M12 ratios 2.97 · 2.07 · 1.43 · 1.00 · 0.84 · 0.56. The target is the RPM you had at clutch-in times the step to the next gear down.

DownshiftRatio stepBlip targetAgainst the 5,500 rpm cap
Delay after clutch-in0.24 sAB12
Max duration0.20 sAB06
Blip throttle25 %AB05
VE learn

It tunes while you drive.

Every steady cell you drive through, FADEC compares the wideband to what it commanded and learns the difference. Shut the engine off and it writes what it learned to flash.

Self-learning VE

Learns only when the engine is warm, steady and fueling on speed density, and only from a wideband reading it trusts. Applies a cell once it has enough samples.

LN01–LN19 · 16 hot cells live in keep-alive RAM

Flash journal

An append-only journal in its own sector. Body first, header last, verified before it counts. Read it back and fold it into VE01 with one command.

JN01–JN05 · 51 slots × 1,240 cells · fadec_fold.py

One bin, every P59

The flash chip is identified at every start. AMD or Intel, FADEC picks the right program and erase routine itself. Nobody has to know what's under the lid.

AM29F800BB · AM29BL802C · 28F800B
Throttle link

It speaks the throttle's language.

The C5 pedal talks to the TAC module, and the TAC module talks to the PCM over its own serial link. FADEC sends its blip inside that frame, as the same throttle request the module already acts on for idle and cruise.

Native request

No splice into the pedal, no box in the loom. The blip leaves the PCM on the line GM already uses.

TPU ch 14 out · ch 15 back · C1-14 / C1-15

Idle and cruise untouched

FADEC only ever raises the request to the blip floor. A bigger cruise demand always wins, and idle passes through exactly as GM wrote it.

request = max(stock, blip floor)

Logged both ways

What the PCM asked for, what the TAC reported back, and any fault it raised, all in the bench log next to RPM.

RamFadecTacReq · RamStockTacTps · RxFaults
Master arm

Everything ships disarmed.
You arm what you want.

Every feature lives in the XDF as a switch and a set of tables. Built from GM's factory 12587603 and your own calibration. Every patch site is checked against GM's original bytes before it is written, and nothing changes anywhere else.

Z06_FADEC_v0.18.bin · Z06_FADEC_v0.18.xdf · sha256 aa7a3180…fece61f