My plan is to make RPM counter to my motorcycle. I'm planing to read ignition box signal with arduino. I think that ignition box gives 0-12V (or 14.5V max) square wave signal to coil. I was wondering if I can read that signal with something like this: enter image description here

I found similar thing called Chippernut from the net. That device reads signal with PNP transistor. I circled a part where signal comes in. Schematic: enter image description here

Does my design work at all with NPN transistor? Why? And if it does can I have some advice with that transistor model and resistor sizes. It have been while since last transistor calculations. Also is there any danger with coils recoil?


2 Answers 2


As a general point if you are connecting to the same signal that goes to the ignition coil primary you will want to change your idea. The flyback pulses from the coil are high enough voltage that they can KILL most electronic circuits that you connect there - unless you really know what you are doing and how to properly clamp and filter the signal. Your questions regarding the transistor would indicate that you may not be prepared to deal with that.

Most vehicles of the present day have some type of RPM sensor on the engine that feeds into the ECU (Engine Control Unit). Tap into that instead.

  • \$\begingroup\$ The OP said this is for a motorcycle so I doubt it has an ECU box. \$\endgroup\$
    – tcrosley
    Commented Jun 9, 2016 at 22:08
  • \$\begingroup\$ The motorcycle is from the 1988 so there is no ECU. There was a RPM meter and it was hooked to the coil so I thought that it would work. Can I use voltage divider or op amp? \$\endgroup\$
    – kah
    Commented Jun 9, 2016 at 22:44
  • \$\begingroup\$ You will need to put a suitable interface circuit to protect your electronics. A good start would be a series resistor from the coil connection point that then feeds to a zener diode clamp (zener anode to GND). A 4.7V zener may be applicable for this. Put another resistor from the high side (cathode) of the zener to a capacitor to GND. The RC filter characteristics of this latter R & C need to be such that they filter out the ring frequency of the coil flyback voltage. A third resistor can then go from the top of the capacitor to the NPN transistor circuit. I would recommend to (continued) \$\endgroup\$ Commented Jun 10, 2016 at 1:24
  • \$\begingroup\$ (continued from above) add a signal diode pointing into the base of the NPN transistor to raise its switching threshold up by an additional diode drop so as to mask noise on the GND. The NPN transistor can then have emitter to GND and collector going to a pulling up resistor to +5V. The MCU input comes off the NPN collector. \$\endgroup\$ Commented Jun 10, 2016 at 1:26

If you're not sure about the signal source, I would recommend you use an opto-isolator instead of a transistor. Same number of components and you will have full isolation from your arduino. Just size the resistor to provide the specified diode current, and your output for the emitter and collector part of the circuit is unchanged. The emitter can even have a different, isolated ground than the signal source.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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