Reverse Engineering Saab Trionic 8 Combustion Detection Module (CDM) output signals using rusEFI ECU

by Andrey Belomutskiy, 2018

This data would not be gathered without help from kb1gtt, stefanst, andreika, nighthunter, hankthefourth and many others.

In this report we show how detonation on 2003 Mazda Miata MX-5 could be detected by means of ion sensing using Saab 55352173 Combustion Detection Module (CDM) and H6T60271 Individual Ignition Coils


knock and combustion detection outputs of 55352173 are digital. Knock is reported with a series of 50us pulses, more pulses meaning more detonation. Combustion signal seems to be just a comparator giving logical true if ion sensing wire voltage is below certain level. First wide pulse on the combustion output seems to be flame front phase while second wide output seems to be showing post-flame pressure, with the middle of this pulse correlating with moment of peak cylinder pressure.

Knocking - note a lot of blue line pulses (1ms time base) knock

Knocking (50us time base) knock

Not knocking or knocking way less - note lack of blue line low level pulses (5ms time base) no knock

Combustion signal seem to be just a comparator combustion

All the videos mentioned here


While Saab Trionic systems were using ion sense forever, only the latest eighth generation uses individual ignition coils and external CDM. Prior to T8, a highly integrated ignition cassette was used which would make repurposing it for DIY applications harder. Trionic 8 system does not have camshaft position sensor or knock sensor with combustion detection module running on ion sensing signal from ignition coil producing both phase and detonation detection.

More recently, Mazda and BMW seem to be using ion sensing approach again.


Here are all the Saab components we will be using (only two coils pictured while four coils would be used)


Ferrari 124792 spark plug extension is used to connect original Mazda Miata spark plugs with bullet terminals removed with Saab COPs

hardware details youtube: Hardware Details


hardware overview youtube: Hardware Overview

Knock detection wire has 0.8KOhm pull-up to 5v, combustion detection signal has 5KOhm pull-up to 5v.

Detonation test scenario

2003 Mazda Miata 1.8 VVT Automatic running on rusEFI open source ECU.

Engine coolant temperature 100C, ambient temperature 4C, violent 40 degrees advance from 1500 RPM to 3500 RPM timing table.

Detonation is audible in 2000-4000 range with 50% throttle pulls from parked.

Detonation is also audible while parked, revving with brakes applied in "D" gear selector.


youtube: It's knocking!

Detonation signals

youtube: Four signals we see on the oscilloscope

youtube: No detonation while driving - baseline

youtube: Knocking while driving

youtube: Knocking while driving zoomed in

youtube: Knocking while standing on brakes 40 degrees timing

youtube: No knocking while standing on brakes 25 degrees timing

And that's it! We have seen enough to get some code for the rusEFI firmware to start consuming this knock signal data!

Next Steps

1) Produce same outputs without CDM module

2) Try Mazda H6T61171 ignition coils - these are a bit longer and narrower, seem to fit my Miata engine.

3) analyze raw waveforms and detect knock based on just ion sense signal without CDM


Inside of 55352173 Saab Ionization Detection Module


rusEFI Patreon


rusEFI forum

rusEFI store

Trionic 8

Saab 9-3 wikipedia

Spark Advance Modeling and Control