Home » Assorted Circuits » Make this Simple Tachometer Circuit

Have a Question?

Please feel free to ask any circuit related question and get a quick solution from me.

Make this Simple Tachometer Circuit

A tachometer is a device which is used for measuring vehicle engine RPM. Thus, it is basically used for checking the performance of the engine and helps an auto mechanic to understand the condition of the engine so that it can be corrected or optimized as per the desired specs.

Generally a tachometer may be considered an expensive equipments as these are highly accurate and intended for obtaining correct RPM rates of the concerned engine under test.

The conventional units are therefore very sophisticated and generate highly accurate results while testing.

However it doesn’t mean that a simpler version cannot be built at home. With electronics at its best today, making a tachometer circuit at home isn’t at all difficult. What’s more the results obtained from such circuits are fairly accurate and provides the required data for assessing the overall working condition of the system.

The circuit diagram shows a simple configuration utilizing the IC 555. The IC is basically configured as a monstable multivibrator.

The pulse is derived from the spark plug and fed to the end of R6.

The transistor responds to the pulses and conduct in accordance with triggers.

The transistor activates the monostable with every rising pulse of the input.

The monostable stays ON for a particular moment each time its triggered and generates an average ON time at the output which is directly proportional to the average trigger rate.

The capacitor and the resistor at the output of the IC integrate the result so that it can be directly read over a 10V FSD voltmeter.

The pot R3 should be adjusted such that the output generates the exact interpretations of the fed RPM rates.

The above setting up must be done  with the help of a good conventional tachometer unit,

Parts List

R1 = 4K7
R2 = 47E
R4 = 3K3,
R5 = 10K,
R6 = 470K,
R7 = 1K,
R8 = 10K,
R9 = 100K,
C1 = 47n,
C2 = 100n,
C3 = 100n,
C4 = 33uF/25V,
T1 = BC547
IC1 = 555,
M1 = 10V FSD meter,
D1,D2 = 1N4148

The above circuit can be further simplified as expressed by Mr. Abu Hafss through the following diagram:

Please note that since the image color is inverted, the electrolytic capacitor’s white bar signifies negative and the black bar denotes positive terminal of the capacitors. 

C5 in the above diagram could be any value between 3.3uF and 4.7uF @ 25V


    • The values are all correct.

      The meter just provides an average value equivalent to the frequency that's fed to the base of the transistor and thus helps us to figure the frequency magnitudes.

    • Another explanation: The 555 IC is set up as a monostable or one-shot. That means that every time a pulse comes in through T1 and C1 to pin 2 if the IC (the trigger input), the output (pin 3) switches high. It stays high for a fixed length of time that is determined by R3, R4 and C2. So it's putting out a train of pulses with a set width but with a frequency that varies with the speed of the engine. This results in a square wave with a varying duty cycle. The higher the RPM, the less time there is between pulses, so the voltage out of the 555 is high for a greater percentage of the time. When you filter or integrate this signal (R7 and C4), it becomes a DC voltage that is equal to the average voltage out of the 555. As the engine RPM increases, the frequency of the pulses increases, so the time between pulses decreases as the pulse width is constant. This results in an increased DC voltage going to the meter through R8. I haven't done the math for this circuit, but the pulse width should be set to something less than the cycle time at the desired max RPM (cycle time is 1/frequency. Example: Max RPM = 10,000. Max Freq. = 10,000/60/2 = 83.3 Hz (assuming you're taking the input from a spark plug wire; if you're taking it from a coil primary, the formula must include a factor for number of cylinders and the frequency would be 4 – 8 times higher)). Cycle time = 1/83.3 = 12 ms (milliseconds). I would set the 555 to a pulse width of about 10 ms.

  1. Hello Sir, can i use a couple of LEDs that will lights up as the RPM increase/decrease the LEDs also appeares like a running lights back and forth accordingly instead of the 10v FSD meter. how can it be done Sir?


  2. good day how can you convert to attach a led bargraph design to the output instead of using a meter?

  3. Ok thanks. R1 and R2 don't make any sense either. R1 is 4700 and connected in series is R2, 47 ohms. R2 would have no effect.

    • actually there should be a 0.1uF capacitor connected across the junction of R1/R2 and ground then it makes sense, however all these are not too critical so you can just use R1 and eliminate R2.

  4. Hi
    i need a circuit which detect when main 220 volts goes down to 180 to 185 or 190 so the secondary source UPS or generator should start,now secondary source works when black out but not when volts become low or decrease.Also some times specially in summer,their voltage become very low around 130v so how we can detect so our secondary source should be started .

  5. Looking to build this circuit for test equipment for a single cylinder engine. Thought I would wrap the input wire around the spark plug wire. Any help/advice on the input signal?

  6. Swag, I was looking into building a tach for jet ski use, it seems this design would work. The problem with a lot of what is currently avail. is a slow refresh rate on current ones. It looks like the FSD is where the rpm is displayed? Do yo have any insight you would be willing to share?

    • Hi Keith,

      "Slow refresh rate?" I could not understand this, can you elaborate? The above circuit would respond accurately to frequencies between 1kHz and 50kHz so it would satisfy most applications well, though..

  7. Dear Swag, this is a great job you've done for making DIYs. I have a simple question that, how the input wire can be connected into the spark plug wire? Do I need to cut the wire shield and attach the input wire or can I wrap the input wire over the spark plug cable?

    Many thanks.


  8. Swag thanks for this Tach, if I want to use it with a 4 cyl engine, and take the pluses off the Coil, is there enough adjustment in R3, to divide the pluses by 4?

    • Thanks Davis, I am afraid the above design cannot be used for the application…it would produce only the average of the 4-stroke pulses, and there's no way to isolate the readings.

  9. Hello sir, i am building this circuit to use it in my project as a frequency to voltage converter. My question is will this work for my needs? i am running a DC motor at 40 RPM and using an optical sensor to get the frequency of the motor and feeding that frequency as the input to this circuit. Then convert that to voltage and use that voltage as the feedback to my PI controller (which is part of the whole project) please suggest if this will work for me or not.

  10. Hi Swagatam

    I made this circuit with slight changes:

    R6 = 1k
    R2 removed
    D2 removed
    C4 = 100µF

    It is working quite fine but with a difference of 500 RPM. For example, if the actual RPM is 7,500 the voltmeter shows 7V instead of 7.5V. Adjusting the preset R3 gives 7V. Any tip for rectification?

  11. sir i want a detailed explanation for this tachometer as i want to install it im my project named Black Box for Car
    where it will be used as to check RPM and give info. to GSM module amd module will forward it to the required no.

  12. Hello there .

    Im interested in using this circuit for monitoring the RPM of a G200 Honda engine ( 4stroke , fires plug 1 per revolution ) .

    So the signal should be taken from the sparkplug wire directly ? Or can i use the killswitch wire ?

    And for the output , is it possible to monitor with a digital multimeter or just an analog voltmeter ? And can the output be used to hook up to a signal wire for a tachometer ?

Leave a comment

Your email address will not be published. Required fields are marked *