I've got a 12V source which I want to measure the voltage (or basically, just to check it's there) so have a voltage divider. Currently, with a 10k and 3k resistor, that brings it down to 2.77V and well within the Analog Input of an Arduino to measure, which is great. With this setup, it pulls ~923uA of current, but with a 10M and 3M resistor I get around ~923nA. Obviously I want to pull as little current as possible, but would the current with the 10M and 3M resistor be too low for the arduino to pick up? I read somewhere someone saying that the max should be 10k and 3k resistors for Arduino to read it reliably, but can't find it anywhere now and it's just sticking in my head.

This is probably a silly question, but I don't have an arduino to test it with right now.

  • \$\begingroup\$ Which "Arduino"? Yes, it matters. \$\endgroup\$ – Ignacio Vazquez-Abrams Dec 5 '14 at 11:47
  • \$\begingroup\$ Good shout, i missed that. It's an Uno R3. \$\endgroup\$ – Dean Thomas Dec 5 '14 at 11:48
  • \$\begingroup\$ You should add that information to your question. \$\endgroup\$ – Lorenzo Donati -- Codidact.org Dec 7 '14 at 2:56

From the ATMega328 manual:

The ADC is optimized for analog signals with an output impedance of approximately 10 kOhm or less. If such a source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary widely. The user is recommended to only use low impedance sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor.

The same figure goes for any other AVR µC I've dealt with.

If your source has higher impedance you can lower the sampling frequency and/or add a capacitor from ADC-IN to ground to buffer some charge between samplings.


I have built a voltage sensor using a 1M/27k voltage divider which I use for 12V nominal readings (but 40V maximum). I then use a 22uF capacitor across the 27k to smooth out fluctuations and reduce the effective impedance.

This works pretty well, at the cost of around 12uA at 12V.

I can tell you I get pretty good results with that.

I decided I couldn't be comfortable with 10M. Things get sloppy at that level, such as getting fairly large ADC reading swings just by heating the 10M resistor with your fingers.

  • \$\begingroup\$ But, if your goal is to check for voltage presence, rather than any accuracy, then 10M is probably fine. \$\endgroup\$ – David Sainty Dec 5 '14 at 12:54
  • \$\begingroup\$ Interesting point, and even less power consumption with 1M/27k, down to 11.68uA from 923uA! \$\endgroup\$ – Dean Thomas Dec 5 '14 at 13:58
  • \$\begingroup\$ BTW I'm using the internal reference (0V to 1.1V I think). If you are using the ADC range 0V-5V then the 27k resistor should be adjusted for that range. \$\endgroup\$ – David Sainty Dec 6 '14 at 2:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.