8x8 Led 595 matrix problem

Hi I am driving an 8x8 LED Matrix using two 8-bit shift registers “595”

The problem is that for every led I turn on, the led above it will turn also turn on a little. (very dimly)

I attached the connections diagram and a picture of the problem where I try to display the letter B.

Has anybody had similar problems with this configuration? any ideas on what the problem might be?

By the way, I am using decoupling capacitor on both 595.

Screen shot 2012-03-17 at 10.45.47 PM.png

If you disable the matrix code and just light up one row do you still have this problem? My guess is things aren't being updated fast enough and for a fraction of a second the row above is displaying the next row's data.

When I light up a single row the problem disappears.

I removed the UDN2981A for trouble shooting. The matrix code worked just fine :) Since the current I will be driving is below the 595 limits, I will leave the design like this (without using the UDN2981A).

Thanks for the suggestion.

This is a pretty schematic. What software did you use to make it?

I did NOT make that schematic. I got it from a youtube video by Derek Molloy http://www.youtube.com/user/DerekMolloyDCU?feature=watch

however it seems that he used the drawings from the datasheets and just connected the pins in an image editor.

What is a UDN2981A used for? I see on the datasheet that it is an 8 channel source driver. What does that mean and what is its function within your setup?

UDN2981 is used to source the (16 LEDs x up to 20mA) of current for the LEDs in Row1, Row 2, etc up to Row 8.

Typically one would set all the cathodes high/low as desired, then puls the anode current on. Set the anodes for the next row, pulse the next row's anode current on.

Either the OP has very high current limit resistors to keep the current required per row down, or 'extreme' multiplexing is going on and only 1 cathode at a time is being taken low so only 1 LED can be turned on at any one time, vs up to 16 at a time.