I am trying to create a constant current source of 100 mA to charge a single cell Li-ion battery. I see the LM317 thrown around a lot as a solution, but I'm looking for something that does not require a 1.2 V drop (Due to the Vref = 1.2 V for an LM317). The problem is when I look at more modern LDOs, they tend to have a ground as well as a ADJ pin, and I'm wondering if these can be floated the same way the traditional LM317 regulators could. Once such device I was looking at was a ADP123AU due to it having a Vref of 0.5 V.

enter image description here

So looking at the block diagram they do not mention what the 0.5 V is ref to but it would have to be ground as far as I can understand, so if you float ground as shown, would it work? Or is there another small regulator / specialty IC that can do this?


simulate this circuit – Schematic created using CircuitLab

I am looking to do this as simple as possible, something such as the LM317 with a single resistor. Multiple op amps and transistors is something I would like to avoid.

Would what I proposed in my question work?

  • \$\begingroup\$ Perhaps you know this and your current source is intended to be part of a more complex circuit, but charging a Li-ion cell is a bit trickier than just supplying a constant current - see digikey.com/en/articles/techzone/2012/sep/… for example. If this is for a real application rather than just experimentation, you might be better off using a specific Li-ion charger IC (or a commercial charger). \$\endgroup\$
    – nekomatic
    Commented Oct 19, 2015 at 8:24
  • \$\begingroup\$ I am aware thanks, I need a battery stored long term. Most of the commercial IC's charge quickly to 4.2V. I am basically trickle charging via solar to ~4V so the cell is not under as much voltage pressure. I do not need full capacity, just an occasional blast of current for a GSM modem. \$\endgroup\$
    – MadHatter
    Commented Oct 19, 2015 at 15:09
  • \$\begingroup\$ This is a rather old question, but I'm facing a similar issue. I've found these "current limiting diodes" AL5809. They seem to be PWM dimmable and can be paralleled to increase output current. They have a 2.5V to 60V operating voltage, so this is not suitable for author's application, but this is definitely smallest BOM/footprint if you can spare 2.5V. farnell.com/datasheets/2040081.pdf \$\endgroup\$
    – thu87l
    Commented Nov 5, 2021 at 12:33

3 Answers 3


You can use this idea: -

enter image description here

The voltage across R1 sets the voltage that is forced across R2 by the op-amp's negative feedback. Let's say that voltage is 0.1 volts and let's say R2 is 1 ohm. This means that when 0.1 volts is forced across R2 there can only be 100mA flowing through it.

99%+ of that current flows through the load so it's basically a constant current generator. Less than 1% flows into the output of the op-amp to drive the base.

Sounds simple but you'll need a rail-to-rail op-amp with inputs capable of getting to within 100mV of the positive rail. Not too tricky of course. The voltage across R1 being set to 0.1V won't be stable if the V+ rail moves about so some kind of positive supply referenced shunt regulator can be used and this can be further potted down to provide 0.1 volts across R1.

Saturation of the PNP might be 100mV so overall, this design could be expected to "drop" about 200mV. It's a circuit I use a lot for the excitation of strain gauges.

  • \$\begingroup\$ This is a nice option, I'm not sure I'll use it in my application, I'm sort of looking for the shortest BOM possible, but I'll keep it in mind for the future. \$\endgroup\$
    – MadHatter
    Commented Oct 19, 2015 at 15:11

Any op amp that includes V+ in it's common mode range (ie rail to rail input range)can be used to monitor a high side current sense resistor and to compare the voltage drop with a high side referenced voltage.

A current mirror is often used in this specific applicatiopn to "reflect" a high side referenced voltage to ground (usually with amplification). Specialist ICs are available to do this task but a pair of well-enough matched transistors can be used for the purpose.

High side voltage sensing with opamps:

If using non rail-to-rail opamps the voltages on either side of the reference resistor may be divided down with a resistive divider to get the voltages within the available range.

Here is an example from fig 3 here - Planet Analog: Understand low-side vs. high-side current sensing

They divide the voltages before and after Vsense (Vcommon and say Vs) by 10:1 (9K:1k) but in doing so also reduce the delta voltage across the sense resistor by 10. Better where the absolute voltage allows is to divide by as little as possible. eg if the opamp will allow Vin to be within 1.5V of V+ and a 12V supply is used then Vin max = 12-1.5V = 10.5V or 10.5/12 = 0.875 of V+. To err on the safe side limit Vin max to say 2/3 = 0.66 of Vsupply or 8V in this case.
Here set R1 = 10k say and R2 = 20K or 22k using E12 resistor values. They show amplifier A2 with a gain of 250 - rather more than you'd hope to need in most cases. Amplifier A1 needs to have a low enough input offset voltage to deal with the delta V experienced. If you set V_Rsense max = 0.5V and want 1% resolution then 1% of Vsense_max = 0.5V x 1% = 5 mV. A1 now sees 2/3 of that due tpo the resistor dividers or about 3 mV per 1% step in Vsense. Most common op-amps (evenones with otherwise quite good specs) can have Vinput_offset of more than 3 mV - but there are also many available with far far less.

enter image description here

Application note from MSU using TI ICs

He uses eg the TI INA138 current sense IC - datasheet here
Gains of 1 to 100 from Rsense to Rl may be obrained with a maximum drop across across Rsense of 0.5V (lower OK).

From the data sheet

enter image description here

enter image description here

Examples of dedicated ICs:


Other LT related solutions

A zillion DIY solutions

ADP122 datasheet


My Investigation

So, I downloaded LTSpice, and found an appropriate LDO Regulator made my LT that met my specifications of a low dropout and low Vref. I created the example circuit from above and simulated it.


After testing the circuit shown below with both a small Rload and large Rload (full and empty battery) I discovered that 'any' adjustable regulator even with a ground can be floated as the old LM317 could. I suspect that this is due to the small Quiescent current that can be sunk by just about any load.

The image shows a 20mA current source that is comprised of 2 components, a LDO and resistor.

enter image description here

  • \$\begingroup\$ It's not bad but it still drops 200 mV plus a bit for the 20mA! \$\endgroup\$
    – Andy aka
    Commented Feb 24, 2016 at 23:18

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.