1

Using Arduino (i got leonardo and uno), I'm looking for a way to get the RPM of my car's engine. I know this can be done using an OBD2 connection however i'm looking for a different way.

Sensing?

I need a reference for a sensor / a creative way to get this data.

Having said that, these approaches came up:

  • guessing the RPM by reading the amps in the car's 12V connection
  • recording the sound of the engine using a microphone and setting thresholds for certain RPM values
  • 1
    If you wrap a few loops of wire around one ignition wire you can probably messure the ignition pulses. But that could kill your arduino, because even the induced voltage in the wrapped wire may be over 1000 Volts. So be carefull!!! Perhaps a diode (Fast Schottky) might help. But that's a question for the electronics site electronics.stackexchange.com. These guys know more about that than I do. – Peter Paul Kiefer Jun 16 '15 at 15:07
  • 1
    I think it will depend on whether you have access to the tachometer feed (assuming one is available). Otherwise, if there is something "rotating" at the engine speed, you can attach various types of sensor for measuring revolutions (eg. IR reflection or hall effect magnet sensing). – Kolban Jun 16 '15 at 16:26
  • 2
    Paint a white of black spot on the drivebelt, and use an reflective optical sensor (e.g. tcrt5000) to see how many times the spot passes the sensor. – Gerben Jun 17 '15 at 12:17
  • Could you state the reasons why OBD2 is not an option? – Dmitry Grigoryev Aug 7 '18 at 8:03
2

I would think something like this would benefit you greatly. If your vehicle was produced after 1996 it will have an OBD port near the steering wheel that allows you to read diagnostic information from the car. This diagnostic information always includes error codes (think: Check engine light), and often includes operating information like speed and engine rpm.

| improve this answer | |
0

What about measuring the speedometer? I suspect that would be easiest - you may get away with hooking up the speedo directly to the Arduino analog (but measure with multimeter first!).

| improve this answer | |
  • The question seeks engine RPM, not speed. Transmissions have various ratios, and they slip, so the two are not directly related. – Chris Stratton Dec 11 '15 at 1:50
  • Most speedos have RPMs. I meant "the rpm line on the dashboard" (that part of the dashboard being referred to as the speedo, even the parts that aren't). – AMADANON Inc. Dec 14 '15 at 2:43
0

I'm doing this with a TCRT5000 and a LED+phototransistor, you can find them all over Amazon and eBay. I painted one quarter of a camshaft pulley white, and the other three-quarters flat black, and mounted the optical sensor over the edge of the pulley. This is on a Subaru, where the cam pulley and timing belt are all underneath a shroud, which keeps out ambient light. It works quite well.

Plus a .1uf capacitor next to the Arduino, because the transitions between high and low were pretty noisy without it.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.