# Arduino oscilloscope voltage divider design

I'm building an oscilloscope with arduino, but I have some questions about how to design the input voltage dividers without ground.
The problem is the oscilloscope only needs one input to measure voltage, but as far as I know voltage is a comparison. So how can the oscilloscope measures voltage without comparison?

In my arduino design I made a couple of voltage dividers to reduce voltage between 0-5V, but voltage dividers won't work without current. So do I have to let the current flow in the voltage divider or is there any other way to do it?

Figure 1. Typical oscilloscope probe.

Problem is oscilloscope only needs one input to measure voltage ...

No, your hunch is correct. All voltage readings require a reference point so a ground reference is required as well. This is typically the ground of the circuit under examination.

A typical probe uses a coaxial or screened cable with the probe tip connected to the centre conductor and an optional ground clip connected to the screen. (That's the little crocodile clip in Figure 1.) If the clip is not used then a separate ground wire has to be run out from the scope.

simulate this circuit – Schematic created using CircuitLab

Figure 2. Typical 'scope connection setup.

Be very aware that you have no electrical isolation when using your Arduino. If you have a USB connection and you make a mistake with your ground connection you could damage the Arduino or the device it is connected to.

But technically voltage meter has infinite resistance, so how the voltage meter's voltage divider works?

simulate this circuit

Figure 3. A potential divider for one channel.

The potential divider is external to the ADC. It doesn't use the ADC's internal resistance as part of the divider.

• But technically voltage meter has infinite resistance , so how the voltage meter's voltage divider works ? – Mordecai Aug 24 '19 at 8:27
• Only in a perfect world voltage meters have infinite resistance. In reality they always have a defined resistance. However, this is quite high so for many sources of voltage it seems like near to infinite. – the busybee Aug 24 '19 at 8:39
• @Mordecai: See the update. – Transistor Aug 24 '19 at 8:46
• Thank you for accepting my answer. I forgot to mention that you won't be able to measure negative voltages with this arrangement. To do so you would need to bias the input to 2.5 V, mid-supply. – Transistor Aug 24 '19 at 8:59

Yes, you always need a closed loop to measure a voltage. This means, you have to connect the ground of your arduino with the ground of the voltage source (your DUT, device under test). You could also use a differential probe, if you can not connect both ground signals, but this is way more complex and you still need two inputs (+ and -) to connect your DUT.

So the easiest way would be to just connect grounds and connect the voltage divider between your signal you want to measure and the shared ground.

a resistor based voltage divider requires some current to flow, it doesn't have to flow to ground, and you can adjust what the resistances are to change how much total current is drawn, but for what your describing, it would likely end up to ground

also add to this that your arduino's ADC generally cannot handle large value resistances before its readings start to skew you need to generally approach it with an Op Amp

Ok so lets use an op amp, I do not know how high a voltage you need to divide, but lets say its something reasonable e.g. 10V, in this case, if you can power the op amp from a voltage higher than this signal, you can use it to buffer it, it has 10V on its + input, and it outputs a fixed 10V on its output, while only drawing a tiny current e.g. 1nA, you can then use a normal low value resistor divider inside your device,

simulate this circuit – Schematic created using CircuitLab

If the external voltage is much higher, you can still use this to make a divider with larger resistors and a lower current drawn from your signal, e.g. lets say you wanted to measure 50V, with that op amp, you could divide that down 10:1 with large resistors around say 1 million ohms for the input and 110,000 ohms for the lower leg of the divider, the op amp then buffers this to your arduino drawing only a small amount of current from the signal, in this case about 40uA

simulate this circuit

And as a work around to the other answer, while more difficult, you can use an op amp as a differential amplifier, so instead of connecting the arduinos ground to the outside world, you end up with 2 inputs, where your measuring the difference between them,

• Okay , Voltage dividers always need a current to work but it's too little to have any effect ? Also what happens if input voltage is negative ? Like instead of 0-5v , -5v~5v ? Current will flow reverse and divider work inverted ? – Mordecai Aug 24 '19 at 8:36
• In that case, for the first example if your used another op amp to hold the dividers ground instead at 2.5V, and gave the op amp a negative supply it would work that way, for the second example, you instead would use a differential amplifier, this way you can introduce an offset with gain, there are many online tools to work out what resistor values you would want to use for this, As for what reducing the current accomplishes, for most things your measuring, they dont have crazy high resistances, a normal multimeter measures across a 10 Mega ohm resistor, an op amp input is Giga to Tera Ohm – Reroute Aug 24 '19 at 8:43