A current source delivers a fixed amount of electrical current to a load regardless of the voltage required, while a current sink draws a fixed amount of current from a circuit regardless of the voltage across it. In a real circuit or installation, replacing a passive series resistor with an active current source sink stabilizes the current flow against fluctuating supply voltages and varying load resistances, ensuring precision in analog sensors, consistent LED brightness, and reliable industrial control loops. People commonly confuse true analog constant-current regulation with standard voltage sources (like a 12V battery) or with digital logic-level "sourcing and sinking" used in microcontroller GPIO pins, but the underlying physics and design goals are entirely different.
Sourcing, Sinking, and the Voltage Confusion
To design reliable analog circuits, you must separate the concept of voltage regulation from current regulation. A standard bench power supply or battery is a voltage source. It maintains a fixed voltage (e.g., 12.0V) and allows the load's resistance to dictate the current draw via Ohm's Law ($I = V/R$). If the load resistance drops, current spikes.
A current source sink flips this relationship. It dictates the current and dynamically adjusts its internal voltage drop to whatever the load demands, up to its maximum supply limit. Furthermore, hobbyists often confuse this with PLC or microcontroller terminology, where a "sourcing" GPIO pin outputs $V_{CC}$ (logic HIGH) and a "sinking" pin connects to GND (logic LOW). That is digital switching, not analog constant-current regulation. True current regulation requires active feedback, usually via a sense resistor and a transistor or dedicated IC.
| Topology | Regulated Parameter | Dynamic Output Impedance | Real-World Example / IC | Typical Use Case |
|---|---|---|---|---|
| Ideal Voltage Source | Voltage | 0 Ω (Theoretical) | N/A | Theoretical baseline |
| Ideal Current Source | Current | ∞ Ω (Theoretical) | N/A | Theoretical baseline |
| Adjustable Current Source | 10 µA to 100 mA | > 10 MΩ | LM334 / LM317 (High-Side) | Battery charging, LED strings |
| Discrete BJT Current Sink | 1 mA to 500 mA | ~50 kΩ to 200 kΩ | 2N3904 with sense resistor | Current mirrors, active loads |
| Multi-Channel LED Sink | Up to 120 mA/ch | Integrated PWM control | Texas Instruments TLC5940 | RGB LED matrices, signage |
Worked Numeric Example: Designing a 20mA Active LED Sink
Suppose you are designing an automotive dashboard indicator using a string of three standard red LEDs (forward voltage $V_f = 2.0V$ each). The automotive supply nominally sits at 12V but fluctuates between 11.0V (cranking) and 14.4V (alternator charging). If you use a simple series resistor to target 20mA at 12V, the current will drop to 13mA during cranking (dimming the LEDs) and spike to 28mA during charging (shortening LED lifespan).
Instead, we will design a low-side current source sink using a standard 2N3904 NPN bipolar junction transistor (BJT) to hold the current at exactly 20mA regardless of supply fluctuations.
The Math and Component Selection
Assumptions: Ambient temperature of 25°C, silicon BJT base-emitter voltage ($V_{be}$) at 0.65V, nominal 12V automotive system.
- Set the Base Voltage: We use a voltage divider or a reference to hold the BJT base at a fixed voltage. Let's use a simple 1.8V red LED as a crude voltage reference at the base. The voltage at the emitter ($V_e$) will be $V_{base} - V_{be} = 1.8V - 0.65V = 1.15V$.
- Calculate the Sense Resistor ($R_s$): The emitter resistor sets the current. Using Ohm's Law: $R_s = V_e / I_{target}$.
$R_s = 1.15V / 0.020A = 57.5\Omega$. We select the nearest standard E24 value: 56 Ω. - Verify Actual Current: $I = 1.15V / 56\Omega = 20.5mA$. This is well within the safe operating area for standard indicator LEDs.
- Resistor Power Rating: $P = I^2 \times R = (0.0205)^2 \times 56 = 0.023W$. A standard 1/4W (0.25W) through-hole resistor is more than adequate.
Where You Meet This in Practice
While discrete BJT sinks are great for bench projects and simple indicators, active current regulation is the backbone of several major industrial and commercial systems.
Industrial 4-20mA Current Loops
In industrial automation, sensors (like pressure transducers or RTDs) transmit data over long distances using a 4-20mA current loop. The transmitter acts as the current source, modulating its output between 4mA (0% scale) and 20mA (100% scale). The PLC analog input card acts as the current sink, typically passing the current through a precision 250 Ω shunt resistor to generate a 1-5V signal for the ADC. Because the loop regulates current, voltage drops across hundreds of feet of copper wire do not affect the signal accuracy, making it vastly superior to 0-10V voltage signaling in noisy plant environments. For a deeper look at loop physics, refer to National Instruments' guide on 4-20mA loops.
High-Power LED Drivers
Modern lighting relies entirely on current sinks. High-power LEDs are highly non-linear; a 0.1V increase in forward voltage can cause a massive spike in current, leading to thermal runaway. Dedicated LED driver ICs (like the TLC5940 or Mean Well LDD series) use internal MOSFET current sinks paired with PWM (Pulse Width Modulation) to regulate average brightness while maintaining strict peak current limits.
Digital Open-Drain Outputs
Protocols like I2C use open-drain (or open-collector) outputs. The microcontroller pin does not drive the line HIGH; it only acts as a switchable current sink to pull the line LOW. A physical pull-up resistor is required to bring the line HIGH. This allows multiple devices to share the same bus line without short-circuiting if one device drives HIGH while another drives LOW.
Compliance Voltage and Real-World Limits
The most common reason a current source sink circuit fails on the bench is ignoring the compliance voltage. An active current regulator cannot generate voltage out of thin air; it can only drop the voltage provided by the main supply rail.
Returning to our automotive LED example: We have three LEDs dropping 2.0V each (6.0V total). Our sense resistor drops 1.15V. The BJT requires a minimum collector-to-emitter saturation voltage ($V_{ce(sat)}$) of about 0.2V to remain in the active region and regulate current.
Minimum Compliance Voltage = 6.0V + 1.15V + 0.2V = 7.35V.
If your automotive battery drops below 7.35V during a severe engine crank, the BJT will saturate. It will act like a closed switch rather than a regulator, and the LED current will plummet based purely on the remaining voltage and the parasitic resistances in the circuit. When designing any current source sink, always calculate the maximum possible voltage drop of your load and ensure your minimum supply voltage exceeds that sum by at least 1V to 2V to maintain headroom for the regulating element.
Frequently Asked Questions
Can I put two current sources in series?
No. If you place a 10mA source in series with a 20mA source, they will fight each other. The 10mA source will limit the circuit, and the 20mA source will increase its internal voltage drop to the maximum rail trying to force 20mA, likely destroying itself or the power supply.
Can I put two current sinks in parallel?
Generally, no. Due to microscopic manufacturing tolerances, one sink will have a slightly lower sense threshold and will hog the majority of the current, leading to thermal runaway. If you must parallel them, use individual ballast resistors on each sink's emitter to force current sharing.
Is a current mirror a current source or a sink?
It can be either, depending on the transistor polarity. An NPN current mirror acts as a current sink (pulling to ground), while a PNP current mirror acts as a current source (pushing from $V_{CC}$). Both are foundational building blocks in operational amplifier design, as detailed in All About Circuits' semiconductor text.






