Flickering when using 3 595 shift registers

(moved from wrong secition)


I'm using the dual shift register circuit on the ShiftOut document on the arduino.cc site but with a third shift register added as well. I have these wired up to 24 LEDs for testing purposes. This all works fine and I can turn on the correct output pins and light the LEDs. What I have found is that I'm getting flicker on the unlit LEDs. Is this a standard problem when using shift registers? Is there something I can do to solve/reduce the flicker?


Obviously I'll post code/circuits if necessary but I wanted to know whether this was something that's often seen - I'm new to shift registers.

I've noticed that this is only occurring on the 3rd shift register. Is there a problem when you chain more together?

Please post your wiring diagram of pics. Are you wiring the Q7 of the first to serial in on number 2, Q7 on number two to the serial in on number 3?

You may want to go with SPI if you start getting into more shift registers.

See this post for details on running SPI with those chips.

I'd be interested to know if this code works for you.


It's exactly the same as the bottom picture here:

http://www.arduino.cc/en/Tutorial/ShiftOut but with the extra register and I've made exactly same connections from 2->3 as were made from 1->2 (ie yes I've gone from Q7 to the serial in on 3). It is all working fine except for this odd flicker.

This post seems to indicate there's something wrong with the tutorial, could that be it?


Ok, I wread on that page a little, and it says you should add a capacitor over the power lines. I would use a little 0.1uF capacitor over the positive (VCC) and negative (GND) power wires of each chip.

Ok, thanks. I'll give that a try tonight.

Yeah, I've made an led matrix display where each 8*8 matrix has 3 shift registers dedicated to it, and with a 0.1uf cap between the vcc and gnd pins, I get no flickering, except a couple little blips every few seconds sometimes.

Apologies for the (very slow) reply to this - real life put my tinkering on hold.

I managed to fix this problem with the capacitors between the +ve/ground leads.

Thanks everyone.

I am having the same problem.
I have 3 595 SRs. I put the latch pin of all them low, load the data and then put it high. Logically I should see no flicker at all but when I am constantly seeing little blips (rhythmical).

I am using them to control r/g leds so if I shift a pattern where some leds are off, most are red and one is green I more clearly see the flickering.

I tried putting capacitors on the rails near each IC but that made no difference.

If I am repeatedly loading and shifting the same value I get no flicker, it is only when I load a new and different value that I see the flicker before the new value settles.

So are you using capacitors across the supply of each shift register and no capacitor on any of the signal pins. There is an "official" tutorial that has capacitor on the latch enable pin. This is wrong and could damage your arduino.