Nano + WS2811 = WTH??
Tonight Dan and I saw something that surprised both of us; I’m wondering if anyone else has seen this.
Basically, when driving a 5m strip of WS2811’s from an Arduino Nano, everything was fine until around pixel #120 (or so). Everything that was lit past that point looked like angry fireworks: colors all messed up, adjacent pixels lighting spontaneously, dogs and cats living together.
We repeated this result with two (very) different WS2811 strips, and with two (somewhat) different Nanos – with the same crazy results.
Switching to an Uno or to a Mega made the symptoms go away.
Grounding the data line at the end of the strip helped a little, but not much. Using external (non USB) power didn’t make any difference, IIRC.
Anyone else seen Nanos behaving badly with WS2811s?
Yes, I personally experienced this problem this project: on http://www.youtube.com/watch?v=ydEBsrZcgdE I “cured” it by moving the LED array declarations to the very beginning of the program on a hunch, the problem went away.
Huh - that’s the type of thing that makes me think there’s some weird memory issue. I wonder if the nano’s are messed up in their memory layout somehow?
Also,when I was having that problem previous to moving the struct declaration, it would behave itself until I hit… yeah holy crap it was about 120 LEDs. That piece has 420 WS2811s in it (I swear that wasn’t on purpose!)
Did you ever resolve the nano issue? The only thing that occurs to me is different power supply regulators on the boards; the ATMega328P ought to be the same. Check with separate power supplies for the strip and the nano. (Reaching a bit there, but when all the reasonable explanations are exhausted, look for mysterious and unexplained power supply glitches!)
I believe we tried power separation, which changed the crazy but did not eliminate it IIRC.
We also briefly thought there might be a memory timing thing with the Nano, but that appears not to be it; the memory on the Nano is the same as on the Uno etc.
Aside - you say that grounding the data line at end helped a little. Was that just a stab in the dark or have you found that technique to be helpful in other circumstances? And did you ground it through a resistor?
This one really puzzles me. It bothers me because I’ve considered usning nano clones to get the 5v processor with 3.3v regulation for powering some peripherals. Just to cross it off the list - these were Nano 3.0 models with the '328, not the older ones with a '168 and less memory, right? Were you using hardware SPI or software pins?
I can send you a Nano and Pro Mini if you want something to play with, @Daniel_Garcia - just drop me a line with your address and I’ll stick it in the (fkn slow!) mail.