MegaSquirt-I™ Tach Signal Wiring

One of the more challenging engine interfaces to the MegaSquirt-I™ ECU is the tachometer input. There are many different ignition combinations on the road, each of which pose their own unique situation - even two identical engines with identical ignitions may require different tach setups. This is the one part of the MegaSquirt ECU where you may have to try different configurations for optimum performance. Below is a discussion on different tach interface techniques, and some alterations that are suggested in order to get the required MegaSquirt-I™ trigger signal.

Also, before you begin your tach interface, make sure that your ignition is in optimum condition. Check your wires, plugs, rotor, coil, etc. - a bad component can cause false MegaSquirt-I™ triggering. When in doubt about a particular component, replace.

For the V1.01 boards connected to the negative side of the ignition coil, follow the methods below, in order:

In the position of R10, put in a 390 Ohm, 1/2 watt resistor, a 5.1 volt Zener diode (known as the John Zener diode), and a 1N4001 diode (Wing diode). See the picture below for a graphical illustration - follow this for the board. Be sure to jumper the John Zener out - in most cases you do not need the John Zener, but if your application require it all you need to do is cut the jumper. [Yes, the diodes and capacitor are named after the individual who suggested and/or tested the component].

Also, in place of D5 install a 0.1 µF capacitor (known as the Ed capacitor). The illustration shows a 0.01 µF capacitor, but start with a 0.1 µF.

Here is the complete modification:

Try this combination first and perform a datalog of the engine running and under idle and acceleration conditions. If the RPM is consistent from point to point, then this tach combination will work. If the RPM jumps around, then you will need to do a little experimentation. Also, look at the seconds column. It should count up until it reaches 255, then it will roll over to zero and start back from there - this is normal. If the seconds rolls back to zero before reaching 255, then the MS box has experienced a reset and you need to run a separate return wire back from the opto-led.

If the RPMs jump around, then first try increasing the Ed capacitor from 0.1 to 0.22 µF, then 0.47 µF. If the MegaSquirt does not trigger (watch the trigger LED on the front panel), you may have to lower this capacitor to 0.01 µF. In most cases, the proper selection of the Ed capacitor will clean up the RPM spikes by low-pass averaging the ignition coil signal.

If changing the capacitor value does not help, then you need to address the resistor. First, raise the value from 390 Ohms to 1K Ohm, 1/4 watt, and run the engine. If this makes the RPM worse, then try a 330 Ohm, 1/2 watt resistor. Also, if your factory tach stops working, then you may need to increase the resistor value to 1K Ω, or even 2.2K Ω. If there are still tach triggering problems, you can install the "Dave Capacitor". Get a 0.22 µF capacitor (rated to 100 Volts or higher) and place one lead at the junction of the 390 Ohm resistor and the Wing diode, and the other lead to ground. For many installations this does the trick.

If you still experience problems, then cut the jumper on the John Zener diode and try the above sequence again. If you cannot find a resistor or capacitor value which works, then you may want to try taking the signal off of the VR or Hall sensor - see section on Hall/VR Triggering below.


Triggering off of a tach signal generated by a ECM or ignition amplifier:

Most dedicated tach signals which originate from a ECM, ignition amplifier, or aftermarket ignition (MSD, Jacobs, Accel, etc) are clean +12V square wave signals, which will drive the MegaSquirt tach input directly. Use the Wing diode and a 0.01 µF Ed capacitor, and a 1K resistor for R10. If you experience problems triggering, decrease the resistor to 470 Ohms, then to 330 Ohms, 1/2 watt.

MS V1.01 boards connected directly to a VR or Hall sensor:

If you cannot get a good tach from the ignition coil, then you can tap the signal from the VR or Hall sensor. If you have a VR (Variable Reluctance) sensor, then it will have two wires. What you will need to do is to make a return path from the opto-isolator (4N25) LED cathode back to the VR sensor. This is done by lifting Pin #2 from the PCB (un-solder), and connecting a wire from pin #2 to one side of the VR sensor. The other VR sensor wire will go to the MS tach input. Increase the R10 resistance to 1K, and keep the Wing diode (jumper the John Zener diode). If there are problems running the car, then increase the resistor value to 2.2K or higher. Also, try cutting the jumper to the John Zener diode.

For a Hall sensor, the setup is easier. Most Hall sensors use a open-collector NPN transistor (emitter tied to ground), so you can use this point to tap a signal for the MegaSquirt® tach. Use a 1K Ω resistor for R10, and jumper out the John Zener (keep the Wing diode). If you experience problems starting, then increase the resistance of R10 to 2.2K Ω. You may also have to add a pull-up resistor to the tach signal - use a 10K resistor tied to +12V.


MS V1.01 boards experiencing resets when connected to ignition coil:

If you are connected to an ignition coil (negative terminal), and you experience processor resets, then you need to un-solder pin #2 on the opto-isolator (LED cathode), pull the lead up in th air, and add a separate wire from this pin back to the engine block. You can use a small gauge wire (24 AWG) for this connection. This will solve the reset condition

MS V2.2 boards:

The revision V2.2 of the MegaSquirt® ECU main board incorporates all of these devices directly on the board. When using this board, follow the same guidelines above, just remember that there are places right on the PCB for each of these components.


© 2003, 2008 Bowling and Grippo. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks.