Shift Register BOB10860 and Arduino

Hello Sparkfun forum,

Working on an LED display that would sequence 320 LEDs

based on

http://bildr.org/2011/08/74hc595-breakout-arduino/

Pictorial of setup.

Http://www.allenpitts.com/electronics/M … 0414_c.gif

Was hoping turn on all 320 LEDs at once but found

out only 30 could be turned on at a time. So have limited the

LEDS on simultaneously by turning off the first LED

when the 31st is set HIGH.

Have daisy chained 25 of the Sparkfun BOB-10860 and

it works perfectly. But when the 26th is added the

26th BOB (74HC595 break out board) immediately

begins blinking erratically.

You Tube of 26th IC

https://youtu.be/xAc26amrLzI

Tried substituting the 25th BOB for the 26th.

No joy. Tried turning on fewer LEDS and several

other troubleshooting approaches with no luck.

Any idea why the daisy chain won’t extend?

The article says “you have 1000 of these chained together”.

Just trying to do 40.

Thanks.

Allen Pitts, Dallas Texas

PS Animated gif of half of the desired display.

Http://www.allenpitts.com/electronics/M … 150626.gif

Have you tried adding power wires to the far end of the chain? There’s a strong possibility that the voltage drop caused by all of those connectors and the small traces on the boards are adding up to the point that the supply voltage is too low on the 26th board.

Also, if you are really powering all of that from the 5V supply on the Arduino board, I would suggest you not do that. Use an external 5V supply and make sure all of your grounds are connected.

If you look at the schematics, you’ll notice that the latch and clock are shared across all boards. Maybe try throwing some decoupling capacitors in there. Or maybe the signal simply becomes too weak at the far end of the series. Perhaps you could try starting a second chain in “parallel” for the second half of the boards and using a software SPI library.

Hello SparkFun Forum,

Found the answer to this question on an another electronics forum called All About Circuits.

Meant to come back and put the answer in the thread but forgot until now.

The reason why I could not get a twenty-sixth BOB 10860 (breakout board

for 74HC595) is because the shift register Library code had the max number

of registers listed as 25.The guy that wrote the library code said he put 25 as

the max number of 74HC595 in a daisy chain because he thought that was

the most anybody would ever use and limiting the max number of shift registers

in a chain reduces the amount of memory reserved by the Arduino for shift

register data.

So I went into the library code and changed

byte _ShiftRegisters[25]

to

byte _ShiftRegisters[40]

and it solved the problem

Allen Pitts, Dallas Texas