I experienced something a tiny bit like this with some LPD8806 strips with the first pixel in each of my 4 segments ever so slightly glowing green when off. I found that adding a 2ms delay to my main loop fixed it.
In my case with the LPD8806 strips I think it was the clock line signal bleeding over to the data line. I believe it’s more of a hardware then software problem. And the first pixel glowing green was only apparent when looping really fast (and thus calling show very often). Hence the delay, even just 2ms long in my case, seemed to fix it.
I’m noticing something that may be related… it seems the more of the strip that is lit, the less it happens. For example… right now, all segments but the last two are lit and there are no “black is green” leds.
Curious, when you run the RGB Calibrate sketch are the pixels after the RGB black or do they have the green glow?
Other ideas popping around in my mind after watching the video… the way things are jumping around made me wonder if it’s power related.
Did you confirm the voltage you’re getting at the beginning of your strip?
What about adding a capacitor across the power terminals of the strip and a resistor to the data line?
Oddly, the problem seems to have gone away today. I have done nothing other than the tests. I wonder if something was “stuck” in the LED’s chipset and has somehow become un-stuck?
Well, if there’s one thing I’ve learned in the Arduino world it’s this: all abstractions are leaky. We think of software as deterministic, but between power glitches and memory overruns, it isn’t. We think of “digital” hardware as have discrete states, but between mismatched grounds, 5v supplies putting out 5.3v, capacitive effects of long wires, RF crosstalk, and loose connectors,we’re often forced to look down the abstraction stack-- sometimes way down. (Yesterday I had an LED strip that I’d wired up that just wouldn’t work… Turns out that one of the wires that I’d used was bad inside.)
Anyway, glad it’s working today. May it still be working tomorrow!
It’s nice and cool in the office this morning, so only 6-7 of the 10 segments are lit. The remaining three should be “black” but have the green thing happening.
Seems like when less segments are lit, current may be bleeding over? I’m no electronics expert, but would a resistor or capacitor make a difference?