Does anyone know of a Voltage Controlled Current Source IC? Or do you know how I can build one with as few other components as possible taking up a minimal amount of space?

current range needed is from 0mA to 350mA

  • \$\begingroup\$ I used one as an example in this question: electronics.stackexchange.com/questions/1024/… \$\endgroup\$
    – markrages
    Sep 23, 2011 at 5:04
  • 1
    \$\begingroup\$ What voltage compliance do you need? \$\endgroup\$
    – markrages
    Sep 23, 2011 at 5:05
  • 1
    \$\begingroup\$ I agree, also, what precision, what noise levels... Are any of these important, if you need just a quick and dirty and nothing of high quality need, these make many options, if you have some tough constraints people will assume a simpler design unless they know otherwise. \$\endgroup\$
    – Kortuk
    Sep 23, 2011 at 8:20
  • \$\begingroup\$ A few more requirements are important: Do you need high linearity (how much)? Do you need the current source to work at arbitrary potentials (or is it ok if the current source potential is fixed and somewhere close to GND or close to Vcc)? Those are important parameters that lead to completely different designs. \$\endgroup\$
    – Curd
    Oct 27, 2016 at 20:49

4 Answers 4


Since you haven't specified output impedance, accuracy, or much anything else except as few components as possible, this is what you want:

This makes use of the propoerties of a bipolar transistor where its collector current is largely not dependent on collector voltage, and the B-E drop is reasonably fixed. The voltage on the emitter will be close to Vin + 700 mV. The power voltage minus that will be across the resistor. That voltage divided by the resistor value will be the current thru the resistor, which is close to the collector current.

Let's say you want the 0-350 mA output current range controlled by a 3.5 V range of voltage. In that case, R1 would be 100 Ω, and the control voltage range would be PWR - 700 mV to PWR - 4.2 V.

This isn't what I would call a "precision" current source, but it is actually good enough for many real applications. It can be made more precise by putting a opamp around it to more accurately control the voltage across the resistor. Once you have that, you can use a PFET instead of a bipolar transistor because the feedback will compensate for the G-S voltage not being as fixed as the B-E voltage of a bipolar transistor. The advantage of a FET is that the drain current equals the source current (and therefore the resistor current), whereas with a bipolar the collector current is the emitter current minus the small base current. However, since your primary goal is simplicity without mention of other parameters, such more complicated topologies would just be overkill.

  • \$\begingroup\$ Another way of saying this is that a bipolar transistor is a transcoductance amplifier, although further from the ideal than an OTA or an opamp-based solution. \$\endgroup\$ Dec 10, 2014 at 23:33
  • 1
    \$\begingroup\$ @user: No, not really. A bipolar transistor is a current amplifier. In other words, the output current is the input current times the gain. A transconductance amplifier means the output current is the imput voltage times the gain. The circuit above is overall a transconductance amplifier, but that is not a good way to look at just a bare bipolar transistor. \$\endgroup\$ Dec 10, 2014 at 23:36
  • \$\begingroup\$ Indeed, I stand corrected. \$\endgroup\$ Dec 10, 2014 at 23:41
  • \$\begingroup\$ Also by lack of "precision" I assume you primarily mean deviation from linearity. (Saying this more for the benefit of the user asking the question.) \$\endgroup\$ Dec 10, 2014 at 23:50
  • 1
    \$\begingroup\$ @user: There will be some non-linearity, but mostly the lack of precision comes from various small errors in this circuit. For example, the output current is the resistor current minus the base current, the B-E drop isn't totally fixed, and collector current isn't totally independent of collector voltage. All these things together break the rule of constant current out for a given input voltage. However, this circuit is still enough of a voltage-controlled current source to be useful in some real world applications. All circuits will have errors, so it's a matter or degree. \$\endgroup\$ Dec 10, 2014 at 23:55

I believe all the solutions on this page are ground-referenced. That is, if there are long wires, less than ideal ground impedance, high ground currents or something they won't be precise.

But this can be eliminated by so-called Howland current pump. The key benefit here is that it does not require the load to be connected to any power rail. Essentially, it's a differential amplifier. Please have a look on the following schematic.

R5 is the current sensing resistor, R6 is the load. The rest (R1-R4) are part of the differential amplifier. The voltage across R5 is equal to V3. Hence, the current through it will be \$I_{R5} ~= V3 / R5\$. If R6 << R4, then \$I_{R5} \approx I_{R6}\$. In this schematic there is always a small output error because part of the output current flows through R4 as well. But this can be eliminated using, e.g., voltage buffer between R4 and R5.

[Howland charge pump (minimal version)[1]

For more information see the following materials:

"What is a Howland Current Pump?" by Kelvin Le

"Difference Amplifier Forms Heart of Precision Current Source"

"AN-1515 A Comprehensive Study of the Howland Current Pump"

"Tame those versatile current source circuits"

"EEVblog #579 - Precision Low Current Source" (not Howland pump, but interesting)

  • 1
    \$\begingroup\$ Please add some information about Howland pumps from those links so your answers isn't so dependent on external links. \$\endgroup\$
    – Null
    Jul 13, 2016 at 14:41
  • \$\begingroup\$ I added a minimal example of Howland current pump and explained how it works. \$\endgroup\$ Jul 14, 2016 at 9:43

What Peter said.

NB the following is not just a LMGTFY answer (although looking at Google before you ask questions like that is always wise.) The following points out a feature which many aren't aware of.

Going to Google and searching for "voltage controlled current source" (try with and without quotes) and then changing to images (or change first) produces A vast number of images of voltage controlled current sources AND each one is hot linked to a related webpage. A vast resource. Not all of these will be useful or relevant - but many will be.

enter image description here

Via Google images search:

This webpage VCVS design


  • One of the challenges in the circuit design is building a good current source, especially when the load is variable or the current must be controlled with a voltage source.
    Figure 1 shows a simple voltage-controlled current source by using two operational amplifiers, which gives us a good range of current and maximum load with a simple and low cost design. The idea is applying a voltage on a reference resistor (or resistors) with low thermal coefficient; the current passing through this resistor will be the output current

Relating to this picture.

enter image description here

From this page you get the following diagram which is close to what Mike was suggesting.

enter image description here

And MUCH more - see images page above.

  • \$\begingroup\$ I had an extra current sense amplifier because I didn't want to require a rail-to-rail input on the op amp. That last circuit needs one because the voltage at U1A pin 2 is going to be near ground most of the time. \$\endgroup\$ Sep 23, 2011 at 11:44

I'd just use an op-amp and a current sense amplifier.

  • Get a current sense resistor and a MOSFET.
  • Put them in series with your load. Order and polarities depend on how you want to deliver your current: fixed high or low rail, or neither?
  • Hook the current sense amp's inputs across the resistor.
  • Hook the output of the current sense amp to the + input of the op amp.
  • Hook your current-setting voltage source to the - input of the op amp.
  • Hook the output of the op amp to the FET's gate.
  • Hook a 0.1 uF capacitor from the op amp output to its - input, to stabilize it.

That's where I'd start, at least. The basic idea is that you use a current sense resistor to convert current to voltage, the current sense amplifier gains it up and removes the large common mode voltage, then the op amp looks at the difference between the set current and the detected current and adjusts the gate drive accordingly. The transistor acts like an inverter stage, so the feedback gets connected to the op amp's + instead of - so you don't oscillate.

You'll probably need to test its stability over various noise frequencies and adjust the compensation capacitance, or replace it with a different compensation network. You might also want to put in a resistor divider feedback loop to cut the op amp's gain down, but I'm not sure you need to (the main loop may be enough to do that).


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.