Some technical information about EDIS, and how to connect to GenBoard

See also EdisIgnition/SoftwareModule page.

It is very rare to connect EDIS to VEMS, because most users

The advantage of this:

EDIS should work in 1.0.x branch (with genboard v3.x). Testing needed if you want EDIS with 1.1.x (I cannot see much advantage of 1.1.x with an EDIS setup though)

The reason for EDIS in old times was to drive multiple coils with the limited number of outputs (genboard v2). Genboard v3 has many outputs.

However, the code to drive EDIS (quite simple, much simpler than directly driving coils) has been there for several years.

Th most important configuration variable (from global.h):

  uint8_t ign_out;	// EDIS:0x0? dummy: 0x7? disable:0xff bit1: ign_dual_out bit0: invertout

That is, ign_out=00 (or 01 for inverted SAW output polarity) needed instead of ign_out=70 (that is dummy ignition)

The rest is same,


Operation Abstracted

Kenny Bauman writes:

The ford EDIS is a standalone microprocessor based ignition. It handles all timing calculations and trigger wheel processing internally. MS AVR only has to deal with a SAW and PIP signal to make the EDIS setup work.

What happens is the EDIS sends out a PIP signal (falling edge is interesting) that will tell GenBoard it needs a SAW in return. The length of this SAW signal tells EDIS what timing is desired.

If EDIS looses the SAW signal it defaults to 10 deg timing as a base value. Nice as a built in limp home mode.

Makes a nice setup as it is proven and hardened for the underhood environment.

Regarding the 36-1 trigger wheel. This has to be a Crank trigger not a cam trigger. You can use a cam trigger, but it needs to be 36-1 and 36-1 on the same wheel for a total of 72-2 teeth. The missing teeth would be 180 degs apart. This is for EDIS.

Here are some AC Delco part numbers for the EDIS-4 module and the coil. The US model vehicle is: '93 Escort LX w/1.9L 116CID L4 MFI (J) engine.

EDIS Module - AC Delco F1945

Coil AC - Delco F510


Echlin Ignition Ignition Control Module ECHTP500

I haven't found a part number for the VR pickup and then there is the toothed wheel.

How to connect EDIS to GenBoard?

PIP signal from EDIS => GenBoard primary_trigger

There are several good ways to route the PIP signal to the primary_trigger.

primary_trigger is IC3 on GenBoard/VerTwo (available on a header) and IC1 on GenBoard/VerThree. On GenBoard/VerThree you don't need any hack, you just put in an SMD 5.1V zener (not in the rescue kit, ask for it in your WebShop order - it's free ) to D14 place, short SJ2 jumper, open SJ6.

For GenBoard/VerTwo here is the recommended method, it is based on a simple voltage divider, dividing PIP to about 33..40% level (this method bypasses the optocoupler circuitry on GenBoard/VerTwo, but there is nothing to do about the optocoupler, it will not interfere):

Connecting the PIP to primary_trigger:


Therefore: primary_trigger=FE.

Note that only EDIS sees the multitooth VR cranksignal. The PIP what GenBoard sees from EDIS is NOT a multitooth signal, but a coil-type 1 pulse/event signal. You can set tooth_wheel=24 (24 hexadecimal is 36 decimal), but this variable is not used in this setup.

Do this in the config structure, access with MenuSystem? (mttc or through the serial port(Manmttc). See InitialConfig? too.

This GenBoard/VerTwo picture does not show the diode orientation: cathode with the ring is at the right side, connected to 5V (DB37 pin4):


And here's a picture


Alternatively you can try the (GenBoard/VerTwo only) optocoupler circuit (the 5v1 zener is a little high for this, connect a 2k7 resistor in parallel with the zener). Note that this optocoupler setup inverts the signal, so in that case you will need to configure rising edge in config.trigger(bit0=1), eg: primary_trigger=FF. This is more complex, and not better, so not recommended.

SAW command signal goes from GenBoard => EDIS

For the NPN-inverted SAW signal:

[another not recommended connection for GenBoard v2.2]

Bended end of zener goes to resistors and the other to the gnd (pin2 on J8 connector).

[[Manual: Detailed.Output.EDIS.Tune]]


See also: EdisIgnition

Q: I have genboard v2.2 with EDIS setup...genboard is getting PIP signal from EDIS (it counts revs), but I think that EDIS is not geting SAW signal from v2.2 since my engine's advance is always at 10btdc.

You can test if genboard is sending saw signal the same way as on TimingLight. You just apply a LED (needs proper polarity to light) through a (say) 270 Ohm resistor from NPN output (SAW signal) to +5V. You can ground the SAW output (this is valid with open collector outputs, while it would be invalid for push-pull outputs, like the stepper driver) signal (while the engine is not running), and the LED will light. Most likely you probably forgot the pullup resistor. You can also try the LED experiment directly from the AVR PORTB7 pin, but be careful in that case (apply 510 Ohm or higher series R, don't use long wires and don't short the AVR's output cause it will not like it). Measure voltage with DVM, that's always safe.

You put EDIS and IGN_OUT_INVERTED in my_make, but that makes no difference. ign_out=01 in config.txt is important. You want to post (on your page) both your commented config and the config read back with mcd so others can double-check.

I've put pullup resistor (4k7). I am just back from the garage, I've been playing with it. It somtimes starts to work but then it stops. I've check all vires on EDIS and they are OK they are all connected good, and have a good contact. Maybe the problem is because pip and saw wires are not shielded? Maybe EDIS's input is not OK.

Please do the TimingLight test (on the SAW output) and provide more useful info, eg. if you have correct RPM reading and injectors are firing well. Otherwise noone can help you. Point to your page which has the config.