I have tried to implement the circuit in this answer in order to measure the voltage of an external battery using an Arduino. However, I am not sure if I have wired it correctly. Here is the diagram:

low current battery monitoring circuit

And here is my implementation:

my broken circuit

I have redrawn the circuit to match the layout above:


simulate this circuit – Schematic created using CircuitLab

The voltage divider should in theory drop the voltage of the battery from 4.2v to 3.22V. When I measure the voltage with the multimeter as shown, the voltage measured is 3.64V. When I measure the voltage between the middle of the divider and the Arduino's GND I get -0.37V. In both cases measurements are made when PIN 8 is set to HIGH. With the pin set to LOW, the voltage across the divider drops to 0.

First question: does it make sense to use this kind of circuit to measure the voltage of a battery that is not actually powering the Arduino itself?

Second question: Assuming I eventually power my MCU with the battery, will this circuit work correctly?

  • \$\begingroup\$ Looks like you are missing a connection from the battery ground to the Arduino GND \$\endgroup\$ – EE_socal Dec 8 '17 at 0:53
  • \$\begingroup\$ Wow, thanks that seems to have fixed it. I thought I had tried connecting the two grounds but I must have done it wrong. I now get a 3.15V reading from the multimeter and a 3.09V from the Arduino's analog input which is much closer to expected values. \$\endgroup\$ – Alex Spurling Dec 8 '17 at 1:10

Your Answer

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

Browse other questions tagged or ask your own question.