Home ICs & Semiconductors 2N3904 NPN General Purpose Transistor (10-Pack)
Skip to product information
1 of 2

2N3904 NPN General Purpose Transistor (10-Pack)

2N3904 NPN General Purpose Transistor (10-Pack)

Compatible JST cables for sensors and modules — secure & reliable. Shop now.

Regular price $7.37 USD
Regular price $8.85 USD Sale price $7.37 USD
Save 16% Sold out
Taxes included. Shipping calculated at checkout.

2N3904 NPN General Purpose Transistor — TO-92, 40V / 200mA, 10 Pieces

The 2N3904 is one of the most widely used NPN bipolar junction transistors (BJT) in electronics, found in virtually every hobbyist parts bin and professional prototype lab. It is a general-purpose small-signal transistor optimized for low-power amplification and switching applications, with a collector-emitter voltage of 40V, 200mA collector current, and a transition frequency of 300MHz. Its TO-92 plastic package with standard EBC (Emitter-Base-Collector) pinout makes it compatible with breadboards, perfboards, and PCBs.

10 pieces per pack.

Key Specifications

  • Type: NPN Bipolar Junction Transistor (BJT), silicon
  • Package: TO-92 (through-hole, plastic)
  • Pinout (flat face forward, left to right): Emitter (E) — Base (B) — Collector (C)
  • Collector-Emitter Voltage (Vceo): 40V
  • Collector-Base Voltage (Vcbo): 60V
  • Emitter-Base Voltage (Vebo): 6V
  • Collector Current (Ic): 200mA continuous
  • DC Current Gain (hFE): 100–300 (@ Ic=10mA, Vce=1V)
  • Power Dissipation (Pd): 625mW
  • Transition Frequency (fT): 300MHz
  • Saturation Voltage (Vce(sat)): 0.2V @ Ic=10mA
  • Manufacturer: Fairchild / ON Semiconductor
  • Quantity: 10 pieces

TO-92 Pinout (Flat Face Forward)

  • Pin 1 (left): Emitter (E)
  • Pin 2 (center): Base (B)
  • Pin 3 (right): Collector (C)

Basic Switching Circuit (Arduino GPIO Buffering)

To switch a load that exceeds Arduino GPIO current limits (20–40mA), use the 2N3904 as a low-side switch:

  • Base (B) → Arduino GPIO via 4.7kΩ resistor (limits base current to safe levels)
  • Collector (C) → Load negative terminal
  • Emitter (E) → GND
  • Load positive → Supply voltage (up to 40V)
  • Add flyback diode across inductive loads (motors, relays, solenoids)
  • GPIO HIGH = transistor ON (load powered); GPIO LOW = transistor OFF

Example: driving 3 LEDs (60mA total) from a single Arduino pin — base resistor 4.7kΩ, current-limiting resistor 50Ω in series with LEDs.

Base Resistor Calculation

For switching (saturation): Rb = (Vb − 0.7V) / Ib, where Ib = Ic / hFE. For Ic=100mA, hFE=100: Ib = 1mA. Rb = (5V − 0.7V) / 1mA = 4.3kΩ. Use 4.7kΩ standard value. For amplification, bias the base for the desired operating point.

2N3904 vs. PN2222A vs. TIP120

  • 2N3904: 40V, 200mA, hFE 100–300. Best for signal switching, LED driving, relay coil activation at low current.
  • PN2222A: 40V, 600mA, hFE 100–300. Higher current for loads up to 600mA (small motors, multiple LEDs).
  • TIP120: 60V, 5A, hFE ≥1000 (Darlington). For high-current loads (motors, fans) up to 5A.

Typical Applications

  • Arduino/ESP32 GPIO current buffering (driving loads beyond GPIO current limit)
  • LED driver (single or multiple LEDs up to 200mA total)
  • Relay coil driver (5V/12V relay coils, typically 50–150mA)
  • Signal amplification in audio and RF circuits
  • Logic-level signal inversion (common emitter configuration)
  • Oscillator and timer circuits
  • Sensor signal conditioning
  • Gate drive for small MOSFETs (NPN transistor as gate driver)

Package Contents

  • 10 × 2N3904 NPN general purpose transistor, TO-92
visa
View full details
Quality Guarantee Certified components
100% Safe Checkout SSL encrypted payment
Fast Shipping Worldwide delivery
90-Day Returns Hassle-free policy