Hello, I am controlling 600 pixels (1800 leds) of ws2801 using a teensy3.1,


I am controlling 600 pixels (1800 leds) of ws2801 using a teensy3.1, I have power injected about every ten feet or so, and there are no sign of voltage drop (blue led dropping out). On the teensy, I have a level shifter installed for the logic and 330ohm resistors on the clock and data lines.

I am having a strange issue though… every 10-20 seconds I get a “blink” and it alerts that the red and blue leds briefly shut off. It only happens for a fraction of a second, but it seems like it’s every ic.

I only have only ran some cursory tests, and it seems that if I fade whites uo and down, the issue isn’t there, but if I keep it at a constant level, in my case, about half brightness, the issue reappears.

I am using a 100amp 12v server psu as power.


I’ve unplugged my usb cable and the problem appears to have gone away, not 100% on that yet though, so ideas, post em if ya gottem

Sounds like your MCU might be rebooting?

What would cause the mcu to reboot? I’ve got the teensy powered from a switch mode 12v-5v regulator (ceramic and electrolytic caps on both sides of the regulator)… 12v conning from same psu as the strips…

Haven’t noted a flicker since unplugging sun cable… But I’m not directly in front of the lights all the time…

Lots of reasons - a bug in your software could be tripping a hardware fault (for example, divide by zero, accessing memory that you shouldn’t). You mentioned it happening more when plugged in - it’s possible that something on your computer was triggering a reset, or maybe, for some reason, there was some power draw happening over the usb port while it was plugged in (many computers will reset the usb port if there’s too much power draw on it).

What’s the max amp draw for the regulator that you have? Maybe you’re pulling too much current for too long, causing the regulator to overheat and stop working, which cuts power to the leds, which lowers the current draw, which reduces the heat, which allows the regulator to start working again.

Lots of possible reasons :slight_smile: - i’m sure there’s a bunch that i’m forgetting.

well, the regulator only powers the teensy and an 433rx. the regulator is rated for 1amp

So what is regulating the 5v for the strips?

strips are 12v, zinner diodes for each IC, three RGB Led pixels wired in series per ic

@Mr_Happy Sorry, WHAT? The info you’re giving suggests that either the strips are not WS2801, or you’re powering 5V strips from 12V, which could certainly cause very unpredictable and bad results. I suggest you double check what types of strip you’re actually using immediately!

@1icri_Old_Account those are 12v strips - the three rgb led pixels per ws2801 chip is a giveaway.

12v for larger projects is easier… 12v power supplies more comment and less voltage drop%

@Daniel_Garcia Oh hmm. I guess I was researching in the wrong place. Ok, that makes sense.
Moving on,
+Mr Happy try to insert a small delay (maybe 5 milliseconds to begin with) in your loop. It might be that the strips for some reason don’t like having a continuous stream of data sent to them with no gaps between frames. I am not speaking from specific experience, by the way, but I have personally had other issues related to data output rate even though it’s a blocking function.

I havnt had an issue since unplugging the usb cord.

I had an issue where my teensy was running too fast causing the lights to shimmer, but I slowed it down from 96mhz to 48mhz and it fixed that issue. thanks for the tips though

If you want to keep the teensy CPU speed up, you can change the speed FastLED attempts to write to the leds with - see https://github.com/FastLED/FastLED/wiki/SPI-Hardware-or-Bit-banging - WS2801’s don’t like fast speeds, and FastLED’s bit-banging SPI output is a bit on the stupidly fast side :slight_smile: I’d say try values in the 1-4Mhz range

That sounds great. Eventually I’m moving these from a teensy to an esp8266… Does that function exist in the esp8266 version of fastLed?