When you read an electrical circuit diagram for a precision LED driver or sensor bias network, you are looking at a topology designed to defeat Ohm’s Law’s natural tendency to let current fluctuate with voltage. A standard series resistor fails the moment your supply voltage sags or your load’s forward voltage shifts with temperature. To hold current steady, you need an active feedback loop. The most elegant, low-dropout solution for sub-50mA loads is the Bipolar Junction Transistor (BJT) constant current sink.

This guide decodes the electrical circuit diagram for a discrete BJT current sink, walks through the exact component math, and provides a failure-mode matrix so you know exactly what breaks when a solder joint goes cold.

The Anatomy of a Constant Current Electrical Circuit Diagram

A constant current sink regulates the current flowing to ground, regardless of the voltage applied to the load. In our target topology, the circuit relies on four critical nodes:

  • VCC: The main supply rail (e.g., 5V DC).
  • V_REF: The base bias node, held at a fixed voltage to establish the reference.
  • V_SENSE: The emitter node, where the voltage drop across the sense resistor is measured.
  • V_OUT: The collector node, which connects to the cathode of your load (the LED or sensor).
Why this topology over the alternatives?
You could use an LM317 linear regulator configured as a current source, but the LM317 requires a minimum dropout voltage of roughly 2.0V, wasting headroom and generating excess heat. A simple series resistor is cheaper but offers zero regulation if the LED heats up and its forward voltage (Vf) drops. The BJT sink topology requires only about 0.8V of headroom (0.6V VBE + 0.2V VCE(sat)) and provides tight, temperature-compensated regulation for pennies.

Topology Decision Tree: Picking Your Current Regulator

Not every load requires a discrete transistor network. Use this decision matrix to select the right topology for your electrical circuit diagram before you start calculating values.

Load Current Dropout Requirement Topology Choice Concrete Part Pick
< 50mA < 1.0V (Low Headroom) BJT Current Sink 2N3904 NPN Transistor
50mA - 1.5A < 1.5V MOSFET + Op-Amp Sink IRLZ44N + LM358 Op-Amp
> 1.5A High Efficiency Needed Switching Buck Converter LM2596 Constant Current Module

Default Recommendation: For driving standard 20mA indicator LEDs, optocoupler inputs, or low-power sensor biasing from a 3.3V or 5V microcontroller rail, the BJT Current Sink using a 2N3904 is the undisputed bench champion. It is the topology we will design below.

Design Walkthrough: Calculating Real Component Values

Let’s design an electrical circuit diagram to drive a standard red indicator LED at exactly 20mA from a 5V USB rail. According to the ON Semiconductor 2N3904 Datasheet, the base-emitter voltage (VBE) is typically 0.6V when the transistor is in its active region.

Step 1: Establish the Voltage Reference (V_REF)
Instead of using a Zener diode—which are notoriously poorly specified and noisy at low currents—we will use a standard 5mm Red LED as our voltage reference. A red LED has a highly stable forward voltage (Vf) of roughly 1.8V at low current. We tie the base of the 2N3904 directly to this reference LED. Therefore, V_REF = 1.8V.

Step 2: Calculate the Sense Resistor (R_SENSE)
The voltage at the emitter (V_SENSE) will always be V_REF minus the VBE drop of the transistor.
V_SENSE = 1.8V - 0.6V = 1.2V.
To get 20mA (0.020A) of current, we use Ohm’s Law:
R_SENSE = V_SENSE / I_TARGET = 1.2V / 0.020A = 60 ohms.
Looking at the standard E96 1% resistor series, the closest value is 62.0 ohms.
Actual Current = 1.2V / 62Ω = 19.35mA. This is a perfectly safe, precise drive current for a 20mA rated LED.

Step 3: Calculate the Base Bias Resistor (R_BIAS)
We need to supply enough current to light the reference LED and feed the base of the 2N3904. A safe bias current for the reference LED is 5mA.
R_BIAS = (VCC - V_REF) / I_BIAS = (5V - 1.8V) / 0.005A = 640 ohms.
The nearest standard 5% value is 680 ohms, yielding a bias current of ~4.7mA.

Bench Trick: As detailed in Analog Devices' guide on current sources, using a forward-biased diode or LED as a reference provides natural temperature compensation. If the ambient temperature rises, the VBE of the 2N3904 drops, but the Vf of the reference LED drops by a nearly identical amount, keeping V_SENSE—and therefore your load current—rock solid.

Behavior Matrix and Failure Mode Extremes

A robust electrical circuit diagram accounts for what happens when components fail. Here is the failure-mode contrast for our BJT sink topology. Understanding these extremes is critical when troubleshooting a dead board.

Component Normal Behavior If Component OPENS If Component SHORTS
R_SENSE (62Ω) Drops 1.2V to set 19.3mA Current drops to 0mA. Load turns off safely. V_SENSE drops to 0V. BJT saturates fully. Current spikes, likely burning out the load LED.
Ref LED (V_REF) Holds base at 1.8V Base floats. BJT turns off or leaks randomly. Load flickers or dies. V_REF drops to 0V. V_SENSE becomes 0V. BJT turns off. Load dies.
2N3904 BJT Modulates V_CE to hold I_C at 19.3mA Collector-Emitter path breaks. Current = 0mA. VCC shorts through the load and R_SENSE to ground. Massive current spike; R_SENSE may catch fire.
R_BIAS (680Ω) Limits current to Ref LED to ~4.7mA Ref LED turns off. Base loses bias. Load turns off. 5V is applied directly to Ref LED. LED burns out instantly, taking the BJT base down with it.

Step-by-Step Breadboard Validation

Do not trust your electrical circuit diagram until you have verified it on the bench. Follow this exact sequence to validate the 19.35mA BJT sink without risking your load.

  1. De-energize and Build: With the power supply OFF, insert the 2N3904, the 62Ω sense resistor, the 680Ω bias resistor, and the reference red LED into the breadboard. Do not connect your target load LED yet.
  2. Verify the Reference: Power the board to 5.0V. Use your digital multimeter (DMM) in DC voltage mode. Place the black probe on ground and the red probe on the base of the 2N3904 (V_REF node). You should read between 1.75V and 1.85V. If you read 0V, check your R_BIAS connections.
  3. Verify the Sense Voltage: Move the red DMM probe to the emitter of the 2N3904 (V_SENSE node). You must read exactly 1.2V (±0.05V). If V_SENSE is 0V but V_REF is 1.8V, your 2N3904 is either dead, inserted backward, or your sense resistor is open.
  4. Measure the Short-Circuit Current: Turn off the power. Set your DMM to the mA current range. Place the DMM probes across the V_OUT node (collector) and VCC. This effectively shorts the load path through the meter. Power the board on. The DMM should read 19.3mA (±1mA).
  5. Sweep the Supply: While monitoring the current, drop your bench supply voltage from 5.0V down to 3.0V. The current should remain locked at ~19.3mA until you hit roughly 2.0V, at which point the BJT runs out of headroom and enters saturation, causing the current to drop off. This confirms your dropout voltage is under 1V.
  6. Connect the Load: De-energize, remove the DMM, and wire your actual load LED between VCC and V_OUT. Power up. The LED will illuminate at a perfectly regulated, thermally stable brightness.

By anchoring your design to a physical voltage reference and a precision sense resistor, you transform a theoretical electrical circuit diagram into a bulletproof, real-world power stage. Stick to the 62Ω / 680Ω / 2N3904 combination for your next 20mA indicator requirement, and you will never have to debug a flickering LED again.