Engine RPM Measurement for Arduino Project (DIY Dyno) Please Help!

Hey everyone,

I'm currently building my own dynamometer (dyno) for mopeds and maybe motorcycles later on, and I've hit a key question where I could really use your experience.

My Project: The basic setup is planned out: an Arduino UNO R4 will read the data from a heavy roller (using a Hall sensor for speed) and send it to my laptop. The power calculation will then be handled by my PC.

My Question: Now I'm stuck on the best and most reliable way to get the engine RPM (not the roller RPM) to the Arduino.

I know one method is to calculate the RPM from the roller speed and the gear ratio, but this requires calibration for every gear. I'd prefer a more direct measurement. I've seen these inductive clamps/pickups that you just clamp around the spark plug wire. I'd actually prefer that, since it's a clean, non-contact solution.

  • Does anyone have experience with these inductive pickups on an Arduino?
  • What kind of signal do they output, and do you definitely need a circuit in between (like a comparator) to condition the signal?
  • Or is there an even better/simpler method that's proven to work? I've also read that you can safely tap the signal from the ignition coil using an optocoupler.

My goal is to get a clean, digital signal that I can process with an interrupt on the Arduino.

I'd appreciate any tips or experiences!

Thanks a lot, Huggi0619

Why not use another Hall sensor, but attached to something that runs at engine RPM, or at an RPM that has a fixed ratio to the engine RPM? To me that feels easier and safer than dealing with high voltage signals.

1 Like

That would be a high voltage signal that would burn an opto-coupler.

Perhaps you meant the low voltage signal that goes to the ignition coil?

I meant the low voltage signal that comes from the inductive clamp.

Check this link, it appears to be what you want:

I understand you want a simple non-contact procedure you can fit quickly to any moped etc.

You can get one of these inexpensive current transformers to fit around the lead to the coil

however you would need to experiment to derive a clean positive signal to the arduino.

Hi Guys

Thank you all very much for your help. I think i solved my problem.
I use one of these for my measurement:

I think i can close this topic, but i leave it open until tomorrow or something like that.

Best regards Luis

Can you explain what you have found and where you found it? Inquiring minds want to know.

Yes of course. It is a digital ingitionsignal sensor. I found it on: Motogadget

The disadvantage is that I have to use an external 12V Voltage source. A motorcycle battery for example. bit this sensor has a HIGH LOW output with 12V every time when the engine. I think i can just add a resistance to create a 5V singal for the Arduino.

I will build it in the following weeks. I don't know now if it really works. I will update it as soon as possible.

looks like a good solution, picking up the emi from the ignition coil.