Measuring Car Engine RPM via the Cigarette Lighter


Sometimes we forget how many things we can do with a simple oscilloscope. In this video [Ben] uses one that Tektronix lent him to measure his DeLorean engine RPM. By checking the car main ~12V voltage one may notice that the voltage spikes occurring are directly related to the engine speed, as they are created by the inductive kicks from the ignition coils. Obviously the multiplication you have to do to get the RPMs from the number of spikes per second depends on your engine configuration (flat 4, v6…).

The method that [Ben] used was to search for high amplitude spikes on the (AC coupled) car 12V Fast Fourier Transform (FFT) to get a reliable measurement given the many electrical noise sources present in his car. At the end of his video, he however mentioned that it could still be possible to get a good measurement with a simple voltage comparator and a high enough voltage reference.

55 thoughts on “Measuring Car Engine RPM via the Cigarette Lighter

  1. > The method that [Ben] used was to search for high amplitude spikes on the (AC coupled) car 12V Fast Fourier Transform (FFT) to get a reliable measurement given the many electrical noise sources present in his car.

    Wat? Do you even english?

      1. “The method that [Ben] used was to search for high amplitude spikes on the (AC coupled) car 12V Fast Fourier Transform (FFT) to get a reliable measurement given the many electrical noise sources present in his car.”
        “The method [Ben] used, was to search for high amplitude spikes on the AC coupled car, using a 12V FFT (Fast Fourier Transform). Using an * FFT is needed to get reliable measurement given the many electrical noise sources present in his car.”

        * no idea what an FFT is, maybe elaborate? Using a “system”, like an FFT is needed

        Broke the sentence into many, added some pause commas.

        That would be my take anyway. Maybe add some line endings to break up the walls of text to create a little air.

        Enjoyed the article btw; This is a formality :)

        1. I here FFT a lot but I don’t know what it is. I thought it was a maths integration (or derivative) that uses the TAN of a slope to determine frequency in a progressive way that is used to convert a signal to a spectrum of frequencies where the frequency is the reference rather than the signal (amplitude).

          Some one please correct me. A quick google shows that FFT is a wide range of functions but the ‘signal to spectrum’ is only a small part of FFT.

          1. Fourier transform basically splits signal into a set of it’s harmonic parts (sine functions) FFT is just an algorithm for getting a reasonable approximation of this transform in reasonable time.

        2. You put the word “using” in the wrong place. It’s supposed to be:

          “The method that [Ben] used was to search for high amplitude spikes on the (AC coupled) car’s 12V using a Fast Fourier Transform (FFT) to get a reliable measurement given the many electrical noise sources present in his car.”

      2. Do you remember which site you’re writing for? That’s like asking red to be green. Fortunately others will jump in :)

        1. I became an Engineer because my writing stinks. But I take comfort in knowing that it was an engineering type that creating the spell checker.

    1. Actually this is grammatically correct, though perhaps slightly ambiguous.

      Try reading it like this (‘s denoting scope):

      The method that [Ben] used was <to search for on the < Fast Fourier Transform (FFT)>> to get a reliable measurement given .


      method_ben_used() { return search(fft(ac_coupled_car_12v), high_amplitude); }
      //Use FFT and find highest amplitude to help avoid noise issues

      1. FFT is simple enough for cell phones, cable modems, and nearly every other communications device using a DSP. The math may seem complex, but the same formula never changes.

      2. Coding it maybe isn’t but using existing code surely is? Even an AVR have plenty of power for doing something like that with C code.

        [AFAIK it wasn’t too hard to code one either but that was a long time ago (>25 years) and as we all know walking to school uphill both ways in snow being chased by wolves with time becomes a pleasant memory ;) ]

        1. Yep, finding and using canned FFT code is no problem. Even translating it across vastly different languages requires no understanding of how the algorithm as a whole works, just a careful line-by-line conversion of relatively short code.

  2. this system was(is?) used on the g-tech performance gauges to detect RPM used to have one, recall it being pretty accurate once calibrated.

  3. Are you telling me that you put an FFT… In a DeLorean?

    The way I see it, if you’re gonna switch form the time domain to the frequency domain, why not do it with some style?

  4. I came across a product that uses this, plus FM transmitter to simulate the experience of a massive, noisy engine:

    Quite cunning – a bit insane ;-)

    One of my old colleagues got one and it was surprisingly fun. On some cars it seemed to have more difficulty locking onto the RPM signal; I imagined it was because they had more modern electrics.

    1. Only works with cars that *don’t* have a well regulated and filtered 12V supply to the lighter or power socket.

  5. Most of the time battery voltage to RPM actually works by picking up the ripple from the alternator. AC couple the scope and you’ll get about 100mV of ripple. The frequency is directly proportional to the RPM. Picking up the injection and ignition spikes is a bit unreliable…

    1. I’m glad you said it. I was finding it a bit of a stretch to think ignition noise was permeating the entire electrical system.

  6. this is what most car remote start system use or something similar — using tachless mode — car senses the voltage im sure its not really the same as i havent dug into the various brands and how they measure voltage and what nots

    but hay if he can just stick a flux capacitor in there it would be a lot better !!

  7. Hmmm….maybe I’m missing something but wouldn’t you want to -divide- by the number of the engine’s cylinders per RPM as compared with -multiplying- the spikes? For a 4 cyl. engine, 1 RPM would have to be divided by 4; 6 cyl. divided by 6, etc?

    1. In reality It is probably sensing the voltage ripple from the alternator not ignition pulses*, so it would be depended on number of alternator poles and gearing

      *Stuff the soundracer works in diesel engined cars

  8. Please enough already with the lame Delorean comments. I used to own one, and got rid of it for two reasons. 1: The V6 was underpowered 2. Got tired of the damn movie references people kept making everytime I took it out in public.

    Seems this “hack” is founded upon the requirement the electrical system of the host vehicle have poor noise filtering on the DC bus. If there is no coupled ignition noise to detect, it won’t work.

    What would be interesting is a “wireless” (as in AM radio based) device that would detect the spark plug firing rate and interpolate RPM from it. As anyone can attest, poorly filtered AM radios routinely pick up alternator whine (among other things).

  9. If you look at the current coming from the alternator with something like a LEM (or even a fairly wideband but good low-end current transformer) with something that is a little better at FFT’s (a HP 3561A dynamic signal analyzer) you can see some -really- neat stuff. In fact, you can identify the speed of the air conditioning fan and the dimming level of the cabin lights, for example — let alone the RPM from both the ignition noise and the fuel injector solenoids!

  10. Checking the AC component introduced by the alternator is a viable option. It’s 3 phase AC rectified so there will be some noise. Funny thing some people don’t realize is that he alternator does not run 1:1 with the engine speed so unless you know the pulley ratio, you cannot expect that to be an easy to obtain indicator of engine speed.

    Ignition noise is far more reliable, but if the engine runs ‘wasted-spark’ you’ll get twice as many spikes in the DC line. A 6 cylinder engine could ‘sound’ like a 12, a 4 like an 8, an 8 like a 16 and… make sense yet? Wasted spark is each plug on each cylinder fires once every crankshaft revolution, whether the spark is needed or not.

    So yet another variable to consider.

  11. Measuring alternator phase / whine won’t work correctly unless you know the pulley ratios. If the alternator spins crank * 3… * 1.287… or whatever, you’d have to account for that in the code.

    Using ignition noise can work since it’s a spike every time a spark plug fires.

    But, if your engine uses wasted spark, that won’t work properly since that means spark plugs fire every crankshaft revolution, so twice as often as necessary. This could make a 6 sound like a 12, a 4 sound like an 8, a 12 sound like a 24… making sense?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s