Sensing Circuit How-to with Arduino?

What kind of circuit would someone build to sense very low voltage transmission without altering the voltage or resisting current too much that the original circuitry failed to operate?


  • A keyboard.
  • The "spacebar is pressed"
  • An electrical connection is made when the spacebar contact connects the open contacts on the PCB for the spacebar
  • The circuit is closed until the spacebar is released.


  • How could a passive "sensing" circuit be placed in-line and be fed to the inputs of an ardunio to be read?

  • If my Arduino were reading the value of an input pin every 100ms and capturing the result (perhaps printing to serial, irrelavant) how could I capture this circuit going "live" without interrupting the monitored circuit's normal functionality?

Possible solution?:

Could I put an opto-isolated sensor in-line with the monitored circuit, and when the voltage from the monitored circuit ran through the sensor I could build a separate "monitoring" circuit that activated a relay controlling 5v to an input pin?

Concerns with possible solution:

  • Resistance provided by the opto-isolated sensor interferes with the circuit being monitored
  • voltage from the circuit being monitored wouldn't be strong enough to drive the opto-isolated IC

What question are you asking? Do you want to know how to monitor a keyboard or sense a current in a line. If the answer is both then you are going about it the wrong way.

Monitoring current involves inserting a small resistor in the line (say 10R to 100R) and measuring the voltage across it. Of course this has to be amplified using an operational amplifier to convert the tiny voltage into something you can measure. A 10R to 100R resistor won't interfere with much in digital logic.

Monitoring a keyboard is best done at the output of the scanning matrix as there is not usually a continuous current flowing when the space bar is pressed.

Thanks for the response. I'll try to clarify a bit.

The keyboard scenario is just one of many analagous situations I would use this on. I basically want to sense when current flows through a button trace on a pcb without interfereing with the button's normal functionality.

Some devices may not even be connected to a pc, they could be battery powered.

The only constraint I'm facing is that I can't redesign the product, but can solder and create sensing circuits as long as the device's original functionality remains in tact.

Another possible example would be a touch tone phone:

Without disabling the '5' button, what kind of circuit could I create that could say, light an led, when that button was pressed without the '5' button losing it's original functionality?

As I said a series resistor and an amplifier. This would involve cutting the track and inserting a resistor in line. If the resistor is small enough then it doesn't affect the performance of the circuit.

The technique to allow you to monitor signals without cutting the track is to use a hall effect sensor to measure the magnetic field generated by the current flow. However, you won't be able to get hall effect sensors sensitive enough to do this. At these levels the earth's magnetic field is huge and it is complex and costly making the measurements.

Mike, thanks again for the suggestions. I've looked into the hall effect IC's and I think you're right for 2 reasons, its too small a current, plus I think there will be other traces in that area and it would be hard to isolate the one I'd like to monitor.

Going with the inline resistor idea, what would the circuit look like if I were able to add a very small resistor and amplifier? I'm about 15 years rusty on my electronics from high school. :-/

Another forum suggested the use of a comparator, but I can't grasp that design very well. Any more thoughts?

Why not just monitor the serial output from the keyboard with an input pin. The signal is plenty-strong and I dont see this interfering with the signal. Then you just need decode which character is being transmitted and discard those you dont care about.

Another forum suggested the use of a comparator, but I can't grasp that design very well.

It's the same thing. A comparator is just a differential amplifier with lots of open loop gain, you will still need the resistor to generate the voltage. It is easy (comparitavly) to insert a surface mounting resistor in a PCB track if you cut it with a small cutting disc, but it does take a bit of practice. The only other techniques I know of for detecting current flow in a line involve a scanning electron microscope and that's defiantly not a D.I.Y. technique.