What affects LED brightness?

I’m powering 16 LEDs with my one arduino. The setup goes through two different 74HC595 in order to power them mostly following this tutorial: https://www.arduino.cc/en/Tutorial/ShiftOut.

All 16 of my LEDs are different brightnesses, but I want them to be the same. What affects this? They all use the same resistors. Is it my soldering job that could be making the difference?

It's not the soldering...

The first thing I'd suspect would be the LEDs. Are the LEDs all the same part number? Did you buy cheap LEDs? (Good LEDs can vary too... Usually the datasheet shows a minimum brightness and a typical brightness, at a specified current, but no maximum.)

Try swapping the brightest & dimmest in the circuit. If the bright one remains bright on a different output, it's the LED.

Resistors have a tolerance, but I'd be surprised if 10% resistors (the "worst" commonly available) would make a noticeable difference.

What is the resistor value? If the resistance is too low you might be "stressing" the chip and getting variations from that.

To test if the LED are the issue or the drive, I would suggest you connect all the LED's with their 220 ohms directly to 5V power. If the LEDs are all the same brightness the its the drive, if the LED's vary in brightness then its the LED's

The other thing to note is Red and Green LED's have significantly different specifications due to the materials needed to create different colors. With the same 220 Ohm resistor the green will be much dimmer than the red (typically).

DVDdoug: The first thing I'd suspect would be the LEDs. Are the LEDs all the same part number? Did you buy cheap LEDs? (Good LEDs can vary too... Usually the datasheet shows a minimum brightness and a typical brightness, at a specified current, but no maximum.)

I bought 16 of these LED buttons: https://www.adafruit.com/product/1477

Try swapping the brightest & dimmest in the circuit. If the bright one remains bright on a different output, it's the LED.

Ok, I'll try this when I get home.

What is the resistor value? If the resistance is too low you might be "stressing" the chip and getting variations from that.

220 Ohms

JohnRob: To test if the LED are the issue or the drive, I would suggest you connect all the LED's with their 220 ohms directly to 5V power. If the LEDs are all the same brightness the its the drive, if the LED's vary in brightness then its the LED's

Yeah, testing them all individually is what I'll try next. By 'drive' do you mean the 5v output from the arduino?

The other thing to note is Red and Green LED's have significantly different specifications due to the materials needed to create different colors. With the same 220 Ohm resistor the green will be much dimmer than the red (typically).

Huh, I did not know this. Thanks for the tip.

For reference.

led Vf.jpg

Maxisawesome: I bought 16 of these LED buttons: https://www.adafruit.com/product/1477

All identical colours right? Different brightness but supposed to be same colour, right?

groundFungus:
For reference.

led Vf.jpg

Most modern high-brightness green, blue and white LEDs are all GaN with about the same forward voltage,
just different quantum well dimensions (and a blob of phosphor for white). 3.0 to 3.2V or so. Otherwise
forward voltage in volts is pretty much the same as photon energy in electron-volts…

Unbranded LEDs are typically rejects from production lines, and will have a lot of variation… You get
what you pay for usually.