Long CLK track noise question

I'm going to be using 25 Shift Registers daisy chained together to control a 40x40 LED matrix. I was going to use a PCB with SMD components but I've changed my mind and will be using Stripboard with through hole parts instead. Because of this my CLK line is going to be very long and I am concerned about possible noise issues.

So, is there a problem with long tracks/wires handling high frequency logical LOW/HIGH signals of either 0V/5V or 0V/3.3V and if so how do I deal with it?

Many thanks!

I would not worry about noise issues. Years ago I designed off-chip-drivers that had high fanout to memory cards. There was never a problem with noise. But, if you have long distributed transmission lines you might have to worry about overshoot/undershoot at the far end of the line if your driver has fast transition times (greater than 1 V/ns).

You need goo decoupling on every chip. With that many shift registers also look out for your fan out. I would imaging you need buffers on the common lines like clock and latch.

Thanks for the replies.

For decoupling I plan to use a 0.1µF & 0.01µF each chip, a 1µF per 3, a 10µF per 9 and range of single bigger ones at the start. From what I have read this is probably a little overkill but it's only pennies for a one off project.

The current demand for the CLK, Latch and Data for all the chips may well be over the controllers spec so I am investigating this now. One thought is to have those control lines switch on very fast switching transistors that let current through from the main supply. This would get over the supply issue but I need to find the right transistor as it would need to switch at 16 MHz or faster. If anyone has a suggestion for this I would be grateful.


No need for the 0.01uF cap.

The current demand as you call it is known as the fanout of a chip. It is not just static current but also the capacitance slowing the signal's rise time. You should group your chips into groups of say eight and feed each group through a buffer, something like a 74xx04. Each buffer can be fed from the one control pin.

The first couple of LED matrix project I did which used shift registers, I tied the enable pin low thinking it would be one less pin to worry about. I've since had a change of heart about enable pins. They're great for controlling the brightness of a display. I've noticed I'm not the only one who didn't think to keep the enable pin accessible because I've seen other people have similar regrets about their LED matrix designs. Hopefully this warning will give you time to carefully consider if you want to control the enable pins or not.

I just recently posted a video I made over a year ago about one of my LED projects (I hadn't previously uploaded the video because I thought it was painfully boring). While I think you're right to worry about the clock line and using a buffer is a good idea, I thought I'd let you know I didn't have any trouble with a 3.3V clock signal driving 21 TPIC6B595 chips. Of course saying something works isn't the same thing as saying it was correctly designed.

What kind of LEDs are you using? It's of course fun to make your own design but if you're tempted to take the easy way out there are plenty of MAX7219 8x8 arrays which would make your life easier. I haven't tried it myself yet, but I believe there's a very nice library for controlling 8x8 arrays with MAX7219 drivers.

Of course the MAX7219 isn't a good candidate if you want to control the brightness of the individual LEDs (not that it's easy to do this with shift registers).

I hope you let us know how your matrix turns out.