Marked dimming in daisy chained LED displays

Just a quick one here:

If you use 74HC595s to chain three four digit, seven segment displays, how do you make them equally bright?

I have such a setup, and the first unit is properly lit, in the next one the leftmost digit is bright and the other three dim, and in the last one, all four digits are dim.

Is there something you can do in the setup to get the brightness adjusted?

Many thanks again!

It is a hardware problem, most likely caused by poor wiring layout. Please post a photograph of your setup and a schematic of your circuit.

  1. Don't chain the power supply. Each LED module should have a direct connection.
  2. Use an external power supply that can supply enough power (ie, don't just power from the Arduino Board).
  3. When using external power supply make sure you connect all the grounds together.

What exactly are you doing with the 74HC595s? These are simply not appropriate for driving LEDs, particularly if you are attempting to multiplex them. :roll_eyes:

And if you are attempting to multiplex them, then we would need to see your complete code in any case. :astonished:

I am working off the Freenove Ultimate Arduino Kit samples. The whole PDF is available at

The layout I have is in this image, with just another similar package linked via the Data Out pin.

The complete code is attached too.

Many thanks once again, this is one of the friendliest forums I ever visited.

Arduino_Ultimate_RGB_LED_2_reg.ino (4.58 KB)

First off you need a 0.1uF ceramic capacitor on the power and ground of each shift register. This is not an option.

You only have one shift register shown on that schematic, what happens to those pins driving the common anodes of each display? You are having a problem extending this circuit but you have not shown how you are extending.

The Fritzing diagram is useless in this or virtually any other context, forget it.
A photograph would be more useful.

Thanks for this already. I’ll add the capacitor.

I am extending by leading the clock, latch and data pins from Arduino to the breadboard and from there to the shift registers. Data goes to the first register and is then taken from it to the next one. Latch and clock are taken to both shift registers.

I will take photos tomorrow. The idea is to be able to have three pots adjusting r, g and b values for a multicolor led while showing the values on three 4 digit 7 segment LED units.

I have built a 4" red LED countdown timer, counting down from 45.00 using four shift registers in a chain. That went well, but getting the four digit units chained isn’t readily available to me.

But if I may put this to you directly, how do you see the connections between an Arduino, three 74HC595s, and three 4 digit common anode 7 segment displays, if these are to show values of 0 to 255 according to the setting of a potentiometer?

Each set of four common anodes needs either separate pins or current drivers


OK, please read the forum instructions regarding how to post your code as attaching it is not generally useful for a number of reasons.

Now frankly as I intimated in #3, you definitely are asking for trouble. You really should use proper display modules with MAX7219s Two of these would be more than enough, and easily controlled with just three pins on your Arduino.

PS Mike - I made a bookmark of your site. What an absolute treasure trove of material! Thank you!