Circuit Controls Two LEDs With One Microcontroller Port Pin

April 1, 2002
Microcontroller port pins can typically be driven either high or low, or else be put into an "input" or high-impedance state. This circuit uses the three states to drive two separate LEDs with one port pin. This can be very useful when there are no...

Microcontroller port pins can typically be driven either high or low, or else be put into an "input" or high-impedance state. This circuit uses the three states to drive two separate LEDs with one port pin. This can be very useful when there are no port pins to spare—something that usually happens.

The simple way to drive two LEDs is via two port pins (Fig. 1a). The improved version requires only one additional resistor (Fig. 1b). It can be designed for most reasonable LED voltages and supply voltages, as well as to yield the desired "on" currents in each LED, which may be different if desired. The design parameters are:

V1 = off voltage for D1 (worst case maximum voltage for no visible light from D1)

V2 = off voltage for D2 (worst case maximum voltage for no visible light from D2)

V3 = on voltage for D1 (forward voltage of D1 at design current plus port voltage drop)

V4 = on voltage for D2 (forward voltage of D2 at design current plus port voltage drop)

Ion1 = desired on current for D1

Ion2 = desired on current for D2

Vcc = supply voltage

The design equations are:

Ion1 = \[(Vcc − V3)/R1\] − \[V3/(R2 + R3)\]

Ion2 = \[(Vcc− V4)/R2\] − \[V4/(R1 + R3)\]

(V1 + V2)/R3 = (Vcc − V1 − V2)/(R1 + R2)

To minimize current consumption, R3 is made as large as possible, without the LEDs turning on with the port pin in the high-impedance state.

These equations can be solved by using an Excel spreadsheet (Fig. 2). This minimizes the sum of the squares of the errors of each LED's on current, as compared to the design values. Inserting typical values as follows, assume one yellow and one red LED for D1 and D2, respectively:

V1 = 1.2 V

V2 = 1.1 V

V3 = 2.2 V (inclusive of port-pin voltage drop when sourcing current)

V4 = 1.9 V (inclusive of port-pin voltage drop when sinking current)

Ion1 = 0.008 A

Ion2 = 0.008 A

Vcc = 5.0 V

The solver tool comes up with values that can be rounded to the closest 5% standard resistance values as follows:

R1 = 300 Ω

R2 = 330 Ω

R3 = 1.2 kΩ

Then, the practical resistor values can be plugged into the same cells that the solver modified, to read the resulting currents and quiescent current, Iq. In this case, the circuit draws a quiescent current of 2.7 mA when both LEDs are off. When it's on, the circuit supplies almost exactly 8 mA to each LED. If it's desired to have both LEDs appear on, the port pin can be rapidly cycled between 0 V and Vcc. If the rate is somewhere around 100 Hz or higher, both LEDs will appear steadily illuminated.

This circuit works best with microcontrollers that have Schmitt-trigger or analog inputs. Other types may draw unnecessary supply current if the input is biased close to the center of the supply voltage.

Sponsored Recommendations

Highly Integrated 20A Digital Power Module for High Current Applications

March 20, 2024
Renesas latest power module delivers the highest efficiency (up to 94% peak) and fast time-to-market solution in an extremely small footprint. The RRM12120 is ideal for space...

Empowering Innovation: Your Power Partner for Tomorrow's Challenges

March 20, 2024
Discover how innovation, quality, and reliability are embedded into every aspect of Renesas' power products.

Article: Meeting the challenges of power conversion in e-bikes

March 18, 2024
Managing electrical noise in a compact and lightweight vehicle is a perpetual obstacle

Power modules provide high-efficiency conversion between 400V and 800V systems for electric vehicles

March 18, 2024
Porsche, Hyundai and GMC all are converting 400 – 800V today in very different ways. Learn more about how power modules stack up to these discrete designs.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!