Jump to content

Sub £10 ignition scope :)


Recommended Posts

A couple of weeks ago I was thinking (as you do) that it might be nice to have an ignition scope for tracing those obscure little misfires and stuff.  Only, they ain't cheap and I like cheap.  

So I got to thinking that a digital scope is only a bit of sampling hardware and some software to display the results.  Now, just about all computers nowadays have sampling hardware (it's called a sound-card) and there was free oscilloscope software available for Linux, which is what I use.  The only problem is that most sound-cards are going to get very upset indeed if you plug even the primary ignition of a car into them - you get spikes upards of 300v when the points open and PCs don't like that.

So I looked on EBay and found someone selling (brand new!) USB soundcards for £1.45 (including postage!!!) on Buy It Now and promptly bought one.  Then it was just a case of another fiver or so of assorted "pound-shop" stuff to make up connections, leads and robbing my parts bin for a few resistors to drop voltages, and I was set to play today....

The plan was to use the box and phono sockets from the £2.50 SCART adapter to give inputs with attenuations of (roughly) 1:1, 10:1 and 200:1 so that the card's full scale input of 1.3 volts would measure 1.3, 13 and 260v depending on which you plug the lead into.

First thing was to get some idea of the input impedance of the sound dongle:

which turned out to be 25K ohm.  A quick raid of my bits bin didn't produce quite the ratios I'd hoped for but I managed to get about 12:1 and 23:1 which, by feeding that into the 12:1 gave roughly 275:1.  Good enough seeing as the xoscope software I was going to try it with doesn't have voltage calibration anyway :)

So, we rip out the SCART bits:

put in the "high" input voltage divider:

then connect that to the middle input, and the middle input resistor to the 1:1 socket, with the output coming straight from that socket:

Then cut the "socket" end off the cheapo phono lead and add a couple of croc clips.  Ready to go:

Took it and my lappy out to Matilda the Daf, plugged it all in, clipped it across the points, and started.  It works!

with a shorter timebase, nice clear pick of the two cylinders firing:

Finally, a quick video of it running:

As you can see, at the end on a 10ms timebase she's idling at about 600rpm (100ms per revolution) and has about 33ms dwell which works out at:

Distributor speed = 300rpm = 5 revs / second = 0.55ms per degree.  So 33 ms dwell = 33/.55 =  60 degrees, which is spot on what it's meant to be, thank you very much :D

So there you go - £5.62 spent and I was looking at an ignition trace good enough to count RPM and dwell angles on.  Also to confirm that the dwell is nice and stable so no wear in the distributor.

Next stage is to tidy it up a bit and start writing software to give more "car orientated" functions like automatic calculation of rpm and dwell.  Plus try making up some capacitive probes for monitoring the HT leads :)

Link to comment
Share on other sites

Now all you have to do is rig up a position sensor of some kind (no doubt in your bag-o-bits as well) and you'll be reading the timing advance curves and such too!
Or is that already built-in to your rig somehow?

As someone who was always keen on oscilloscopes when he was a kid, this is all very cool indeed.
From the vid, it sounds like your semi-directional microphone can even be used to pinpoint errant valve adjustments, vacuum leaks, screaming artesians, or whatever else you care to listen for while under the bonnet. Pretty distinct clatter going on there in the video. Could you hear that with your ear as well? Or was it more noticeable through the microphone?

Nice work there.


Link to comment
Share on other sites

The clatter is very noticeable by ear but it's a 2 cyl aircooled that's just coming up for 900 miles having been sat in a garage for 35 years, so can be forgiven for another 100 miles or so until I reset everything  ;D

This set-up is only single channel because that's all the £1.45 sound dongle has but now I know it won't cook anything there's no reason not to use the stereo input on the normal sound card for dual channel.  That opens the possibility of a positional trigger and would actually cost less because there'd be no need for the sound dongle!

The nice thing about computers now is that, as long as the basic hardware is there, all the rest can be done in software. With TDC sensing as the trigger and a mic on a second channel, it should be possible to track that tappet clatter to an individual valve by crank angle.  Not such a big deal on this engine (cos it's only got 4 :P ) but nice for those elusive rattles where adjustment doesn't seem to help!

Link to comment
Share on other sites

Re-post away -  A credit for Joe Horner would be nice, thanks :)  I'm planning to sort out some proper software for it because I can't find any free Windows scope software at the moment.  Linux users can play with xoscope, which is what I was using here:


might be worth putting a note that, if you try it, plug it into the "high" output first and work your way down to be sure you don't zap the dongle (or your laptop if you're brave and plug straight in :P )

Link to comment
Share on other sites

It's Ubuntu 11.04 but the scope software (xoscope: http://xoscope.sourceforge.net/ ) should be good under jst about any as far as i can see.  You may need to install the alsa-oss package depending on what sound system yours uses (xoscope won't see oss sound drivers without it).

edited to add:

If you want to get really posh, there's a buffer circuit suggested here:


which will do a technically better job than the handful of resistors I've used.  That would make it suitable for more sensitive circuits like audio amps and digital stuff but really isn't needed when you're connecting it up to a big coil fed by an even bigger battery like you get in ignition systems :)

Link to comment
Share on other sites

It works fine for displaying a trace but calculating the actual voltage scale for the Y axis would be entertaining (to say the least).  Given that an awful lot of scope diagnosis is concerned with trace shapes (one firing line higher or lower than the others, missing coil oscillations etc) rather than exact values that's not a huge problem for what it's intended for.

Link to comment
Share on other sites

Excuse me, but F****** brilliant!

So simple, but so beyond me.
If you can find the bits you need, SM, and package them, you must have many hundreds  of sales guaranteed, here and on any car-nut board.
Oh, already suggested.
May I put my order in now, please?


Link to comment
Share on other sites

For those of you with a modern set up, you can buy a  ECU reader disc,or buy a interface, that plugs into you OBD port. and put the info into you new phone, and read off / see all the engine functions,
just like you can on the mega squirter,or other efi set ups.
here a clip of one, but there are alot of variations, I picked this for you, as its got the bigger screen , than a phone.


Link to comment
Share on other sites

  • 4 weeks later...

It went a bit quiet on this while other things got in the way but found a few hours to play and now have a (very) alpha version of some software in Java (for maximum compatibility) which works to at least display a trace.  Haven't implemented the tacho or dwell yet, or tested it on the car, because it's raining here and I don't want to get wet :P

This is displaying the local mains "hum" created by sticking a loose wire in the inputs using my netbook (Win 7, 1Gb RAM and an Atom 450):

and this is displaying the output from my capacitance meter using my main laptop in Ubuntu:

If anyone wants to play, the program itself is attached as a zip file (13.6k) - you'll need to have a Java run-time environment installed to use it but you've probably got that already without knowing it ;)  If not, you can install it (around 20mB depending on your operating system) for free from http://www.java.com/en/download/

Unzip and run the file Scope.jar that you'll find in the resulting directory.  Please note that it is only an early version so please excuse any rough edges :)

Link to comment
Share on other sites

Just downloaded your java app and tried it. I don't have the sound card but it seams to work with the microphone on the pc if you yell at it very cool  8)

Scope picture of me whistling :)

Just got to get a few of the bits from the top of the post

Very good

Cheers Steve

Link to comment
Share on other sites

Not a bad G#5 you're whistling there - a touch flat but not enough to notice by ear ;D

As for the soundcard, having confirmed it wouldn't blow anything up using the USB one, I'm now using the mic input sockets on the laptops themselves which should allow 2 channels because they're almost all stereo.  The eventual aim is to get this usefully functional and as cheap as possible (under a fiver would be nice :P .

Link to comment
Share on other sites

Made a few more tweaks this evening and actually got to plug it into one of our Dafs.  I'm not attaching the revised version yet because I should hopefully have a nice stable "production" release soon and the previous version gives enough for people to play with for now (it's only the tacho and dwell that don't work on it).

Tacho does now work :)

Link to comment
Share on other sites

Thanks :)  I'd best get on with the software tweaks then :P  As it happens there was a bit more progress on that today.

Having decided on Java for easy compatibility (I do like write once, run anywhere!!! :P) speed has become a serious factor.  It's not too much of a problem on a half-decent system but is on slower stuff.  

My main lappy is a 4 year old 1.6 Ghz dual core which will plot a full second's worth of dual-channel data (96000 points) in 1/4 second but my netbook (new 1.6Ghz single core Atom) takes 1.1 seconds to plot the same samples, and that's after it's done the sums to identify the trigger point! Which is a problem when the next lot's waiting a tenth of a second before it's finished - doesn't take long to build up a nasty lag.  It's even worse on the 1ms/div timebase where it has 1/100th of a second to display a full plot.  On the netbook that was accumulating a delay of around 1/5 second for every second it was running!

Seeing as this is most likely to be used on older machines I've added a horizontal resolution control so it can be set to plot anything from every sample to every 32nd sample, which is much faster but liable to miss fast transients on the plot (although it will still trigger on them).

Other additions are:

Separate magnify for each channel
An "invert" option because some sound cards seem to invert their input voltages and give an upside-down trace - no idea why!
Added a 20ms timebase option - about right for catching a single revolution at fast-idle speed.

Next plans are to work out the dwell triggering (not as easy as it seemed!) and add an option to save the entire sample stream to disk for reviewing in slow-time later (so you can drive with it connected then look for the misfires at your leisure :) )

Any other suggestions gratefully received.....

Link to comment
Share on other sites

No need to understand the putting-it-together bit - it's the using it bit that's useful.  Once it's all sorted properly I'll be writing that side of it up complete with pictures and explanations of what the traces should look like and, more importantly, what they shouldn't :)

Meanwhile, just had to carry on with this today (who says I'm obsessive??? :P ) and got an initial version of dwell measurement working.  For simplicity, and making sure that the sums work, I decided to go for a manual cursor (vertical line) that you can move to indicate the start of the dwell period rather than having the program detect it.  Now that works it should be fairly straightforward to adapt for auto detection.  Of course, I couldn't really test that without having it connected to a proper running engine because random sine- and square- waves don't really have a "dwell" so out to the Daf again for a couple of test traces.

The first one was a dwell measurement at about 3k rpm:

which showed the dwell to be a little small - it should be 58 degrees - but, with all that spare time on a 2 cylinder it's not exactly critical.  What it also showed up was an apparent difference in firing pattern between the two cylinders.  So time to zoom in on individual firing events.  Sure enough, firing on one cylinder is giving this:

while the other is giving this:

That high, short, sloping initial portion in the second trace is indicative of either a plug gaooed too wide or starting to fail (firing at too high voltage).  I know they're gapped right, so that's a faulty plug, lead or (less likely) dizzy cap.  Unfortunately I haven't sorted out an inductive plug pick-up yet so there's no way to identify which cylinder's at fault (pulling one lead from a 2 cyl doesn't work too well :P ).  Still, given that the plugs and leads were last replaced in around 1978 I guess it's time to replace them all anyway :P

So then it was on to Sheila to see what her SimonBBC module is doing.  This time I started with a fast-idle (she was on choke) train:

All looks pretty good and even there, but the dwell angle seemed rather low at 20 degrees (the cursor isn't set in the screenshot - it's indicating about double what it should).  So I tried a high-speed train and found this:

If you look at the first shot you'll see that the dwell period (ie: the time the "points" are closed) is about 1/2 of a horizontal division.  Seeing as the timebase is set to 20 milliseconds per division, that gives a dwell time of about 10 ms.  Now, if you look at the second trace, the dwell is about one division in length but check the timebase - it's been changed (by me) to 10ms for this shot.  So the dwell time is still about 10ms.

Hands up who knew that those el-cheapo in-distributor ignition modules used a fixed-duration dwell?  I know I didn't till I started playing with this  :lol:

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...