I have made a clock using the schematic below to run 8 segment displays. There are 6 of them. All the displays share the same ground, which then goes to the n-MOSFET (bottom right of the schematic), which can dim all the displays via PWM from an Arduino.

I am also using the clock for other purposes. I noticed that when I illuminate the DP (via the 470 ohm leg of the UDN2981 - Out 8) on any one of the displays, all the displays show faint lighting of their unlit segments. This only occurs when the PWM from the Arduino is low (ie the display is dim), not when the PWM is high(ie display is bright).

I cannot figure out why this would occur, and how to stop it. Any help would be greatly appreciated.

enter image description here

  • \$\begingroup\$ Measure the output with an oscilloscope. \$\endgroup\$ – winny Feb 21 '17 at 13:24
  • \$\begingroup\$ LED's are diodes and MOSFET & stray capacitance & diode capacitance may rectify and store a DC charge voltage. Consider pullup R value of 10k or less on FET output. you can even pullup to 5V to turn off blue LEDs since (12-1V(driver)-5V)/3 = 2.0V per Blue Led which will be Off (dark) \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Feb 21 '17 at 13:50

I think what you are seeing is because your Output enable pin is always low so when you are shifting the bits especially the decimal point since it is the last one you are seeing the bit shifting through and lighting the segments as it shifts out. What I'd recommend is the drive the OE pin from the arduino in such way that the output is disable while updating the shift resister and then enable the output once this has been done to avoid seeing the bits shift through the register.


I suspect it has to do with the internal wiring of the driver IC. First I would try to ground one of the (non-DP) segment resistor and see if it still comes on dim. E.g. disconnect the resistor from Out 1 and tie it directly to ground. I assume that segment would not come on dim under the condition you described, which would confirm the current is coming from the driver. I think it's probably obvious that it is, but it would be good to confirm, and rule out other strange possibilities, e.g. faulty components, wiring shorts, etc.

Assuming the current is coming from the driver, I would suspect the diodes on each output. These are great flyback diodes for driving relays or other inductive loads, but what could be happening here is that the ground pin gets a high voltage transient, which can pass directly through all the outputs. I assume you don't have long cables or other sources of inductance, so I would guess then the ground for the IC and for the MOSFET are not sufficiently low impedance. Perhaps try to connect the source of the MOSFET and the GND of the ICs directly to power source, if not already, rather than tying them together first.

That being said, it seems like a long shot to me but is based on the assumption that the driver inputs are indeed staying low. Perhaps there are brief pulses, noise, etc. at the input pins. If you aren't sure of that, then I would first try disconnecting the input from one of the segment drivers (tying the pin to ground), to be certain the input is actually low, and see if that segment comes on dim.

  • \$\begingroup\$ Thank you. This all makes sense, and I will test things tomorrow and get back to you. \$\endgroup\$ – Fed Feb 21 '17 at 23:14

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.