Computing stuff tied to the physical world

Pulsing the LED strip

In Hardware on Nov 11, 2011 at 00:01

With the new LED Node hookup there are some small color changes across the strip. Not a show stopper, but something I’d like to reduce as much as possible anyway, of course. Get ready for more oscilloscope shots…

I hooked up a flexible 5 m RGB LED strip (got plenty of those here), and instead of extending scope probes, decided to simply let the strip dangle on the table and bring the end back near the scope. Why make things any harder, eh?

Here’s is the blue LED pulse, which is the shortest one when trying to produce warm colors. Channel 1 (yellow) is hooked up to the power feed side of the LED strip and channel 2 (blue) to the end:

DSC 2759

Pulses are negative, because LEDs are connected between this signal and +12V. So low means on. Pretty nasty spikes, as you can see. Note also that the end of the strip doesn’t quite pull the blue LEDs down to zero.

Zooming out to see the bigger picture, you can see that the supply voltage (from my lab supply in this case) is also fluctuating due to what is probably the green LEDs being switched:

DSC 2762

Hm, I seem to be off with the voltages for some very strange reason. The supply is 12V, so I was expecting to see twice the amplitudes reported by the scope. After some pondering, it became obvious: there’s noting which will pull the blue LED signal to 12V, since there are three LED voltage drops! So I added a 100 kΩ resistor to +12V:

DSC 2764

Ignore the very slow rise times – a 100 kΩ resistor is a very weak pull-up. But it does explain the voltages seen.

What it means is that those “nasty spikes” seen before are probably not as serious as they seem. This is simply the +12V voltage rail – the odd thing is that the LEDs are placing the signal lines into a mid-level voltage range while nothing is connected (i.e. the MOSFET is open).

Anyway. There’s a small hickup as the MOSFET is brought into conductance, and there’s a large spike when it switches off again (without 100 kΩ). The average current draw from the power supply is 1.66 A in this setup.

Let’s zoom in into that switch-off spike at the end:

DSC 2755

We’re looking at 100 ns/div, i.e. a signal “ringing” at ≈ 10 MHz. This scope has a 60 MHz bandwidth, so I’m not 100% convinced that these results are in the LED Node + strip. The bottom line (a bit hard to see that it’s green) is a math operation, i.e. the difference between channel 1 and 2 – a 6V difference between both ends of the strip!

Then I connected +12V to both ends of the LED strip. The color change was dramatic. The reddish tint at the far end was gone (of course), and I couldn’t really see a reddish tint in the middle of the strip either.

More surprisingly, the current draw jumped to 1.82 A, i.e. some 10% more. It looks like the RGB strip is not dimensioned properly for carrying these types of currents, i.e. for driving a full 5 meter strip in one go.

Here are the two pulse tails with +12V on both ends:

DSC 2758

An even bigger difference, but about half the ringing frequency. Does this mean half the inductance?

It’s extremely difficult to capture the color effects in a photograph. These effects are far less visible in real life, let alone across the room (which has shades for which we seem to correct without any effort). But here goes:

DSC 2769

That’s, from top to bottom: the middle, end, and start of the strip. The +12V line is tied to both ends.

The colors are actually quite pleasant – but I’d still like to tweak it further. One change which comes to mind is to reduce the PWM frequency to perhaps 250 Hz, preferably in Phase Correct PWM mode, which would have the benefit that the blue and green LEDs don’t get switched on and off at the same time (unless their pulse widths are identical, which is unlikely for white tints).

All these scope traces makes one wonder how much RF noise other dimmed LED strips generate – I wouldn’t be surprised if that were the case even in commercial ones.


  1. Isn’t it great to have the tools to really see what is happening? You can only go so far with “thought experiments”. With this new evidence, perhaps the device should be renamed the “Distributed 10Mhz OOK transmitter” !

    The trailing edge ringing is from the energy stored in the forward biased LED’s – snap off the MOSFET driver (~100ns turn off delay) and the circuit “rings” until this stored energy is used up. The ringing frequency is determined by the distributed C’s (drive current dependent) and the interconnecting R’s (non trivial as your double feed result has shown) and L’s.

    Changing the driving frequency will change only how many rings per second, changing the driving “ramp” will damp the ringing. Several ways to change the turn-off behavior such as storage C across/ L in series with the LED string. A fast action freewheeling diode may introduce different ringing as it chops in/out of conduction.

    Perhaps the lowest cost is to implement shaping at the MOSFET. From the schematic, if you insert a forward biased diode between the DIO pin and the gate drive, the ‘off’ ramp will be controlled by the on board R (100KΩ) and gate capacitance. Ramping up/down time ~10% of repetition rate is a good rule of thumb for reducing “clock” generated RFI. The MOSFET works a little harder.

    Using the PWM to modulate a variable current source keeps the nasty edges constrained to a box to be dealt with – but a big jump in component count/cost.

  2. Hmmm, I haven’t noticed these kind of color differences in my 5M RGB ledstrips yet…

    I know however that this chinese stuff uses low pwm frequencies because at lowest brightness, there is visual flickering!

    Maybe the 60 led / meter strips are better than the 30 led / meter strips???

Comments are closed.