• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Filter circuit for car ignition coil tach

Thread starter #1
Hey Guys,

Glad I found this forum. I know very little about electronics and am just a hobbyist. Anyhow I do engine swaps in cars and then build electronic tach converter boxes to allow the factory tach in the dash to work correctly.

What I currently have is a v8 engine going into a v6 car so a v6 tach in the dash.

Anyhow I built a simple decade counter which drops pulses and the v6 tach works perfectly. BUT..., you knew there was a "but", only when the tach signal is fed by a very clean signal source such as an after market ignition box that has a dedicated 12 volt square wave tach signal output.

The problem is the majority of swaps don't use this ignition box but instead take their tach signal source from the 12v side of the ignition coil. That signal is very noisy though and the tach needles just jumps about crazy and does not work.

If you go purchase an after market tach, that is the same spot they take their signal source, from the 12v side of the ignition coil (not the HV side of course).

So... I think what I need is some sort of line filter to clean up the signal before going into my somewhat simple decade counter to drop pulses. My problem is I have no clue how to build one of these filters, can anyone help?

Thanks so much for any assistance.
How about a simple low pass filter? A single resistor and a capacitor can do rough filtering for you but I don't know much about car tachs. How many pulses are sent to the tach per RPM, and what's the max RPM? Other users here that know more about cars should be able to suggest resistor and capacitor combinations that will filter out most impulse noise.


Well-Known Member
Its too bad you can't post an image of the input signal taken from an oscilloscope as then we wouldn't need to guess. In the meantime, it would make sense to create a filter that only passes the frequency range that you expect of those pulses. So a low pass filter would be reasonable. I would bet that a lot of the noise that is getting in the way is higher frequencies than you need, so a low pass should help. The other thing that would help is to include some noise margin at the input circuit. The most common way of doing this is to include hysterisis in your slicer. With this, your input circuit would not accept that the input voltage is a high until it passes a high threshold (eg. 8 volts) and then doesn't accept that the high has gone low again until the voltage drops back down below another threshold (eg. 4 volts). Any noise that is riding on top of the input signal that is, say, 1 volt peak to peak will not trigger a transition until the input voltage gets back to within one half volt of the next threshold (for example).

Well, that's probably a poor description, but I hope you get it. One circuit that does what we need is a Schmitt Trigger. A discrete design would allow you to set your thresholds to extremes, like 2 volts and 9 volts for example, which would be alot better than using a common HC logic Schmitt trigger which has only a very small hysterisis.


Well-Known Member
CD40106 has about 4V of hysteresis when running on a 12V supply. A lowpass filter in front of one of these might do the trick.
Thread starter #5

I understand your explanation of a Schmitt Trigger and that sounds like something that may do the trick. I really have no way of telling though without actually building one and trying it out. I noticed on this web site there was a forum for basic diagrams. I will look one up. I seem to recall building Schmitt triggers in the past using 555 chips.

As you say an oscilliscope reading would really help you guys out but I don't have one nor do I know anyone with an oscilliscope to get such a reading.

Sceadwain, a v8 engine produces four 12 volt square wave pulses per crank shaft revolution. So at idle of approx 600 rpms we would have 40 pulses per second. (600 revolutions in a minute * 4 pulses per revolution / 60 seconds in a minute).
At red line for the average v8 used which is 6500 rpm we would have around 433.3 pulses a second. However a realistic rpm range the tack needs to function is 500 rpms to 7000 rpms for my applications. This would be 33.3 hz to 466.6 hz. Hopefully that helps out.

Thanks for the help so far. I will look into the Schmitt Trigger.
What about the resister / capacitor filter mentioned above? How are those wired in? or how do they work?

Thanks again

Last circuit on the page. A simple resistor+capacitor in a low pass configuration will get rid of most of the noise even without a schmitt trigger
Look at the google entry for low pass filter, it's a resistor in line with the signal and a capacitor to signal ground. There are equations to determine the cutoff frequency.
Thread starter #8
Thank you for that link. I would have never found that. This diagram is also very interesting. It shows the cycle between the cylinders firing.

Does this still mean I need to build a schmitt trigger? One that will filter out that triangle spike stuff in the middle of each firing? Also how do I bleed off that very high voltage?





I build a similar circuit that you are looking for. I used a 555 timer, that was triggered but the spike from the coil. I used it with a PIC so the output of the 555 timer was 0-5Vdc, perfect. I shall look for the schematic and post it. It worked really well.


Well-Known Member
We could possibly design something for you if we knew a little more about what we have to interface with. What ICs are you using for your pulse-dropping circuit? Can you post a schematic?
Thread starter #12
I'm at work right now and can't find the new version but here's my original design I started with. It had a minor bug (somewhere around C1, C2, and C3) which I eventually fixed but the basic input and outputs are still the same. Hope this helps.

BTW I'm still struggling / learning Eagle Soft so sorry if it looks horrible :) You especially don't want to see my PCB designs LOL

BTW - I had help getting that design. I think for the most part I understand that design now pretty well but I did not come up with it on my own.



Well-Known Member
I've added a clipper (the input zener clips both positive and negative transients), a simple (too simple?) lowpass filter, and a Schmitt trigger.
If 2 parallel gates will give you enough drive strength to drive your tach, you could use one section of IC2 as the input Schmitt, avoiding the need to add another IC to your board.


Last edited:
Thread starter #15

Thank you very much for helping with that modification you made to my circuit. I pulled apart one of my tach modules tonight to try and mod it but found there was to much to change on a pre-made circuit board so I built your circuit from scratch on a bread board.

I then made a simple 555 frequency generator to simulate an engine's ignition pulses to test the circuit and got it working. I have an after market tach on the work bench to check output and my multimeter has a frequency meter on it too which is really helpful. Of course that only tests that the circuit is working and I got all connections in the right place.

It was to late (noise) to fire up one of the trucks and test it for real off the ignition coil (primary negative).

So tomorrow I'll test it out and see what happens. Fingers crossed :)

Thanks again


Thread starter #16

I've been struggling all day and can't get it working. That capacitor you added in the front there makes a difference. I had to change it from 10n to 100n so that the needle would start responding. The problem is the needle jitters. I think the duty cycle of the output signal is off.

My after market tach has a filter that allows me to connect it directly to the negative terminal on the coil and it works fine. However when I hook it up to the output of my circuit it jitters.

Here's my updated circuit. I also added your mods to it. I ended up adding a second 4093 instead of stealing part of the one already there. Man I wish I had a scope. Can anyone recommend a cheap simple scope I could buy somewhere?

BTW - I looked up the specs on my after market ignition system and it says it outputs a 12 volt square wave at 20% duty cycle.
I assume that means it stays at 12V for only 20% of a cycle and then 80% at 0 volts? Anyhow I noticed the 4017 counter has its outputs at what seems to be 100% duty cycle and one output comes on while the last is still on. I made a 555 circuit going at 1 hz and the used LEDs to see the output of the 4017. One LED comes on and stays on, the next LED comes on and the other goes out what seems to be simultaneously.

Thanks guys


Thread starter #17
Going back and looking at that scope output for a cars ignition it would seem I need a zener diode of around 5v on input (the one you added to my circuit). However all I have is a 15v zener and maybe that's my problem? I will see if I can pick up some 5v zeners on Monday.




Well-Known Member
Malcolm, a 5V zener won't work. The circuit I drew (with the 15V zener) should work fine, as should the RC filter. Your logic following the 4017 is the problem. Try the circuit below. This should give you 3 pulses at the output for every 4 input pulses, and the output pulses should be the same width as those from the ignition.
You should probably use coax as the connection from the ignition to this circuit's input, as you need a good ground return path, and the shield may help keep EMI from the high voltage of the ignition secondary from appearing on the input signal.

Latest threads

EE World Online Articles