I've been trying to develop this circuit for a multiplexed display with two seven segment digits and five SMD LEDs.

For simplicity, I've only shown one digit (LEDS 1 through 7) and two SMD LEDs (8 and 9). I have the code to write the appropriate data on PORT B and switch on the corresponding LED bank using PORT A.

Although the display works okay, the LEDs and segments seem to glow dimly even when they are OFF (logic LOW on PORT B).

I have tried reducing the value of R3 and increasing R2 but it doesn't seem to help.

Datasheets: 9012, 9013, ULN2003A

multiplexed LED display

  • 2
    \$\begingroup\$ The ULN2003A datasheet mentions a leakage current of 50 to 100 microAmperes. Please share the datasheet of the LEDs you are using: There may be LEDs which have a barely visible glow at that level of current... Many LEDs I have definitely glow visibly at 2-300 microAmperes. \$\endgroup\$ – Anindo Ghosh Apr 22 '13 at 8:27
  • 1
    \$\begingroup\$ See also this : electronics.stackexchange.com/questions/62271/… for another possibility. \$\endgroup\$ – Brian Drummond Apr 22 '13 at 9:33
  • \$\begingroup\$ Pin 9 on the ULN2003 - have you connected it to somewhere that may cause current flow through the LEDs like +5V? \$\endgroup\$ – Andy aka Apr 22 '13 at 9:38
  • \$\begingroup\$ @AnindoGhosh. I procured the LEDs from a local vendor :P... No datasheets :( But the solution suggested by Brian seems to work nicely. So evidently, the LEDs do not glow at 100mA. Thanks still... I'd buy LEDs with datasheets next time so this possibility is also taken care of. :) TY \$\endgroup\$ – Sohail Apr 23 '13 at 6:53
  • \$\begingroup\$ @BrianDrummond. This works!!! I used OFF times of 100us and 1ms as suggested on the other post and the LEDs are completely OFF now. I didn't have to tune the two time periods as well. This works for me. Many thanks. \$\endgroup\$ – Sohail Apr 23 '13 at 6:55

Your problem is that you need something to drive the Anodes of the LEDs down to GND. I would try the following:

enter image description here

The key is R6, which should carry any possible leakage currents. I would use a value ranging in the order of 4K7 or so, that should be more than enough.

  • \$\begingroup\$ pull down resistor? \$\endgroup\$ – Relianthe Apr 22 '13 at 16:07
  • \$\begingroup\$ yes, indeed it is ;-) \$\endgroup\$ – payala Apr 22 '13 at 18:03
  • \$\begingroup\$ @payala. I tried something even as low as 1k for R6 but it seemed to have no effect. But the issue was bad timing in the code as Brian suggested. Somehow it all works okay even without the pull-down! O: Thanks still. I'll keep this for future. :) \$\endgroup\$ – Sohail Apr 23 '13 at 7:07
  • 1
    \$\begingroup\$ Yes, that makes very much sense. I have needed this pull-down thing on some designs with high-brightness LEDs... the glow dimly with even 5uA... its incredible! Glad you solved it! \$\endgroup\$ – payala Apr 23 '13 at 8:51
  • \$\begingroup\$ +1 this solved a problem I was having with high brightness LEDs in a multiplexed array. Thanks @payala \$\endgroup\$ – JYelton Jun 13 '13 at 2:10

Are these LEDs glowing due to leakage current? How to prevent it?

it is possible but not likely.

One way to know for sure is to measure the voltage across the resistors in serial with the leds with the input being low.

I suspect that it is an issue of dynamic updating -> the code doesn't do blanking.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.