Trigger Input Decoder (Engine Speed and Timing) [Ready]

Our decoder is ready and live tested! It currently supports these patterns:

  • Single pulse per revolution;
  • V-Twin (Sensorless: Kill wire signal).

The decoder is able to reject a fair amount of signal noise in software. Trigger input does not have to be square, or even clean. (within reason)

For example, this rather noisy pulse (directly from a magneto kill) wire is acceptable:

Killwire-trigger1

Despite having multiple distinct rising edges (three in this example), the nanoEFI decoder is good at sorting out which edges are valid or invalid. This includes randomness that may also occur on each pulse.

Here’s an example of the engine idling at 1600rpm, and the typical randomness when the magneto kill is used as input:

Killwire-trigger2

The randomness is cleaned up internally and the ECU syncs to what it determines is the 0° pulse. In this image, the blue line represents the window of time (when high) that the ECU will reject any additional rising edges from the trigger source.

Killwire-trigger3

And here is the final result . The trigger input is shown in yellow again, it’s nice and consistent after being cleaned up internally. You see the fuel injector output in blue (after fuel pulse length is calculated).

SDS00002

1 Like

That’ll work! Good explanation