

The 2N3904 is a general-purpose NPN bipolar junction transistor (BJT) widely used in electronic circuits for amplification and switching applications. Known for its low cost, reliability, and versatility, the 2N3904 is a popular choice for hobbyists and professionals alike. It is designed to handle low to medium current and voltage levels, making it suitable for a variety of small-signal applications.








Below are the key technical details of the 2N3904 transistor:
| Parameter | Value |
|---|---|
| Transistor Type | NPN |
| Maximum Collector-Emitter Voltage (VCEO) | 40V |
| Maximum Collector-Base Voltage (VCBO) | 60V |
| Maximum Emitter-Base Voltage (VEBO) | 6V |
| Maximum Collector Current (IC) | 200mA |
| Maximum Power Dissipation (PD) | 625mW |
| DC Current Gain (hFE) | 30 to 300 |
| Transition Frequency (fT) | 300MHz |
| Package Type | TO-92 |
| Operating Temperature Range | -55°C to +150°C |
The 2N3904 transistor comes in a TO-92 package with three pins. The pinout is as follows:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Emitter | Current flows out of this pin |
| 2 | Base | Controls the transistor's operation |
| 3 | Collector | Current flows into this pin |
Below is a diagram of the TO-92 package for reference:
_______
| |
| |
|_______|
| | |
1 2 3
E B C
The 2N3904 transistor can be used in two primary modes: as a switch or as an amplifier.
In switching mode, the transistor operates as an electronic switch. When a small current is applied to the base, it allows a larger current to flow between the collector and emitter. This is useful for controlling devices like LEDs or relays.
Example Circuit:
In amplification mode, the transistor amplifies a small input signal at the base to produce a larger output signal at the collector. This is commonly used in audio and RF circuits.
Example Circuit:
The 2N3904 can be used to control an LED with an Arduino UNO. Below is an example circuit and code:
Circuit Connections:
Arduino Code:
// Example code to control an LED using a 2N3904 transistor
const int ledPin = 9; // Pin connected to the base of the 2N3904 transistor
void setup() {
pinMode(ledPin, OUTPUT); // Set the pin as an output
}
void loop() {
digitalWrite(ledPin, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(ledPin, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Transistor Not Switching Properly
Overheating
No Output Signal
LED Not Turning On
Q: Can the 2N3904 handle high-power applications?
A: No, the 2N3904 is designed for low-power applications with a maximum collector current of 200mA and power dissipation of 625mW.
Q: Can I use the 2N3904 for audio amplification?
A: Yes, the 2N3904 is suitable for small-signal audio amplification applications.
Q: What is the maximum frequency the 2N3904 can handle?
A: The 2N3904 has a transition frequency (fT) of 300MHz, making it suitable for high-frequency applications.
Q: How do I test if my 2N3904 is working?
A: Use a multimeter in diode mode to check the base-emitter and base-collector junctions. Both should show a forward voltage drop (~0.6V to 0.7V) when tested in the correct polarity.