I have a arduino pro micro 5V that I want to power with a 3.7V lipo. I also have a charging module to charge the lipo. (https://www.banggood.com/nl/TP4056-1A-Lipo-Battery-Charging-Board-Charger-Module-Mini-USB-Interface-p-1027027.html?rmmds=myorder&cur_warehouse=CN).

Battery without step up converter

I want to measure the battery level of the lipo.

  • Should I use a step up module to 5V? Battery with step up converter

  • How can I measure it? I read that you can't just use analogRead because the lipo itself is the reference.

Thanks in advance!

  • Pro Micro uses the '32U4 processor? ww1.microchip.com/downloads/en/DeviceDoc/… Maximum Frequency – 8MHz at 2.7V - Industrial range – 16MHz at 4.5V - Industrial range - so you are operating out of spec with 16 MHz crysta;/resonator and 3.7V-4.2V LiPo battery. The '32U4 has a Selectable 2.56V ADC Reference Voltage, so you can use the Internal Aref voltage (vs the default External setting), divide down the battery voltage to be less than 2.56V max, and measure that way. Results may not be accurate if Vcc is < 5V with 16 Mhz clock.
    – CrossRoads
    Commented Jan 2, 2020 at 14:03
  • 1
    But if I use a step up converter and a voltage divider I should be able to measure it? How do I have to wire it?
    – Robbe
    Commented Jan 2, 2020 at 14:07

1 Answer 1


The reference voltage for analogRead should be from the regulated 5V line, not from the unregulated input to the Arduino.

The real problem is that the voltage out of the battery will drop with current load. You're supposed to measure either the unloaded battery, or under a known, controlled load.

You ask "Should I use a step up module to 5V?" The answer is yes, but that's unrelated to your voltage measurement question. An Arduino requires a source of regulated 5V. The internal voltage regulator is a linear regulator that requires somewhat more than 5V as input (7.5V is about right.) You can't power the internal voltage regulator with a single 3.7V lipo battery. You'd need a step-up regulator, and with that, you could bypass the internal regulator on the Arduino (assuming your step-up regulator puts out 5V.)

  • But better is a step up to 7.5V then?
    – Robbe
    Commented Jan 2, 2020 at 13:46
  • No, there's no need for that. Step up to 5V, and then feed that into the 5V input of the Arduino. If you step up to 7.5V and feed that into the Arduino's VIN, it will just regulate the already-regulated 7.5V back down to 5V, turning 2.5v to heat.
    – Duncan C
    Commented Jan 2, 2020 at 14:59
  • 1
    So I step it up and feed it into the Vcc pin or the raw pin?
    – Robbe
    Commented Jan 2, 2020 at 15:16
  • 1
    Why wouldn't I just feed it to the Vcc? I'm only using one power source.
    – Robbe
    Commented Jan 2, 2020 at 23:03
  • 1
    And then I connect the positive wire of the battery with a voltage divider to an analog input and I can measure it?
    – Robbe
    Commented Jan 3, 2020 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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