Switch LEDs with NPN transistors
Alternate two LEDs using low-side NPN switches. Drive the PN2222 base from D8 and BC547 base from D9 through separate one kilohm resistors.
Alternate two LEDs using low-side NPN switches. Drive the PN2222 base from D8 and BC547 base from D9 through separate one kilohm resistors.
Use the Uno R3 Learning Kit. Build with power disconnected, check the labelled connections, then upload the supplied sketch. Drag or zoom the 3D model to inspect it from any angle.
Step 1 — Watch the complete build
Press Play for the narrated build. You can rotate and zoom the model while it plays, or follow the individual steps below.
Loading assembly…
Keep U S B disconnected while you build. On this breadboard, each group of five holes shares a connection; the centre channel separates the two halves. You can drag the 3D view to look around. Connect the Arduino’s five volt output to the positive rail. Connect Arduino ground to the ground rail. Add the PN2222 NPN transistor. Its E lead goes into column 6 row E; the highlights show the remaining holes. Add the BC547 NPN transistor. Its C lead goes into column 20 row E; the highlights show the remaining holes. Add the Red L E D · 5 millimetres. Its cathode lead goes into column 6 row H; the highlights show the remaining holes. Add the Green L E D · 5 millimetres. Its cathode lead goes into column 20 row H; the highlights show the remaining holes. Add the 1 kiloohm resistor. Its Pin 0 lead goes into column 10 row A; the highlights show the remaining holes. Add the 1 kiloohm resistor. Its Pin 0 lead goes into column 24 row A; the highlights show the remaining holes. Add the 330 ohms resistor. Its Pin 0 lead goes into column 10 row J; the highlights show the remaining holes. Add the 330 ohms resistor. Its Pin 0 lead goes into column 24 row J; the highlights show the remaining holes. Connect the PN2222 NPN transistor’s E pin to the ground rail. Connect the positive rail to one end of the resistor. Connect the other end of the resistor to the L E D’s anode lead. Connect the L E D’s cathode lead to the PN2222 NPN transistor’s C pin. Connect Arduino digital pin 8 to one end of the resistor. Connect the other end of the resistor to the PN2222 NPN transistor’s B pin. Connect the BC547 NPN transistor’s E pin to the ground rail. Connect the positive rail to one end of the resistor. Connect the other end of the resistor to the L E D’s anode lead. Connect the L E D’s cathode lead to the BC547 NPN transistor’s C pin. Connect Arduino digital pin 9 to one end of the resistor. Connect the other end of the resistor to the BC547 NPN transistor’s B pin. Check all wiring. Connect the square U S B-B plug to the Uno and the U S B-A plug to your computer. Use Verify and Upload in the code editor below.
Step 2 — Understand the breadboard
Keep USB disconnected while you build. On this breadboard, each group of five holes shares a connection; the centre channel separates the two halves. You can drag the 3D view to look around.
Loading assembly…
Keep U S B disconnected while you build. On this breadboard, each group of five holes shares a connection; the centre channel separates the two halves. You can drag the 3D view to look around.
Step 3 — Connect Uno 5V → T+ rail 3
Connect the Arduino’s five volt output to the positive rail.
| Connect | To |
|---|---|
| Uno 5V | T+ rail 3 |
Loading assembly…
Connect the Arduino’s five volt output to the positive rail.
Step 4 — Connect Uno GND → T- rail 1
Connect Arduino ground to the ground rail.
| Connect | To |
|---|---|
| Uno GND | T- rail 1 |
Loading assembly…
Connect Arduino ground to the ground rail.
Step 5 — Place PN2222 NPN transistor
Add the PN2222 NPN transistor. Its E lead goes into column 6 row E; the highlights show the remaining holes.
Exact breadboard holes
- q1 · E → column 6 row E
- q1 · B → column 7 row E
- q1 · C → column 8 row E
Loading assembly…
Add the PN2222 NPN transistor. Its E lead goes into column 6 row E; the highlights show the remaining holes.
Step 6 — Place BC547 NPN transistor
Add the BC547 NPN transistor. Its C lead goes into column 20 row E; the highlights show the remaining holes.
Exact breadboard holes
- q2 · C → column 20 row E
- q2 · B → column 21 row E
- q2 · E → column 22 row E
Loading assembly…
Add the BC547 NPN transistor. Its C lead goes into column 20 row E; the highlights show the remaining holes.
Step 7 — Place Red LED · 5 mm
Add the Red LED · 5 mm. Its cathode lead goes into column 6 row H; the highlights show the remaining holes.
Exact breadboard holes
- led1 · cathode → column 6 row H
- led1 · anode → column 7 row H
Loading assembly…
Add the Red L E D · 5 millimetres. Its cathode lead goes into column 6 row H; the highlights show the remaining holes.
Step 8 — Place Green LED · 5 mm
Add the Green LED · 5 mm. Its cathode lead goes into column 20 row H; the highlights show the remaining holes.
Exact breadboard holes
- led2 · cathode → column 20 row H
- led2 · anode → column 21 row H
Loading assembly…
Add the Green L E D · 5 millimetres. Its cathode lead goes into column 20 row H; the highlights show the remaining holes.
Step 9 — Place 1 kΩ resistor
Add the 1 kΩ resistor. Its Pin 0 lead goes into column 10 row A; the highlights show the remaining holes.
Exact breadboard holes
- base1 · Pin 0 → column 10 row A
- base1 · Pin 1 → column 14 row A
Loading assembly…
Add the 1 kiloohm resistor. Its Pin 0 lead goes into column 10 row A; the highlights show the remaining holes.
Step 10 — Place 1 kΩ resistor
Add the 1 kΩ resistor. Its Pin 0 lead goes into column 24 row A; the highlights show the remaining holes.
Exact breadboard holes
- base2 · Pin 0 → column 24 row A
- base2 · Pin 1 → column 28 row A
Loading assembly…
Add the 1 kiloohm resistor. Its Pin 0 lead goes into column 24 row A; the highlights show the remaining holes.
Step 11 — Place 330 Ω resistor
Add the 330 Ω resistor. Its Pin 0 lead goes into column 10 row J; the highlights show the remaining holes.
Exact breadboard holes
- load1 · Pin 0 → column 10 row J
- load1 · Pin 1 → column 14 row J
Loading assembly…
Add the 330 ohms resistor. Its Pin 0 lead goes into column 10 row J; the highlights show the remaining holes.
Step 12 — Place 330 Ω resistor
Add the 330 Ω resistor. Its Pin 0 lead goes into column 24 row J; the highlights show the remaining holes.
Exact breadboard holes
- load2 · Pin 0 → column 24 row J
- load2 · Pin 1 → column 28 row J
Loading assembly…
Add the 330 ohms resistor. Its Pin 0 lead goes into column 24 row J; the highlights show the remaining holes.
Step 13 — Connect column 6 row A → T- rail 5
Connect the PN2222 NPN transistor’s E pin to the ground rail.
| Connect | To |
|---|---|
| column 6 row A | T- rail 5 |
Loading assembly…
Connect the PN2222 NPN transistor’s E pin to the ground rail.
Step 14 — Connect T+ rail 10 → column 10 row I
Connect the positive rail to one end of the resistor.
| Connect | To |
|---|---|
| T+ rail 10 | column 10 row I |
Loading assembly…
Connect the positive rail to one end of the resistor.
Step 15 — Connect column 14 row I → column 7 row J
Connect the other end of the resistor to the LED’s anode lead.
| Connect | To |
|---|---|
| column 14 row I | column 7 row J |
Loading assembly…
Connect the other end of the resistor to the L E D’s anode lead.
Step 16 — Connect column 6 row J → column 8 row A
Connect the LED’s cathode lead to the PN2222 NPN transistor’s C pin.
| Connect | To |
|---|---|
| column 6 row J | column 8 row A |
Loading assembly…
Connect the L E D’s cathode lead to the PN2222 NPN transistor’s C pin.
Step 17 — Connect Uno D8 → column 10 row B
Connect Arduino digital pin 8 to one end of the resistor.
| Connect | To |
|---|---|
| Uno D8 | column 10 row B |
Loading assembly…
Connect Arduino digital pin 8 to one end of the resistor.
Step 18 — Connect column 14 row B → column 7 row A
Connect the other end of the resistor to the PN2222 NPN transistor’s B pin.
| Connect | To |
|---|---|
| column 14 row B | column 7 row A |
Loading assembly…
Connect the other end of the resistor to the PN2222 NPN transistor’s B pin.
Step 19 — Connect column 22 row A → T- rail 22
Connect the BC547 NPN transistor’s E pin to the ground rail.
| Connect | To |
|---|---|
| column 22 row A | T- rail 22 |
Loading assembly…
Connect the BC547 NPN transistor’s E pin to the ground rail.
Step 20 — Connect T+ rail 23 → column 24 row I
Connect the positive rail to one end of the resistor.
| Connect | To |
|---|---|
| T+ rail 23 | column 24 row I |
Loading assembly…
Connect the positive rail to one end of the resistor.
Step 21 — Connect column 28 row I → column 21 row J
Connect the other end of the resistor to the LED’s anode lead.
| Connect | To |
|---|---|
| column 28 row I | column 21 row J |
Loading assembly…
Connect the other end of the resistor to the L E D’s anode lead.
Step 22 — Connect column 20 row J → column 20 row A
Connect the LED’s cathode lead to the BC547 NPN transistor’s C pin.
| Connect | To |
|---|---|
| column 20 row J | column 20 row A |
Loading assembly…
Connect the L E D’s cathode lead to the BC547 NPN transistor’s C pin.
Step 23 — Connect Uno D9 PWM → column 24 row B
Connect Arduino digital pin 9 to one end of the resistor.
| Connect | To |
|---|---|
| Uno D9 PWM | column 24 row B |
Loading assembly…
Connect Arduino digital pin 9 to one end of the resistor.
Step 24 — Connect column 28 row B → column 21 row A
Connect the other end of the resistor to the BC547 NPN transistor’s B pin.
| Connect | To |
|---|---|
| column 28 row B | column 21 row A |
Loading assembly…
Connect the other end of the resistor to the BC547 NPN transistor’s B pin.
Step 25 — Place USB-A to USB-B cable · Uno
Check all wiring. Connect the square USB-B plug to the Uno and the USB-A plug to your computer. Use Verify and Upload in the code editor below.
Loading assembly…
Check all wiring. Connect the square U S B-B plug to the Uno and the U S B-A plug to your computer. Use Verify and Upload in the code editor below.
Step 26 — Program your Uno
Choose Arduino Uno. Verify, pair the board and Upload this sketch. Keep USB connected. Alternate two LEDs using low-side NPN switches. Drive the PN2222 base from D8 and BC547 base from D9 through separate one kilohm resistors.
Step 27 — Try it and troubleshoot
The two LEDs alternate. The base signal controls a separate collector-emitter current path.
If it does not work
PN2222, P2N2222 and other 2222 variants can have different pinouts. Match E, B and C by the datasheet for your marking. Do not substitute the BC557 PNP.
Parts List
Required Parts (1)
Use the components named in this tutorial. A computer and any additional power supply are not included.
x1
$64.70
In stockProject Summary
1 part total
Unavailable items will be skipped