Transistor (BJT)

A bipolar junction transistor (BJT) is a semiconductor device used to amplify or switch low-power signals in electronic circuits. Typically operated in the active region, it allows a small input current or voltage at the base to control a larger current flow between collector and emitter. They're often used in amplifiers, radios, and signal processing applications.

Small signal transistors (BJT) in different housings (Author: Benedikt Seidl)
Fig.: Small signal transistors (BJT) in different housings (Author: Benedikt Seidl)
Electronic symbol of a NPN transistor
Fig.: Electronic symbol of a NPN transistor
Electronic symbol of a PNP transistor
Fig.: Electronic symbol of a PNP transistor

Applications

Features/Specifications

A BJT is a type of transistor that uses both electrons and holes (two types of charge carriers) to conduct current. It has three terminals: Emitter, Base, and Collector. BJTs come in two types: NPN and PNP, and they amplify current by using a small base current to control a larger current flowing from collector to emitter. The main difference between NPN and PNP BJTs is the direction of current flow and the required voltage polarity:

Type Description Common devices
NPN Current flows from collector to emitter when a small positive voltage is applied to the base (relative to the emitter). BC547, BC548, 2N3904, 2N2222, S8050, BC550
PNP Current flows from emitter to collector when a small negative voltage is applied to the base (relative to the emitter). BC557, BC558, BC556, 2N3906, 2N2907, S8550

Note: Since there are so many different types of BJTs with a wide range of characteristics, we will use here the two widely used types BC547 and BC557.

  BC547 Spec BC557 Spec
Transistor Type NPN PNP
Collector-Emitter Voltage (VCEO) 45 V -45 V
Collector-Base Voltage (VCBO) 50 V -50 V
Emitter-Base Voltage (VEBO) 6 V -5 V
Collector Current (IC) 100 mA -100 mA
Power Dissipation (Ptot) 500 mW
DC Current Gain (hFE) 110 to 800
Transition Frequency (fT) 150 MHz
Operating Temperature -65°C to +150°C

📄 BC547 (NPN) datasheet (45 kB)
📄 BC557 (PNP) datasheet (50 kB)

Connections

Terminal diagram of a BJT transistor in a TO-92 package
Fig.: Terminal diagram of a BJT transistor in a TO-92 package
Pin No BC547 (NPN) BC557 (PNP)
1 Collector Emitter
2 Base Base
3 Emitter Collector

Used Components

Setup & Programming

As a basic setup, both an NPN and a PNP transistor are connected to a microcontroller, and a HIGH or LOW signal is alternately applied to the base. This results in a blinking effect with two LEDs due to the different behaviors of the transistors.

Arduino Uno

Circuit diagram for connecting a BC547 and BC557 BJT with the Arduino Uno
Fig.: Circuit diagram for connecting a BC547 and BC557 BJT with the Arduino Uno
#define PIN_NPN 2
#define PIN_PNP 3

void setup() {
   pinMode(PIN_NPN, OUTPUT);
   pinMode(PIN_PNP, OUTPUT);
}

void loop() {
  digitalWrite(PIN_NPN, HIGH);
  digitalWrite(PIN_PNP, HIGH);
  delay(500);
  digitalWrite(PIN_NPN, LOW);
  digitalWrite(PIN_PNP, LOW);
  delay(500);
}

ESP32

Circuit diagram for connecting a BC547 and BC557 BJT with the ESP32
Fig.: Circuit diagram for connecting a BC547 and BC557 BJT with the ESP32
#define PIN_NPN 23
#define PIN_PNP 21

void setup() {
   pinMode(PIN_NPN, OUTPUT);
   pinMode(PIN_PNP, OUTPUT);
}

void loop() {
  digitalWrite(PIN_NPN, HIGH);
  digitalWrite(PIN_PNP, HIGH);
  delay(500);
  digitalWrite(PIN_NPN, LOW);
  digitalWrite(PIN_PNP, LOW);
  delay(500);
}

Further information

Last edited by Christian Grieger on 2025-05-12
X
  1. [top]
  2. Applications
  3. Features/Specifications
  4. Connections
  5. Used Components
  6. Setup & Programming
  7. Further information