Skip to main content
Workforce LibreTexts

8.8: CMOS 555 Long Duration Red LED Flasher

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)


    • Two AAA Batteries
    • Battery Clip (Radio Shack catalog # 270-398B)
    • A DVM or VOM
    • U1 - CMOS TLC555 timer IC (Radio Shack catalog # 276-1718 or equivalent)
    • Q1 - 2N3906 PNP Transistor (Radio Shack catalog #276-1604 (15 pack) or equivalent)
    • Q2 - 2N2222 NPN Transistor (Radio Shack catalog #276-1617 (15 pack) or equivalent)
    • D1 - Red light-emitting diode (Radio Shack catalog # 276-041 or equivalent)
    • R1 - 1.5 MΩ 1/4W 5% Resistor
    • R2 - 47 KΩ 1/4W 5% Resistor
    • R3 - 2.2 KΩ 1/4W 5% Resistor
    • R4 - 27 Ω 1/4W 5% Resistor (or test select a better value)
    • C1 - 1 µF Tantalum Capacitor (Radio Shack catalog 272-1025 or equivalent)
    • C2 - 100 µF Electrolytic Capacitor (Radio Shack catalog 272-1028 or equivalent)


    Lessons In Electric Circuits, Volume 1, chapter 16: “Voltage and current calculations”

    Lessons In Electric Circuits, Volume 1, chapter 16: “Solving for unknown time”

    Lessons In Electric Circuits, Volume 3, chapter 4 : “Bipolar Junction Transistors”

    Lessons In Electric Circuits, Volume 3, chapter 9 : “ElectroStatic Discharge”

    Lessons In Electric Circuits, Volume 4, chapter 10: “Multivibrators”


    • Learn a practical application for a RC time constant
    • Learn one of several 555 timer Astable Multivibrator Configurations
    • Working knowledge of duty cycle
    • How to handle ESD sensitive parts
    • How to use transistors to improve current gain
    • How to calculate the correct resistor for a LED






    NOTE! This project uses a static sensitive part, the CMOS 555. If you do not use protection as described in Volume 3, Chapter 9, ElectroStatic Discharge, you run the risk of destroying it.

    The circuit shown in the previous experiment, CMOS 555 Long Duration Minimum Parts Red LED Flasher, has one big drawback, which is a lack of LED current control. This experiment uses the same basic 555 schematic and adds transistorized drivers to correct this.

    The parts used for this transistor driver are non critical. It is designed to load the TLC555 to an absolute minimum and still turn on Q2 fully. This is important because as the battery voltage approaches 2V the drive from the TLC555 is reduced to its minimum values. Bipolar transistors can be good switches.

    Since LEDs can have so much variation R4 should be tweaked to match the specific LED used. The current is limited to 18.5ma with 27Ω and a Vf (LED forward dropping voltage) of 2.5V, an LED Vf of 2.1V will draw 33ma, and a LED Vf of 1.5 will draw 56ma. The latter is too much current, not to mention what that would do for the battery life. To correct this use 47Ω if the Vf is 2.1V, and 75Ω if the Vf is 1.5V, assuming the target current is 20ma.

    You can measure Vf by using the jumper shown in red in the illustration, which will turn the LED on full time. You can calculate the value of R4 by using the equation:

    R4 = (3V-Vf) / 0.02A

    It was mentioned in the previous experiment that capacitor C2 extended the life of the batteries. An interesting experiment is to remove this part periodically and see what happens. At first you will notice a dimming of the LED, and after a week or two the circuit will die without it, and resume working in a couple of seconds when it is replaced. This flasher will work for 3 months using fresh alkaline AAA batteries.


    The CMOS 555 oscillator was explained fully in the previous experiment, so the transistor driver will be the focus of this explanation.

    The transistor driver combines elements of a common collector configuration on Q1, along with common emitter configuration on Q2. This allows for very high input resistance while allowing Q2 to turn on fully. The input resistance of the transistor is the β (gain) of the transistor times the emitter resistor. If Q1 has a gain of 50 (a minimum value) then the driver loads the TLC555 with more than 100KΩ. Transistors can have large variations in gain, even within the same family.

    When Q1 turns on 1ma is sent to Q2. This is more than enough to turn Q2 fully, which is referred to as saturation. Q2 is used as a simple switch for the LED.

    This page titled 8.8: CMOS 555 Long Duration Red LED Flasher is shared under a GNU Free Documentation License 1.3 license and was authored, remixed, and/or curated by Tony R. Kuphaldt (All About Circuits) via source content that was edited to the style and standards of the LibreTexts platform.