I am trying to build a board to sense circuit voltage relative to ground at different points on a breadboard. I would want the board to work regardless of configuration of the circuit. The only exception would be the location of GND, which would be the same always.

There are two ways I was thinking about doing this:

  1. Voltmeter Modules:
    My first idea was to get either a 2 terminal or 3 terminal voltmeter. I believe 3 terminal is less invasive to the circuit, but please correct me if I am wrong. My thoughts were that this would need to be powered externally so that it wouldn't effect the voltage within the circuit, whereas the 2 terminal voltmeter is actually using some of the voltage to power itself? Also I was assuming that the 3 terminal voltmeter would not have an effect on the circuit even if it was attached to a common ground within the circuit. Anyways I was wondering if you could verify these assumptions and offer some advice on the best one to use. Or let me know if this is a terrible idea (aside from the fact that is would be space intensive with all the voltmeters) :).
  2. Arduino Voltage Reading
    My second idea was to use an Arduino and a multiplexer to sense the voltage within the system. Again I wasn't sure what effect the Arduino would have on the system if any if it is constantly attached and sometimes reading? The voltage I could sense would be based on the resistors I use. I then could use the Arduino to do something with the signals to make them visible to the user.

If you have any feedback on my questions, the solution you think would be the best, or alternative solutions, I would love to hear it!

  • \$\begingroup\$ The two-wire voltmeter is powering itself from the measured point in the circuit. This means that there is a minimum voltage it can handle and the voltage source needs to be able to provide enough current to power the meter. The 3-wire meter has a separate power lead so it can measure lower voltages and won't load down (at least not much) the measured voltage source. \$\endgroup\$
    – DoxyLover
    Jun 26, 2015 at 22:44

3 Answers 3


Sounds like you are concerned about something called a loading effect. This occurs when you add another component (Arduino or volt meter) to a circuit. Essentially, you are causing some current to be drawn from the circuit. High end meters have something called a high input impedance. These meters draw negligible current from your circuit. The bigger your load is, the more current a meter will draw. If you have a very large resistor and read the voltage using a volt meter with a relatively small input resistance all of the current will want to flow through the small resistor, aka volt meter. You can learn more about current distribution by looking up "Loading effect".

I have more experience using the arduino for measuring voltage, so I will talk a bit about my knowledge with that.

First off, it isn't too hard to program an arduino to read a voltage. But it does have some limitations. It can only read voltages up to 5V (There are ways around this) and I found that it wasn't too accurate (8-10 bit resolution). Then again it depends how accurate you want the readings to be. The Arduino didn't seem to have much of a loading effect (I was comparing results from a volt meter). The MOST challenging part is a means of displaying your voltage reading on a screen. You can buy little screens with Arduino libraries, but they can tend to be troublesome. Most of my time was spent making the screen look presentable.

The Voltmeter Module seems to be definitely the simplest route to take. I am not sure what loading effects they will have. I am sure that differs between models. If you are looking for a quick way about this a voltage module might do the trick.

I would personally recommend buying a volt meter at your local hardware/electronics store. They have good input impedance and can be cheap.

Hope I was of some help!

Goodluck, Josh

  • \$\begingroup\$ Thanks a lot Josh! I looked up loading effect and now I have a better idea of what I'm trying to avoid. It is good to know that both ideas will probably work without a significant effect to the circuit as long as I can ensure a high input impedance on the voltmeters. \$\endgroup\$ Jun 27, 2015 at 0:49

Not sure about the loading effect, but the way I've used the Arduino as a voltmeter is by connecting an analog pin (say, A0) to a wire, and you can touch the wire to whatever spot on your breadboard you need to test.

I am not sure what output is your preference, but you can download Firmata for your Arduino. When you open it up and select the correct port, you'll see a list of all the pins on your Arduino and their current readings (between 0 and 1023). This will display on your computer that the Arduino is tethered to.

When you touch the wire to a spot on the breadboard, you'll see a number between 0 and 1023 on the corresponding pin in Firmata. Since USB is 5V max, you just do (reading/1023) * 5 to get the voltage.

Since some of the analog pins are floating, for whatever reason there may be some interference, so you can ground the next or preceding analog pins to hold them at 0. Not sure how accurate this is, but it seemed to work.


Good voltage measurement requires three things:

  1. A high input impedance, to reduce or eliminate loading effects.
  2. A circuit which scales the input to the voltage range of the ADC input to minimize quantization error.
  3. An accurate voltage reference, typically a semiconductor bandgap reference.

In the case of the Arduino, the maximum recommended source impedance is 10k ohms, so if you need to measure voltages at source impedances greater than that, you need to buffer the input. Both this and the scaling can be accomplished with a simple opamp circuit.

You may or may not need an external reference depending how accurate you want your measurement to be. However, you can get a pretty stable one for about a dollar on DigiKey. The Arduino docs will tell you how to use an external reference. If you do this, remember to scale your input voltage range to the external reference voltage, not the 5V internal reference.

EDIT: Here's a page which covers using an external reference with the Arduino for voltage measurement.


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.