Having some more problems with WS2811s. Lots of flickering and I’ve tried every idea I can think of.
I’m controlling a strip of 60 (1m) with a 5V Arduino pro mini. The pro mini is powered by a 4xAA battery pack (at 5.8v) and the strip is on a 5V 200W supply. All share common GND. Also both ends of the strip’s 5V+GND are connected to the supply and data out is on GND. I put a 220 ohm resistor on the data line for good measure. With an all red test pattern, I get tons of flickering at the back of the strip. Lighting just the first 30 pixels works fine. Any ideas?
Indeed, I can remove the flickering at 64 (but not 128) when all are set to red. On all white, even at 16 I still see some though. If I reduce the updates to every couple of seconds, the strips change color on the updates with no flicker in between.
If I light up on the last 10 pixels on full white, no problem, but 20 is too many!
I tried a different strip and it behaved a little better but not by much. Maybe these are bad strips?
That really speaks of a power problem (the fact that changing brightness changes how much flickering you’re getting). Is your power supply a PC power supply by any chance? If so - not all the 5V rails on that are created equal - some are only 0.5-2A outputs.
Huh - were these ali-express sourced pro-minis? Or where did they come from? We had weird signal problems with nanos recently, that went away when swapping with anything that wasn’t a nano, really.
Michel that is likely a different issue. The wa2801 requires a certain amount of pause between writing to the strip. The data sheets that I have always put this at 24us, but apparently at least one manufacturer out there requires 500us. I will be updating the library to be more conservative in enforcing this v
@Greg_Friedland just a thought - check that the Pro Mini boards don’t use 20MHz crystals instead of 16MHz (by accident). I saw this exact problem when switching to 20MHz on the ATmega328, but thankfully the new version of FastSPI was able to handle it once I got everything else right (boot loader & Arduino boards.txt)
Yeah, the new version of the library uses the F_CPU value, which is the clock frequency, to adjust timings for the Timing specific chipsets like the ws2811
Interesting idea. I ended up ordering a bunch of teensy’s overnight mail to get them in time for bman. Won’t have a chance to test out this before but will try it afterwards.