To use a Bipolar Junction Transistor (BJT) as a switch, you must drive it into either the cutoff region (open switch, zero base current) or the saturation region (closed switch, maximum base current). For a standard 12V, 2A DC motor controlled by a 5V microcontroller, you need an NPN Darlington BJT like the TIP120, paired with a 330Ω base resistor to deliver sufficient base current and a 1N4007 flyback diode across the motor terminals.
While relays and contactors dominate high-voltage AC panels, the BJT remains the undisputed king of low-voltage DC switching on the workbench. Below is the complete decision framework for sizing, wiring, and testing a BJT for your next build.
Translating Electromechanical Ratings to Solid-State BJTs
Many makers transition from electromechanical relays to solid-state transistors and get tripped up by the datasheet terminology. A BJT does not have a physical coil or mechanical contacts, but the functional equivalents map directly. Here is how to read a BJT datasheet when you are used to relay specs, and which rating column actually governs your load.
| Electromechanical Term | BJT Equivalent Parameter | What Governs the Load (The Real Limit) |
|---|---|---|
| Coil Voltage | Base-Emitter Voltage (Vbe) & Base Current (Ib) | Your GPIO logic level (3.3V or 5V) and the base resistor value. You must supply enough Ib to force saturation. |
| Contact Rating | Collector Current (Ic) & Vce(max) | Continuous DC load current and supply voltage. Always derate Ic by 20% for thermal headroom. |
| Breaking Capacity | Safe Operating Area (SOA) & Short-Circuit Withstand | Inrush currents and inductive kickback survival. This is the column that governs inductive and motor loads. |
Control vs. Load Wiring: Base Drive and Collector Switching
Wiring a BJT requires separating the low-power control side (the 'coil' equivalent) from the high-power load side (the 'contact' equivalent). We use low-side switching for NPN BJTs, meaning the load is connected to the positive supply, and the BJT switches the ground path.
The Control Side (Base Wiring)
The base pin requires a current-limiting resistor to prevent your microcontroller GPIO from sourcing lethal current to the transistor.
- Standard BJT (e.g., 2N3904): Vbe(sat) is typically 0.7V.
- Darlington BJT (e.g., TIP120): Vbe(sat) is much higher, typically 1.5V to 2.5V due to the stacked internal junctions. Failing to account for this is the #1 reason hobbyist Darlington circuits fail to switch.
Base Resistor Math: R = (V_GPIO - Vbe) / Ib. If using a 5V Arduino to drive a TIP120 (Vbe = 2.0V) and you need 10mA of base current: R = (5 - 2) / 0.01 = 300Ω. Use a standard 330Ω resistor.
The Load Side (Collector Wiring & Flyback Protection)
The collector connects to the negative terminal of your load; the emitter connects to system ground.
Selection Decision Path by Load Type
Not all loads behave the same way. Use this decision tree to select the right BJT topology and protection scheme based on what you are switching.
| Load Type | Examples | BJT Selection Criteria | Required Protection |
|---|---|---|---|
| Resistive | LED strips, heating elements, incandescent bulbs | Standard NPN (2N2222, 2N3904). Ensure Ic rating exceeds load current by 20%. | None required beyond standard base resistor. |
| Inductive | Solenoids, relay coils, small DC fans | Darlington NPN (TIP120) or Logic-Level MOSFET. Must handle high Vce spikes. | Flyback diode across load. 1kΩ pull-down on base to prevent floating turn-on. |
| Motor (High Inertia) | Drive motors, servos, pumps | Darlington NPN on a heatsink, or H-bridge IC. High SOA required for stall currents. | Flyback diode + RC snubber network across motor terminals to dampen brush noise. |
For deeper component selection and SOA curve analysis, refer to the ON Semiconductor BJT Portfolio or review fundamental switching theory at All About Circuits.
Testing Dead and Live: Multimeter Diagnostics
When a circuit fails, you need to know if the BJT is blown or if the drive signal is missing. Here is how to test it with a standard digital multimeter (DMM).
Dead Testing (Power Removed)
Set your DMM to Diode Test Mode. Isolate the BJT from the circuit if possible, or ensure power is completely off and capacitors are discharged.
- Base to Emitter: Red probe on Base, Black on Emitter. You should read a forward voltage drop between 0.6V and 0.8V (or ~1.5V for a Darlington). Reverse the probes: it should read 'OL' (open loop).
- Base to Collector: Red on Base, Black on Collector. Expect the same forward drop. Reverse should read 'OL'.
- Collector to Emitter: Should read 'OL' in both directions. If you read a short (0.00V or near 0Ω) between Collector and Emitter, the BJT has suffered thermal runaway or a voltage punch-through and is dead.
Live Testing (Power Applied)
Set your DMM to DC Voltage. Power the circuit and command the GPIO to turn the load ON.
- Measure Vce (Collector to Emitter): A properly saturated BJT acting as a closed switch should have a Vce(sat) of less than 0.4V (or up to 1.5V for a Darlington like the TIP120).
- The Diagnostic: If your load is receiving power but Vce reads 3V or 4V, the BJT is in the active (linear) region, not saturation. It is acting as a resistor, not a switch, and will rapidly overheat. Fix: Decrease your base resistor value to supply more base current (Ib) and force the transistor into hard saturation.
Repair vs. Replace and the Final Verdict
When to repair vs. replace: Never attempt to repair a discrete BJT. Unlike a mechanical contactor where you might file down pitted contacts or swap a coil, a BJT is a monolithic silicon die. If it fails, it usually fails as a dead short between the collector and emitter due to secondary breakdown. Desolder the TO-220 or TO-92 package, clean the pads with flux and wick, and solder in a new component. At $0.50 to $1.50 per unit, replacement is the only safe and economically viable path.
The Concrete Pick: Default to the TIP120
If you are building a custom switching circuit for a DC load between 500mA and 5A, and you need a single part number to stock on your bench, buy the TIP120 (or its higher-voltage sibling, the TIP122).
Part: TIP120 NPN Darlington BJT
Why: It features an integrated flyback diode across the collector-emitter (though adding an external one across the load is still best practice), a massive DC current gain (hFE > 1000) meaning your 3.3V or 5V ESP32/Arduino GPIO can easily drive it without a logic-level gate driver, and it comes in a TO-220 package that bolts directly to a heatsink for high-current motor loads. For loads under 200mA, step down to the cheaper 2N3904 TO-92 package.






