Current configuration

Using factory 60-2 crankshaft mounted wheel and block mounted VR sensor. VW 2.0 liter (ABA code) block.

Pin 1 on sensor is VR+

Pin 2 on sensor is VR-

Pin 3 on sensor is shield

VemsTune config:

TDC after trigger: 54 degrees

Number of teeth on wheel: 58

First trigger tooth: 4

Next trigger tooth: 30

Angular width of tooth: 6

Minimum crank period: 768 us

Reference tooth config:

0: 0

1: 30

2: 0

3: 30

4...8 disabled

Distributor was removed. Hall sensor inside went with distributor. In the future I may reinstall a secondary trigger.

Old configuration

36-1 crank wheel and crank trigger setup on spare (and dirty) engine block:

crank_sens_mtd_small.jpg sens_block_small.jpg sens_gap_small.jpg crank_trigger_machined_small.jpg crank_trigger_mounted_small.jpg

[] [1]

[] [2] []

[3] []

[4] []


Here you can see the TDC mark in the pulley aligned with the missing tooth. You are looking at the back of the pulley, so from this angle it would rotate counter-clockwise.

The TDC is 15 degrees after the center of the missing tooth. we set up the sum of trigger_tooth + ign_tdcdelay for 195 degrees.

Offsetting 180 degrees is absolutely reasonable because max ignition advance is limited by ign_tdcdelay. 15 degrees of max ignition advance is not enough. Actually, ign_tdcdelay should be at least 30 crank degrees larger than ignition advance at cranking. Common ign_tdcdelay values are 55..65 degrees.

igntdc_delay=0x1e (30 decimal, that is 15 crank degrees) is very bad, see above. trigger_tooth=00 and igntdc_delay=0x1e, at n[]=0, the coil would fire at TDC, but you might not be happy with max advance of 15 degrees, and timing from previous tooth would be active even for very low RPMs (where RPM variations are significant => BAD for dwell precision at low RPM).

We are using 36-1, so tooth-tooth spacing is 10 degrees.

trigger_tooth=00 means the tooth after the missing tooth will act as the trigger. Please correct it wherever you see it wrong.

This results in realistic n[] values, if TDC is 130+65 (=195=180+15) degrees after the first tooth after missing tooth. Adjust trigger_tooth in the first place, and only fine-tune with ign_tdcdelay (you can keep it in 60..70 degrees range, which is ideal)

Ignition h[2] sequence questions:

In the manual there are two tables describing what should be used in the h[2] array, but I don't see how they could possibly be correct.

h[2] is different than h[0], see GenBoard/Manual/DigitalOut/Table. Basically, h[0] allows to fire 0..8 injector channels at the same time (any values are valid).

h[2] is simpler, only allows exactly one at a time and valid values are

The same values in h[2] that are used for GenBoard/Manual/DigitalOut would actually make more sense (72 instead of 07) but it's currently not implemented that way.