High Impedance Analog Read

I just want to make sure I'm thinking correctly before I jump into this. I need to get an analog read from a source with high (10 Mohm or so) source impedance. This signal will be the only one I am reading, so the ADC will stay on that one pin and I'm only taking readings about once every 100msec, so not that often.

The way I understand things, I should be able to go ahead and hook that up and use it and the sample and hold caps will have plenty of time to charge between readings. But if I'm missing something obvious, I'd rather have one of you fine people tell me now than to find out later and have to break out the solder sucker.

While the timing is OK, 10MOHms is pretty high, probably higher than the input impedance of the ADC pin. Because of that you may need a unity gain buffer op-amp.

The ADC on ATmega chips is optimized for a source impedance of 10K ohms or less (see the data sheet). So, you will definitely need a buffer amplifier. You can use a FET input op amp connected in the unity gain configuration.

How accurate do you need the reading to be? The datasheet quotes the ADC input resistance as 100Mohms typical, which means that with a 10Mohm source resistance, you have a potential error of around 10%. If this isn't acceptable, then you will need to use a buffer.

If the input is DC or changing only very slowly, then I recommend you add a small capacitor (e.g. 1nF or 10nF) between the input and ground.

I used a 2.35M source resistance in one project, i.e a potential divider made from two 4M7 resistors, to monitor the voltage of the 9V battery in a system that had no on/off switch.