Arduino Analog input resistance

I would like to present the following to any interested contributors.

Arduino analog input resistance.

This subject came up again just recently. Jeff105671 suggested quite correctly that a new post be created instead of going off on a tangent. Jeff pointed me in the direction of the Data Sheet of a modern Amtel ATmega328P which quoted this as 100MΩ.

Quite some time ago I was interested in this as I needed to know if connecting this analog input to an existing circuit was going to have any loading effect. I decided to attempt to measure it.

My usual method of doing this is to measure the open circuit of a source then connect a known resistance in series with the unknown, measure the voltage at the junction and calculate the unknown resistance. The Arduino to be measured was an old Duemilanove with the Atmege328 chip.

The first problem was the expected high impedance of the Arduino making a DMM useless as a measuring device due to the relatively low DMM resistance of 10MΩ. I decided the ADC itself could be used as a reasonable volt meter by using the serial monitor facility of Arduino.

Unfortunately the largest resistor I could lay my hands on was 22MΩ so, while not ideal would have to do. The ADC readings thus obtained were to unstable to be of much use, probably not helped by the little antenna created by the high resistor value and my test set up picking up any interference around. I was able to shut this up with a 10µF Tantalum cap but the charging via 22MΩ was then a problem.

Starting from scratch I noted the ADC figure at 5 time constants (18min 20sec) at approx 1010. This is 98.7% of 1024 so 22MΩ is 1.3% of the total resistance which resulted in the Arduino resistance being somewhere about 1680MΩ or 1.68GΩ.

This was a very approximate method but the best I could do with the facilities at hand (an Electrostatic volt meter would have been handy but I think very scarce outside a laboratory) but showed this resistance to be very high and would not cause me a problem. Job done.

Any remarks, published figures or discussion most welcome.
Cheers Bob


Hi Bob,

Given the measurement equipment available I’d say that your testing method was quite ingenious. While you may not have been able to nail down a figure with a laboratory precision you seem to have at least answered your original question regarding to what level the input will load down the circuit it is connected to.
I’d think with the mostly hobby applications of the Arduino microcontroller boards that embed that chip, loading of less than what a household DMM introduces would put this into the “no longer a concern category”.
Thanks for sharing your method results.


Hi Trent

A few years trotting around the back blocks of PNG in an anything to do with radio maintenance role may have fostered that. Mostly what you had was your tool box and anything you could carry on a small aircraft. Your workshop was usually more than a day away and no phones. Improvisation was mostly the name of the game. Of course access was sometimes by road or the existing problem was known and you could make proper provision but these cases were not that often.

That is another subject entirely and unfortunately not really understood by the average hobbyist. If there is any interest I could elaborate further in another post.
Cheers Bob