Need help with eliminating LED-generated noise

The culprit is not the LEDs themselves, they're harmless, but the TLC5940s, which switch at high frequency to control LED brightness through PWM. You can't filter the PWM outputs (you can, but then the brightness control doesn't work properly anymore), so that's out, but you can try to do something about decoupling power supplies. Not guaranteed to work, the fact that the scope's probe picks up the signal unconnected indicates that it's probably radiated, but it's worth trying.
Decouple the TLC5940s properly. They have to provide a lot of power, so that means 100\$\mu\$F, 1\$\mu\$F and 100nF all parallel on the power supply for each device, the smallest value closest to the pins.
Decouple your 5V power to the microcontroller properly: 100nF close to the pins.


Are you really using a 24 V power supply with the TLC5940, when the first page of the TLC5940 datasheet clearly states the absolute maximum voltage on the output pins is rated at +18 V?

2.55 Vpp noise on your 5 V power rail? That's so bad that it makes me suspect that perhaps it's not real -- perhaps your 5 V power rail is fine, but something is producing magnetic fields so strong that the wire from your 'scope probe to your 'scope, acting like an antenna, is picking up 2.55 Vpp of noise.

If I were you, my next steps would be:

  1. Use a power supply less than the "17 V MAX Vo" mentioned on page 3 of the TLC5940 datasheet -- 12 VDC and 15 VDC power supplies are pretty common.
  2. try reducing magnetic noise by rearranging wires
  3. add more filtering to the 5V regulator
  4. carefully read and try to apply the Avoiding Noise tips.

magnetic noise

Your high-current loop runs from the +12 VDC power supply, to one end of the LED chains, through the LED chain, to the TLC input pins, out the TLC ground pins, back to the GND connector of the power supply, and out the +12 VDC connector again. The magnetic field generated by this loop is the area of this loop (which you can control by arranging wires differently) multiplied by the current of this loop (which you have little control over).

Try to minimize the area of this loop. Consider breaking this loop into 2 parts:

The low frequency loop: a pair of conductors, in a cable running from the power supply, to a big capacitor near the TLC chip, more or less directly connecting that capacitor to the +12 VDC and GND connectors on the power supply. The GND of the TLC chip also connected to one end of that capacitor. (perhaps a big 470 uF cap in parallel with a 10 uF ceramic cap).

The high frequency loop: a twisted pair of conductors, in a cable that runs from the TLC chip to the LED chain. Connect the TLC chip output to a small resistor (perhaps 10 Ohm?), and connect the other end of that resistor to one conductor of the twisted pair. Connect the other conductor of the pair the +12 VDC side of the big capacitor near the TLC chip.

As Rocket Surgeon surgeon pointed out, a low-pass filter might help:

  • RC low-pass filter: a very small capacitor from the cable side of that small resistor to GND might help, but a too-big capacitor there will mess up the PWM modulation
  • ferrite low-pass filter: A ferrite choke around the whole cable, or 2 ferrite beads, one around each conductor of the twisted pair, or both, might help.

Since it may seem that the TLC doesn't need to be connected to +12 VDC, it's all to easy to wire things in a way that produces the worst possible loop: A discrete "+12 VDC wire" from the 12 VDC power supply to the top of the LED chain, with enough room for a man to stand between that wire and the return path (the return path through the LED chain, then from the bottom of the LED chain to the TLC, and then from the TLC's ground pin back to the power supply), with over a square meter of loop area, producing lots of magnetic noise.

(perhaps a diagram here would make this clearer ...)

regulator filtering

Is the power supply really capable of handling this much current? Is maybe the long cables between the power supply and the rest of the system not capable of supporting the fast surge pulses?

Is maybe large swings on the +12 VDC line perhaps being coupled through the 5V regulator because of insufficient CMRR, or perhaps even the +12 VDC line being pulled so low that the the 5V regulator "drops out" low enough to reset your other devices?

I would go for a quick test first: drive your +5V regulator from a second power supply (say, a +10 V power supply) completely independent from the +12 V power supply driving your LEDs, except for the GND connecting the power supplies.

If a second power supply seems to fix the problem, perhaps more regulator filtering would allow the system to run off a single power supply: perhaps you only need to add a small resistor and diode in the path from +12 VDC to the regulator's Vin pin. Perhaps also add more or bigger capacitors from the regulator's Vin pin to GND.

best decoupling caps

If you know exactly what the noise frequencies are, the best decoupling caps to suppress that are the caps with the lowest impedance at those frequencies. (The actual impedance of the physical capacitors at those frequencies, not the theoretical impedance calculated by 1/jwC). You use an "impedance vs frequency chart" that looks something like this:

example impedance vs frequency chart

(from Tamara Schmitz and Mike Wong. "Choosing and Using Bypass Capacitors". )

Such charts always show that, at very low frequencies, big capacitance values are best; at very high frequencies, physically small packages are best.

A real impedance-vs-frequency chart is on page 61 of the Murata Chip Monolithic Ceramic Capacitors catalog.


Your noise is not random, and looks like ringing.

  • Effectively the circuit is a high frequincy pulse source with sharp rise/fall loaded to inductive cable with capacitance of closed LEDs on the end.

  • The cable has inductance in nanohenry, microhenry range

  • Capacitance is about few pF per LED

So the suggestion, answer, can be to add Low-Pass filter between PWM output and load.