I have a large panel of Ws2812B LEDs powered by an 80 Amp 5V external supply. I can only get 500 Leds to light using my Arduino Uno. The panel is 72 leds by 48 lines of lights. I have separated four to eight strips by power thinking the Arduino would drive the data line all the way to the end without an amplifier. (using laptop 5v) Any ideas for getting the data line from beginning to end?
72*48 = 3456 LEDs
each LED needs 3 bytes, so you need to send out 10,368 bytes total to update them all.
Could be that after 1500 bytes, the code has some pause of 50uS or more that allows the LEDs to update their outputs.
The Uno only has 2K of read/write memory, so you can’t control that number of LEDs with it. Even a Mega at 8K is not big enough. You need a controller with more read/write memory, like a Zero or Due or one of the Teensy seriese. As these are 3V3 systems you need a buffer to get the data signal up to 5V for the LEDs.
500 LEDs takes 1500 bytes sounds about right given you only have 2K, it is needed for other stuff as well.
Maybe have a look at AdaFruit ItsyBitsy M0.
ATSAMD21G18 32-bit Cortex M0+ with 256KB Flash and 32 KB RAM
1 x Special Vhigh output pin gives you the higher voltage from VBAT or VUSB, for driving NeoPixels, servos, and other high-current devices. Digital 5 level-shifted output for high-voltage logic level output.
Can drive NeoPixels or DotStars on any pins, with enough memory to drive 8000+ pixels. DMA-NeoPixel support on the VHigh pin so you can drive pixels without having to spend any processor time on it.
The DMA support for NeoPxels (=ws2812b) sounds great, however there is a drawback...
Also, the technique used in this library requires considerably more RAM for the NeoPixels…a little over four times as much. Where the “classic” library might use 180 bytes for 60 RGB NeoPixels, the new library consumes about 800 bytes for the same.
That means the OP would need 46K RAM to use the DMA version of the library.
Thank you so much. I need to review the suggested options. very helpful.
The currently out-of-stock ItsyBitsy M4 Express has some interesting specs.
Same size, form-factor as the ItsyBitsy 32u4 and ItsyBitsy M0, and nearly-identical pinout as both.
ATSAMD51 32-bit Cortex M4 core running at 120 MHz, 512 KB flash, 192 KB RAM
1 x Special Vhigh output pin gives you the higher voltage from VBAT or VUSB, for driving NeoPixels, servos, and other 5V-logic devices. Digital 5 level-shifted output for high-voltage logic level output.
Can drive NeoPixels or DotStars on any pins, with enough memory to drive 60,000+ pixels. DMA-NeoPixel support on the VHigh pin so you can drive pixels without having to spend any processor time on it.
Good spot! Suspect out-of-state because it's very new and waiting first production batch.