Analog electronics, Basic concepts, Hobby, Projects, Tutorial

Current sources

The current sources are electronic circuits that provide a constant current. In this post, are shown some examples.

Ideal and real current sources

Ideally, a current source provides constant current independent of load resistance or impedance. In practice, the current source has a parallel resistance that is very high, but not infinite. Therefore, the provided current will decrease with the increase of voltage drop on load, due to impedance increase.

real current sources
A real current source can be modeled as an ideal current source with a source resistor R_{S} in parallel. Source: electronics lab.

Why use current sources?

In many situations, it’s necessary to provide a constant current independent of voltage drop on load. Some application examples:

  • Batteries are recharged with current sources.
  • For resistive heating systems to keep a constant temperature, the current also must be constant.
  • LEDs that need to keep the brightness use this type of source.

The simplest current source

The simplest current source consists of a voltage source in series with a resistor.

the simplest of current sources

This configuration is an economical solution to charge batteries. However, considerable power is wasted by the series resistor. In addition to this, the current changes when load impedance changes.

Designing some current sources

Current source with voltage regulator

The voltage regulator LM317T can be used as a constant current source.

LM317T terminals
The LM317T terminals seen from the front. Source: datasheet da Texas Instrument.

Warning: to this circuit to work, you must use LM317T, not LM317. Otherwise, the output current will change if voltage input Vin changes.

current source with LM317T
The schematics of current source with LM317T. Was taken from the component’s datasheet, where there are many application circuits using this regulator.

The equation to calculate current output I_{o}.


The R value that I choose was 1 kΩ. Therefore, I_{o} must be 1.25 mA.

current source LM317T on protoboard
The circuit on a protoboard.
Current source with LM317T
The measured value was 1.3 mA. When varying the input voltage, that comes from the power source, current must keep its value.
Even adding LEDs, the current output is constant.

Current mirror

current mirror source

In this circuit, the current that passes through R resistor has the same value as current I through T2’s collector. In this post, are shown current mirrors which use BJT transistors, this component’s operation is in the following link.

How BJT transistor works?Click here

To avoid burning transistors it’s necessary to put a resistor between ground and emitter terminal in each transistor.

  • Both Re1 and Re2 are 68 Ω.
  • The value Vcc from the source is 12 V.
  •  T1 and T2 are TIP122. Because lower power transistors will heat up too much, could burn.
  • I current must be 30 mA.

Calculating R using Kirchhoff’s voltage sum law. The base-emitter voltage Vbe is 0.7 V.




Was used the commercial value 330 Ω.

current sources current mirror
The current mirror in a protoboard.
measured value
The measured value was close to calculated.

Adding more load, value is approximately the same.

current sources 1 led
current sources 3 leds
current sources mirrors
It’s possible to connect with the base of many transistors, to obtain more currents of the same value. Source: All about circuits.
current mirror with pnp
The current mirror also can be assembled with pnp transistors.

Designing a current mirror with pnp. This time the used model is TIP127.

  • The supply voltage is 10 V.
  • Resistors on emitter terminals have 150 Ω.
  • For Rc, I choose the commercial value 470 Ω.

Calculating I2 current.

V=I2\cdot Re1+Vbe+I2\cdot Rc

10=I2\cdot 150+0,7+I2\cdot 470


current mirror with pnp
Assembling the circuit on protoboard, the measured value was 13.5 mA.
Liked it? Take a second to support Electrical e-Library on Patreon!

About Pedro Ney Stroski

Leave a Reply

Your email address will not be published. Required fields are marked *