Arduino Ohm Meter

Hi everyone! I found this link about the arduino as an ohm meter and purchased my first arduino because of it. I tried it out and have a few questions.

  1. Why does my 10k resistor (or known resistor) have to be attached to ground instead of 5v for the circuit to work? I was using a 1k resistor as my "unknown resistor"

  2. If I wanted to test multiple unknown resistors at once (like 5 unknown resistors) and display the information, how would I go about it?

Sorry for my noob questions. Im real new at this but am really interested in learning about the arduino more. Thanks!


  1. That was to make a voltage divider - Voltage divider - Wikipedia

there was +5V --- [ unknown ] ----*----[ 10 K ] --- GND

Now we know that at * there is a voltage between 0 and 5V

If we remove the 10K the * cannot be between 2 values so it will become + 5V

this was also possible: GND --- [ unknown ] ----*----[ 10 K ] --- +5V
the SW formula would be different

  1. Easiest way: you have to replicate the schematics 5 times. As the Arduino has 6 analog lines, it can be done. Be aware to have a small delay between the analog reads.

"There exist no stupid questions, only stupid answers", free after Confusius

Thanks for the lightning quick response!

So this got me thinking about the 5 simple circuits you suggested robtillaart. if I replicate the 5 circuits and connect them all to the 5V source of the arduino, wont I have 5 voltage dividers going on at the same time?

+5V --- [ unknown 1] --------[ 10 K ] --- GND
+5V --- [ unknown 2] ----
----[ 10 K ] --- GND
+5V --- [ unknown 3] --------[ 10 K ] --- GND
+5V --- [ unknown 4] ----
----[ 10 K ] --- GND
+5V --- [ unknown 5] ----*----[ 10 K ] --- GND

Could I independently separate the circuits by using 5 digital pins and turning them on? Having each digital pin supplying 5v to each individual circuit. Then when the digital pin is high I can have the analog pin read the value.

Would this even work? LoL

Think it is just a good exercise to build it and try it for yourself - takes 10 minutes - much shorter than waiting on an answer on a forum :slight_smile:

PS, let us know the results

I tried it and it works! Thanks rob!!! Arduino is awesome!

Good to hear, you might try to use 1K, 5K, 10K, 50K 100K, 500K, 1M instead of all 10K's for the known resistor. By checking the known against these 7 you should be able to get a more precise measurement.

i now tried to use visual basic and have read several threads online. Im using visual basic 6. I just used a template online and the visual basic is reading "3338" instead of saying "vout = xxx volts and runknown = xxx ohms." Am I supposed to convert the serial.print output of the arduino? Im confused lol :o

maybe im just getting to far ahead of myself...

visual basic is reading "3338" instead of saying "vout = xxx volts and runknown = xxx ohms."

Post the code that sends data to the serial port, on the Arduino, and the code that read serial data in VB. It's probably something very simple.