A constant current circuit maintains a fixed output current regardless of load resistance or supply voltage variations, up to its compliance voltage limit. While integrated regulators like the LM317 are popular, a discrete Bipolar Junction Transistor (BJT) constant current sink offers a lower dropout voltage, cheaper bill of materials, and a masterclass in analog feedback. This guide walks through the design, behavioral physics, and breadboard verification of an NPN-based constant current sink targeting a 20mA LED string.
The Core Topology: NPN Constant Current Sink
The circuit relies on a negative feedback loop created by an emitter sense resistor and a fixed base voltage reference. When the load attempts to draw more current, the voltage across the sense resistor rises, which reduces the base-emitter voltage ($V_{BE}$) and throttles the transistor back down.
To understand the signal flow, we map the circuit to five critical nodes:
- Node A ($V_{CC}$): The positive supply rail (e.g., 12V DC).
- Node B ($V_{LOAD}$): The junction between the positive supply and the load (LED string).
- Node C ($V_{C}$): The collector of the NPN transistor, connected to the negative terminal of the load.
- Node D ($V_{E}$): The emitter of the NPN transistor, connected to the top of the sense resistor ($R_{SENSE}$).
- Node E ($V_{B}$): The base of the NPN transistor, biased by a voltage reference (a standard LED in series with a current-limiting resistor).
A simple series resistor fails to regulate current if $V_{CC}$ sags or the LED forward voltage ($V_F$) shifts with temperature. An LM317 constant current regulator requires a minimum dropout voltage of roughly 3V ($V_{REF} = 1.25V$ plus $V_{CE(sat)}$). This discrete BJT topology requires only about 1.2V of headroom ($V_{CE(sat)} \approx 0.2V$ + $V_E \approx 1.0V$), making it vastly superior for low-voltage battery-powered LED drivers.
Component Specification Sheet
Below is the exact bill of materials for a 12V supply driving a 20mA load. These values are derived from standard E12/E24 resistor series and common jellybean components.
| Component | Designator | Value / Rating | Function in Topology |
|---|---|---|---|
| NPN Transistor | Q1 | 2N3904 (40V, 200mA) | Variable resistor / current throttling valve |
| Sense Resistor | R_SENSE | 56Ω, 1/4W, 1% | Converts load current to feedback voltage |
| Reference LED | D_REF | Standard Red (Vf ≈ 1.8V) | Provides stable base voltage reference |
| Base Resistor | R_BASE | 2.2kΩ, 1/4W | Limits current through D_REF to ≈4.6mA |
Behavioral Matrix: How the Circuit Reacts to Change
Understanding how a constant current circuit behaves under stress is what separates theoretical knowledge from bench-ready design. The following matrix details the physical response when specific parameters shift. For deeper theoretical backing on BJT operating regions, refer to the All About Circuits constant current tutorial.
| Parameter Changed | Effect on $I_{OUT}$ | Effect on $V_{CE}$ | Physical Mechanism |
|---|---|---|---|
| Increase $R_{SENSE}$ | Decreases | Increases | Higher $V_E$ reduces $V_{BE}$, throttling Q1 into a higher resistance state. |
| Increase $V_{CC}$ (Supply) | No change* | Increases | Q1 absorbs the excess voltage. (*Micro-amp increase due to the Early effect). |
| Increase Ambient Temp | Increases slightly | Decreases | $V_{BE}$ drops by ≈2mV/°C. $V_E$ rises, pushing $I_{OUT}$ higher. |
| Decrease Load Resistance | No change | Decreases | Q1 opens further to maintain $V_E$, dropping more voltage across the load. |
Design Walkthrough: 20mA LED Driver
Let’s synthesize the math for a 20mA target current using a 12V supply. We will use a standard red LED as our voltage reference because its forward voltage ($V_F$) is highly stable at low currents and tracks the temperature coefficient of the BJT’s base-emitter junction, providing passive thermal compensation.
Step 1: Calculate the Sense Resistor ($R_{SENSE}$)
The base voltage ($V_B$) is clamped by the red LED at approximately 1.8V. The base-emitter junction of the 2N3904 drops about 0.65V ($V_{BE}$). Therefore, the voltage at the emitter ($V_E$) is:
V_E = V_B - V_BE = 1.8V - 0.65V = 1.15V
Using Ohm’s Law to find the resistor needed for 20mA (0.020A):
R_SENSE = V_E / I_OUT = 1.15V / 0.020A = 57.5Ω
The closest standard E24 value is 56Ω. Using 56Ω yields an actual current of 1.15V / 56Ω = 20.5mA, which is perfectly safe for standard indicator LEDs.
Step 2: Calculate the Base Resistor ($R_{BASE}$)
The reference LED needs about 5mA to maintain a stable 1.8V drop. With a 12V supply:
R_BASE = (V_CC - V_LED) / I_LED = (12V - 1.8V) / 0.005A = 2040Ω
We select the standard 2.2kΩ resistor, yielding a reference current of roughly 4.6mA.
Step 3: Verify Power Dissipation
Check the Texas Instruments 2N3904 datasheet for limits. If the load is shorted, Q1 must drop the full 12V minus $V_E$ (1.15V), leaving 10.85V across the collector-emitter junction. Power dissipation in Q1 would be 10.85V * 0.0205A = 222mW. The 2N3904 is rated for 625mW at 25°C, so we are well within the safe operating area (SOA) without a heatsink.
Failure Modes: What Breaks at the Extremes?
A robust design anticipates component failure. Here is how the topology behaves when things go wrong on the bench or in the field.
- Shorting $R_{SENSE}$: If the sense resistor shorts (or a solder bridge forms), $V_E$ drops to 0V. The full 1.8V from the reference LED is applied directly to the base-emitter junction. Q1 will saturate violently, acting as a closed switch. Current will spike, likely destroying the load LEDs and potentially melting Q1’s internal bond wires.
- Opening $R_{SENSE}$: If the sense resistor cracks open, the emitter is disconnected from ground. No current can flow through the collector. $I_{OUT}$ drops to 0mA. The circuit fails safe.
- Opening the Load: If the LED string disconnects, $I_{OUT}$ becomes 0mA. The collector voltage (Node C) floats up to $V_{CC}$ (12V). $V_{CE}$ becomes 10.85V. Since the 2N3904 has a $V_{CEO}$ rating of 40V, the transistor survives easily. Warning: If your supply is 48V, an open load will exceed the 40V breakdown voltage and avalanche the transistor.
- Reversing the Load Polarity: If the LED string is plugged in backward, the LEDs will not light. The transistor’s collector-base junction may become forward-biased depending on the exact node voltages, but generally, the circuit just sits in cutoff. No catastrophic failure, but no light.
Breadboard Testing: Step-by-Step Verification
Do not trust the math until you verify it with a multimeter. Follow this exact sequence to validate your constant current circuit on a solderless breadboard.
- Build the Reference Leg: Insert the 2.2kΩ resistor and the red reference LED in series from the 12V rail to ground. Test: Measure across the LED. You should read between 1.75V and 1.85V.
- Insert Q1 and $R_{SENSE}$: Place the 2N3904 (flat side facing you: Emitter, Base, Collector). Connect the base to the anode of the reference LED. Connect the 56Ω resistor from the emitter to ground.
- Measure Quiescent Emitter Voltage: With no load connected, power the circuit. Measure the voltage across the 56Ω resistor. It should read 0V because there is no collector path to complete the circuit.
- Connect the Load: Power down. Connect your LED string between the 12V rail and the collector of Q1. Power up.
- Verify Constant Current: Set your digital multimeter (DMM) to DC millivolts. Measure directly across the 56Ω sense resistor. You should read approximately 1.15V (1150mV). Using Ohm’s law ($I = V/R$),
1.15V / 56Ω = 20.5mA. - Test Compliance (Voltage Variation): Drop your bench supply voltage from 12V down to 5V. The DMM reading across the sense resistor should remain locked at 1.15V. When you drop the supply below 3V, the reading will suddenly collapse—this is the compliance voltage limit, where Q1 runs out of headroom and enters saturation.






