The new Raspberry Pi B Model B+ is here - Pick one up in the store and check our detailed guide!

LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Sat Sep 24, 2011 12:40 am

So... here's something interesting I found. I have a 5m (160-LED) strip of the LPD8806 modules. (Sidebar: these are really cool, and everyone should have some to play with.) I recently noticed the green LED on the very first pixel lights up anytime there is activity on the strip. This didn't become very noticeable until I started running the strip at very high speed.

What it appears to me is that there is some kind of bleeding of power from the clock line into the green RGB pin. The brightness of the green LED is less than the lowest value that you can set using the PWN built in to the LPD8806 chip... but acts as if it being "PWMed" by the clock line. Using the original software library, it is barely noticeable, because the clock is not running very fast (in my tests, around 800Hz). Once I started running the strip faster, the first green LED became brighter.

When I am not updating any LEDs on the strip, the first green LED is not lit. I have confirmed that this is the clock line, because if I upload a very small sketch that pulses pin 13 (SPI SCK), the first green LED lights dimly.

I am just curious to know if anyone else with these strips can duplicate this behaviour. It only happens on the first LED on the strip; none of the others are affected. And, again, it does happen using the original software library, it is just very very dim, and almost unnoticeable.

When I received my reel, the first LED / input side was wound at the center, so I am wondering if this is a result of the strip being curved too tightly when it was wound at the factory... or if it is just a manufacturing defect on that one particular module, which is coincidentally the first one on my strip. I'd certainly hate to declare an entire strip defective over one pixel, but it is annoying that I basically can't turn that pixel off... and at SPI speeds, it is lit very noticeably.

If anyone else can reproduce this issue, I would love to hear about it.
Thanks!
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by adafruit on Sat Sep 24, 2011 1:54 am

can you do me a biiig favor and post a minimal sketch that reproduces it and post an issue on the github repo arduino library? when we return to new york we can investigate :mrgreen:
User avatar
adafruit
 
Posts: 11635
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Sat Sep 24, 2011 4:26 pm

Will do. I have posted a few new videos. This one shows the green LED staying lit during the execution of the "strandtest.pde" example sketch. After the rainbow cycles, it goes into the colorChase() loops, where the first pixel should flash a color then go black. You can see here how it holds onto some green.
http://www.youtube.com/watch?v=pfSND6mzHi8

This second video shows the green light pulsing when I do nothing but manipulate the clock pin (in this case, 13).
http://www.youtube.com/watch?v=72OstyuO9V0

I loop through a series of values for delayMicroseconds(), just to show that the change in delay produces different brightness... just like it would if I were using PWM on that line. The sketch code is below.

Note that I am not touching any pins other than 13, and none of the other LEDs on the strip (the video captures LED#2 as well) experience this phenomenon. This leads me to believe it is a hardware issue.

Code: Select all | TOGGLE FULL SIZE
void setup() {
  pinMode(11, OUTPUT);
  pinMode(13, OUTPUT);
  digitalWrite(11, LOW);
}

void loop() {
  for (int i=25; i>0; i--) {
    for (int j=0; j<1000; j++) {
      digitalWrite(13, HIGH);
      delayMicroseconds(i);
      digitalWrite(13, LOW);
      delayMicroseconds(i);
    }
  }
}
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by bkuehner on Sat Sep 24, 2011 5:52 pm

I noticed the same effect (using the SPI-based 8806 code). I'd post a video of it, but I just shipped the strips out to a trade show. I cut one reel into two pieces. I got the faint green flicker on the LED closest to the original input connector. I did not notice that effect on the other piece which came from further down the strip, but I wasn't looking that hard for it (I was busy enough trying to hit my deadline).
bkuehner
 
Posts: 8
Joined: Sun Jan 09, 2011 7:19 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Sat Sep 24, 2011 6:59 pm

Good to know that this issue can be reproduced. It is interesting that yours also occurs only on the first LED near the input connector. Do you recall if the input side was wound at the center of the reel when you received it?
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

anomalous green pixel

by DoctorDidj on Tue Sep 27, 2011 8:59 am

I've been noticing the same thing. Only the green, only the first pixel (closest to the connector), and more noticeable using the high speed SPI library. Yes, my reel arrived with this end at the center of the winding, if that matters.

Also, I have one pixel that doesn't light its green, near the other end (15th, to be precise). I think this is just infant mortality. Limor should be aware that, although the quality control is quite high, it's not 100 percent.
Food Processor with Ears
User avatar
DoctorDidj
 
Posts: 28
Joined: Fri Apr 27, 2007 8:30 am
Location: Boston

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by CraigKC on Tue Oct 04, 2011 11:54 am

I also have experienced the exact same symptoms with the low glow on the first green LED as well. I bought 7 meters -- one full spool and one 2 meter strip. Both exhibited identical behavior though I can't say for sure if the end with the trouble was the inner-most on the full spool. I'm living with it for now but if there is ever a solution I'd be very interested. It's the only flaw I can find for an otherwise good strip.
CraigKC
 
Posts: 8
Joined: Thu Aug 18, 2011 3:36 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Tue Oct 04, 2011 12:09 pm

CraigKC--
The common thread seems to be on the "first" pixel as it comes from the factory. In other words, the one with the input connector already soldered on. Did your shorter strip also have the connector on it, or did you have to solder on your own connections? So far I've only seen one confirmation from someone that cut the strip and added their own connections, and on that segment they did not see the green LED.
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by pburgess on Tue Oct 04, 2011 7:15 pm

I might be talking out my rear end here...the LEDs are backordered so I haven't observed the issue in person nor tested this as a fix yet...but based on other types I've worked with, try putting a resistor each on the clock and data lines, between the strip and microcontroller. Try anything from 100 Ohms to 1K. Lemme know if that helps.
User avatar
pburgess
 
Posts: 2422
Joined: Sun Oct 26, 2008 1:29 am

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Wed Oct 05, 2011 7:45 pm

You rear-end has some pretty good ideas. I tried using a 330-ohm and 1K-ohm. At 1K, the effect is still there, but is only noticeable if it is dark and you get within a few feet of the strip. It's basically on par with what I see when using the original library without a resistor. Thanks for the tip! Though, I'm still curious to know what causes this, and why it doesn't seem to affect strips that have been cut.
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Wed Oct 05, 2011 7:50 pm

OK... after running a few different sketches, the 1K-ohm resistor doesn't work very well. It interferes with the clock too much. Oddly enough, this isn't consistent across different pattern routines. I scaled back to a 330 which helps some, and seems to keep the clock intact.
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by pburgess on Wed Oct 05, 2011 9:54 pm

Funky, I'd missed the bit where it doesn't happen with cut strips. Now I'm baffled again.

Anyway, my hunch is that it's sort of an induction phenomenon. The clock and data lines...very fast pulsed DC...are routed past the first LED before reaching the driver chip. Probably all three are lighting up to some degree, but green has the highest luminous flux. And then the clock/data output of each chip is likely very limited current, which is why the phenomenon isn't visible on subsequent LEDs...while the unrestrained output from the microcontroller is, what, like 25 mA? Might try still larger resistor values until it's under control but still gets the data through.

Just a theory.
User avatar
pburgess
 
Posts: 2422
Joined: Sun Oct 26, 2008 1:29 am

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Wed Oct 05, 2011 11:36 pm

You're definitely on to something. 330ohm seems to be as big as I can go (on a full 5m strip); once I go above that, I don't the correct results from the strip. Unless someone can confirm otherwise, the issue only appears to occur on the first LED that is soldered to the input connector at the factory. So far, at least one person has stated that when they cut the strip in two, they see the green LED on the first factory-soldered module, but not on the cut module.
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by adafruit on Thu Oct 06, 2011 10:39 am

it could be a glitch with the software as well, we dont have the datasheet so we had to reverse engineer it :/
User avatar
adafruit
 
Posts: 11635
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: LPD8806 Pixel Anomaly / Power Bleeding (Packaging Issue?)

by cjbaar on Thu Oct 06, 2011 2:26 pm

Anything is possible I guess... but that seems unlikely to me. As I demonstrated in the small sample sketch above, all I have to do is pulse the clock pin to produce the effect. In other words, I am achieving the anomaly without using anyone's software library... just sending a signal down a single line. A software issue also wouldn't explain why the effect goes away when the strip is cut.
cjbaar
 
Posts: 73
Joined: Fri Aug 26, 2011 4:58 pm