I have a coin cell battery operated device that I'd like to detect a weak pulse. The device will be able to operate down to approx. 2.5 volt, so my Vref will be in the range 2.5 to 3V.

The pulse frequency is 30-300 Hz and measured with my oscilloscope it generates a signal as in the image below. I assume the signal is very weak (low current), but I've got more a less the same result when I set my probe on low impedance (X10).

I'd like to convert this pulse into a digital signal, and make sure that it's not fooled by the "bouncing" nature. I also need to bias the trigger and +-20mV might be a good delta value.

I've looked at using a single OpAmp or an instrumental amplifier, but I'm not sure what the most effective solution is. Actually I think I need a combination of the two, where the instrumental amplifier will just amplify the signal difference, and then I will compare the output with an OpAmp in comparator mode, where the negative input is my bias.

Anyway, I'm not sure whether this will work, or if there's an even better alternative.

enter image description here


Well, I think I actually misunderstood WhatRoughBeast's answer, and reworked the pickup circuit to ground both the connecting wire and the pickup wire. I also wrapped the pickup wire around the connecting wire. Here's a drawing: enter image description here

With this new wiring, I went out and measured two engines this morning, and the difference in signal amplitude is significant, so it's not a "weak" signal anymore.

Engine A: enter image description here enter image description here

Engine B: enter image description here Engine B is consistently producing a small unwanted spike in between the expected pulses Engine B is consistently producing a small unwanted spike in between the expected pulses

I'm glad that the pulses are much stronger now, but sorry that the premises of the original question are "slightly" changed. Anyway, I still need a trigger on this, and filter out the unwanted spikes from Engine B. I've got a lot of inspiration, and I see that you agree on a using a comparator for the job, so I will try to look into that.

  • \$\begingroup\$ Where does the pulse come from? Is it consistent? \$\endgroup\$ – Spehro Pefhany May 26 '14 at 2:58
  • \$\begingroup\$ It's an inductive pulse, that I pickup from an engine spark plug cable. I have wrapped a wire around the spark plug wire and, in the other end I wrap the same wire around a pickup wire that is grounded to battery voltage. This is to avoid the need for grounding the pickup device to the engine ground. The pulse may change shape when used on another engine, but it's fairly consistent from engine to engine. \$\endgroup\$ – Kenneth Ellested May 26 '14 at 10:57
  • \$\begingroup\$ Have you tried this on a shielded spark plug wire? It is capacitively coupled, based on your description. \$\endgroup\$ – Spehro Pefhany May 26 '14 at 11:04
  • \$\begingroup\$ I don't think so. I've tried it on some regular spark plug wires, and one that only had two small wires. \$\endgroup\$ – Kenneth Ellested May 26 '14 at 11:18

You definitely don't want an instrumentation amp. Have you paid close attention to your timebase? You are looking at pulse widths on the order of 20 nsec, and you just won't find an IA that will handle that. Since you seem more comfortable with positive thresholds, take your pickup wire and swap the ground and signal. (You can do this since the wire is galvanically isolated from the original source, and your choice of ground and polarity is entirely up to you.) This will give you a larger positive pulse. I'd recommend a fast comparator with a trigger level in the range of 50 to 100 mV. As a starting point, see http://cds.linear.com/docs/en/application-note/an13f.pdf for a fairly comprehensive look at what you need to worry about. Another possibility is the AD8561.

With pulses this fast, I don't see any reason to go for a Schmitt trigger configuration.

ETA: Although, Figure 42 from the app note does exactly that. And I would never argue against Jim Williams.


That's a pretty healthy pulse, actually, but the automotive environment is noisy. Looks like it is ringing quite a bit, hard to tell with that slow a timebase, but I'm not sure a ST will help here. You may want to just trigger a one-shot with a comparator.

Maybe something like a TLV3501, which is a fast-ish CMOS input comparator. Clamp the input voltage to ground with a pair of fast diodes (eg. 1N4148) and feed (through a resistor) to one input and ground the other input. The input should also go through a resistor to a bias voltage of about +100mV to keep the output in one state (and provide a path for the bias current of the comparator).

That should give you a logic-level pulse train with defined idle state. You can then capacitively couple that to a one-shot (eg. 74HC123) to generate a clean 1usec pulse (or whatever, but much longer than the ~100nsec ringing we see in your trace).


I think what you are looking for is a Schmitt trigger. A schmitt trigger will make your short pulse into a definite and prolonged "logic 1".

  • \$\begingroup\$ Yes, I've looked into these as well. But how do you set the triggering point, and how do you deal with the negative pulse. \$\endgroup\$ – Kenneth Ellested May 26 '14 at 10:48
  • \$\begingroup\$ Well, I need to clarify a little. If i set the Schmidt trigger low voltage threshold to 20mV, I'm not sure that I can reach the high voltage threshold (Vref-20mV right?) with the pulse. So this is why I had the instrumental amplifier in mind. \$\endgroup\$ – Kenneth Ellested May 26 '14 at 11:12

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.