Adjustable LiPo Charger

I’m wondering if it would be possible to create a 1s LiPo Charger of adjustable current with LCD display with an Arduino?

I could use an analog pin to read voltage and have it stop when it gets to 4.2v, or change charge current when it gets to whatever voltage I want (i.e. trickle charge), but I’m not sure how one would go about adjustable current regulation with 10mA increments.

Up to 2000mA charge current, 10mA increments, and maybe a short circuit detection?

KpilotRCHelis: I'm wondering if it would be possible to create a 1s LiPo Charger of adjustable current with LCD display with an Arduino?

I could use an analog pin to read voltage and have it stop when it gets to 4.2v, or change charge current when it gets to whatever voltage I want (i.e. trickle charge), but I'm not sure how one would go about adjustable current regulation with 10mA increments.

Up to 2000mA charge current, 10mA increments, and maybe a short circuit detection?

Measure the voltage across a small value series resistor to get the amps Use PWM into a Mosfet to control the current.

There are digital potentiometers on the market, which have variable resistance adjustable by a digital pulse from a microprocessor. If you take a variable voltage regulator, like the LM317, its output voltage is set by the ratio of two resistors. Using a digital potentiometer for one of the resistors gives you a voltage regulator controlled by an Arduino.

I built a lab power supply this way, with voltage adjustable from 1.5 to 28 volts, in 0.025v. steps. I also built into it a battery charger, by monitoring current (voltage drop through a resistor), and bumping the voltage up and down to get the required current flow.

It works very well for the battery types I'm charging, but you should be sure you understand the complete charging cycle for your batteries before you start. Also, getting to two amps will take a voltage regulator enhanced by a bypass power transistor. Lots of circuits like that out on the internet.

Good luck.