MembersPage/OddFireSixCyl (2012-08-28 22:51:40)

Odd fire 90,150,90,150,90,150 degree V6

Now even the factory 30,90,30,90, ... factory maserati trigger is supported even with the dual camsync pulse (1.1.90 firmware). See below.


Non-maserati triggers

Common denominator is 30 deg, which suggests 12 teeth on crank (also called 24+1 pattern with Tools/Play-trigger type c024)

Bench tested configs using per cylinder spark delay:


Maserati factory trigger setup primtrig pattern 30,90,30,90,30,90, 30,90,30,90,30,90 with double camsync pulse

[Maserati biturbo .wav] made by Phil.

For the curious:


Reftooth-based solution might be another option WARNING: not yet passed testing with missing tooth + uneven odd-fire reftooth table !

With the missing-tooth primary trigger even the multiple-tooth camsync is no problem for recent firmwares using proper "sectrig ignore" value as on MembersPage/DamirMuha/MagnetMmarelliCamSensor

As you see, that method is about


Page needs to be cleaned up


The solution to set 30 crankdegree teeth on the crank pulley was also recommended by Matthias on [Vems uk]

"The sensors are VR but it is not a big problem to make a Hall signal from them" [VR=>HALL] converter available (with divider option for multitooth ABS sensors).

I can filter out one of the crank trigger or even I can divide the triggers by two to make 2 x (1cam trig +3 crank trig) each for one even fire 3 cylinders, for respectively the left bank and the right bank of the engine . But in this last case I need 2 GenBoards !!!

This is what Maserati has done for the late biturbos: 2 triggers + one ecu (ignition+injection) for each bank

The 30,90,30,90,30,90, 30,90,30,90,30,90 arranged according to ign events, 10 crankdeg BTDC tooth marked bold:

10 crankdeg BTDC cannot be used as trigger tooth normally, eg when sparkadv is 20 crankdeg.

BTDC angle in (parentheses) :

TODO: insert campulses please

So for normal (non-cranking) sparkadv (say 18 deg, but for any >10 we seem to need


The good news is that if firmware userspace "triggertooth" calculation can be taught about the uneven tooth-times (modifying the userspace easier than the interrupt timing code state machine), that might provide an 1.1.x solution without the per-cylinder spark delay tweak.