Using Arduino UNO to measure mVolts.

Hi all,

I got an Arduino UNO from my friend and found out it’s very fun to play with :D, and i’ve never been to a coding class before.
I’ve been trying to look for codes available online to measure millivolts (mV) for biasing my amplifier, but after trying, i can’t get it right to upload. The range for it is about 0-30mV. Is it possible for Arduino UNO to do such measurement?

Thanks.

Khoa

after trying, i can't get it right to upload

Post your code here along with any error messages received when you compile and upload it.

The range for it is about 0-30mV.

How are you connecting the voltage source to the Arduino ?

You could use the Arduino's 1.1V internal voltage reference to get a better resolution but 30mV would still be only about 28 counts, about 1mV per count, And you have to be very careful hooking up external voltages. NEVER apply a voltage less than 0 (negative) or more than 5 volts to an Arduino I/O pin, also, connecting a voltage greater than 1.1V to analog pin while using the internal reference may or may not damage the AD converter, not sure on that point.

Note: The "1.1V" internal reference is a nice steady voltage but it can be anywhere between 1.0V and 1.2V. When your sketch turns on the internal reference (analogReference(INTERNAL):wink: you will be able to measure the reference voltage at the AREF pin. Then you will be able to put that value in your calculations and get more accurate answers.

See: analogReference() - Arduino Reference
See: analogRead() - Arduino Reference

Note: Because the UNO measures 1024 steps of voltage you will get values only accurate to about 1 mV (1.1V/1024 = 1.074... mV) .

const unsigned long referenceVoltageInMillivolts = 1093;  // AREF measured 1.093V
unsigned int milliVolts = (analogRead(pin) * referenceVoltageInMillivolts) / 1024UL;