Introduction and my first project (small engine RPM)

Hello World!. This is my first brave attempt to post here after combing through the forums and searching through the vast sea of google gathering as much info as possible. If I am posting this in the wrong thread, please let me know and I will move it..

I have bought an arduino and a raspberry pi and wanted to take a stab at implementing some ideas I have, but I have one large downfall.

I have little to no experience with electronics. I program and admin network equipment, telephone switches, servers, desktops, radios, etc.. I also have some minimal Java coding experience. But, I do NOT know much about electronic components.

I have experience wiring 12VDC circuits up on older race cars (simple ignition, switches, fuses, coils, lights, batteries, kill switches, and tachs from the coil) and understand Ohms law from the perspective of figuring how much resistance, what size wire, what size fuse, how much current draw,etc..

However, when it comes to capacitance,inductance, transistors and the likes of stuff like that...I will be the first to admit how ignorant I am.

I have a basic idea of what they do, but by no means know how to apply them in the right place and why to choose one model/rating over the other. Which I why I wanted to start here, in a community like this, with guys and gals around the world of all levels of experience giving pointers and teaching others.

Brief overview of project:
I have a Harbor Freight knockoff of a Honda Clone single cylinder, 4 stroke, gas engine. It gets its spark from a magneto circuit (no battery) and is shut off by a kill switch on the shroud of the engine. I have done research and cannot find what kind of ignition it actaully has (CDI, points, etc..?) I was going to find a coil from a junk engine and look at it more closely to see how it works. I was wondering if there is a way to pull a signal from the low voltage side of the coil, instead of the spark plug.

I want to start out with a proper and safe way to pickup a spark for this engine and turn that in to a safe and clean pulse to feed to the Arduino.

I've read many posts using different chips and read the sport devices article, but am unsure which on to use and why? All of these require wrapping a wire or clamping around the HV spark wire.

End the end, I want to use count elapsed time between pulses as outlined here: Tutorial: Arduino timing methods with millis() |

So my biggest unknown is what kind of circuit to use to get the ignition pulse.

To make matters worse I don't have access to an O-Scope. Are there any cheap scopes out there, or is there a cheap way to make one for the raspberri pi.

I am sorry for my ignorance and wall of text, if anyone has built a circuit for something similar that could share their design with me.

Thanks. SC

Here is an example. Just wrap a wire around the spark plug wire. No actual connection.

That is the coil at the left.

Thanks steinie44. I'll take a look and see if I can make sense of it tonight with a breadboard :slight_smile:

Steinie44, I was looking at the schematic, and for L1 (the coil) and had a question.

Is that pulling directly from the HV spark plug wire, from the kill switch, or wrapping around it?


Wrapping around the spark plug wire.
Start with a couple of turns and if the signal is too low, add more turns.

Forgive my ignorance. :slight_smile:

  1. Just to be absolute I understand what your that L1, in this diagram, basically my wrapped pickup wire (antenna)?

  2. in the diagram I see L1 tied to ground on the bottom edge of the schematic?

2a.If that is correct, on the wrapped end (plug side) of thewire, do I need to ground anything on this portion or leave it open like a radio antenna?

2b. Would I ground the sheilding on the breadboard side of the pickup wire, and ground it to the same ground plane that the transistor and the Arduino is on?

  1. Am I assuming correctly that actual conductor inside of the coax is the line feeding the circuit on the top side of L1?

  2. What is best to use for antenna/pickup wire? RG58, RG59 or something of the sort? Or something simple I can find around the house?

Thanks in advance, I'm getting stoked about the whole project and your help already :smiley:

Here is more information:

I can't find a BC547 at the local Radio Shack. Is there a safe equivalant?

I found this:

I have a pack of 2N222, 2N3904, and 2N4401 transistors. Would any of these work as a substitute?

Also for the .1uF capactor, How big of capacitor do I need? How many WVDC? I have a 250WVDC Metailized Film one, is that overkill.

Also how many watt resistors should I be putting in place for the 10K and the 4.7K ? 1/4 or 1/2 Watt?

You could order the BC547 here, although shipping will likely be outrageous for a .50 cent part so you might want to buy a whole slew of things to make the purchase worth it if you want to order that exact part.

I would say any of those other transistors might work, but I don't know enough about the circuit posted to say one way or another.

Same problem with .1uF cap is that I don't know what voltage circuit is dealing with so no way to say one way or another.

Resistor wattage also depends on current and voltage in circuit.

What kind of voltages and current do you expect to see on L1? You might have to do some testing first to determine what spec of components you need. But I am not an expert at high voltage or current stuff other than that I know it can be dangerous and you can damage oscilloscopes if not isolated etc.

Maybe steinie44 has some more experience and can say what kind of voltage and current you would be expecting on L1 from a spark plug like that.

The diodes and transistor will limit the voltage across the capacitor to less than 2 volts. The resistors can be 1/4 watt. Your 2n3904 should work ok.

You might need to do some experimenting to discover how many turns of wire are needed.

[edit] make sure the spark plug wire is very clean and wrap the wire as far from the spark plug as possible.

So I have a question.

If the resistors are dividing the voltage in half and the diode has a drop of say .7 volts, and you said the voltage on the capacitor would be less than 2V...

Does that mean the voltage induced in the coil L1 is going to be somewhere in the neighborhood of a little under 5V?

Seems kind low to me but I may be mis-interpreting the circuit, I am only a freshman in school for EE so I definitely haven't learned it all.

Doesn't matter what the induced voltage is. The base emitter junction has a forward drop of around .7 volts and diode D8 has another forward drop of around .7 volts. Add the two drops and you get a maximum voltage across the capacitor of around 1.4 volts.

Ok that makes sense, thanks!

Sure. Good luck with your studies.

Again thanks! I do hope the OP got all the info he needed to get his project going.

By the way, here is a good place to get components. No minimum order quantity and very low shipping charges. Here is the BC547, costs 4 cents each. BC547 Transistor NPN 45V 0.1A

Hey, pegwatcher and wes. Thanks for the info and asking questions I don't know to ask. I learned a lot from reading back and forth conversations on the subject so that's good stuff.

I'm going to try the 2N3904 out to start with and am going to go ahead and order a few BC547 transistors now and have them on the way for future use. For 4 cents a pop, you can't beat that.

While I have you guys here, should the wire wrapped around the plug have some sort of ground too? Or do I just feed the core of the copper pickup wire to the juntion of D4 & D5?

I noticed the bottom of L1 shows it is on the common with the anode of D4 and, the bottom of the 10K, the bottom of C4, and the emitter of the BC547.

Would this ground in the diagram be battery ground of the 9V feeding the Arduino, or Engine ground of the small engine (aka, side of crankcase or something like that?)

Does anyone here know if the resistor on the collector of the BC547 is a 4.7K or a 47K or ?
The diagram shows 4K7 an I was wondering if that was a of some sort maybe?

4K7 is 4.7K

The ground in the diagram is going to be on the Arduino side, so either the GND pin or the negative terminal of the 9V battery.