Battery Powered WS2812B LED issues

this one is driving me nuts....

I am using an arduino Nano board, Powered with a 9V battery. I have a 100uF capacitor on the 5V/Ground circuts before the LED connection.

When I hook this up to a test board full of WS2812 LED's it works fine. I have a simple rainbow animation cycle running, and it runs perfect.

When I hook this up to a WS2812*B* strip, I get various results. sometimes the lights dont animate at all, but just remain on the first color that it boots up to, other times it will rotate through color cycles for random number of times, then freeze. after a random amount of time, the LEDs also them go dim, like the battery is dying. But, I test it, and it is fine.

the WS2812 led's are individual lights I have soldered together. the WS2812*B* are on a strand that came manufactured on a spool. is it possible the B lights are drawing more amps? or have more resistance because of the space between the LEDs?

I have also tested this on multiple B strands with the same results, and the color most often gets frozen in the 'red' cycle of the rainbow, if that matters.

I dont think its a code problem, because it runs just fine on the non-B lights...

UPDATE: further tests show that this behavior is happening to the WS2812 lights as well....

so.... maybe its just over drawn power problem? there are 57 LEDs on this project. is that too many for a Nono and a 9V battery to handle?

Keep in mind I do have a 100uF capacitor in the circuit as well.


tried lowering the brightness of the LEDs from 200 to 50. seems to be working now. The over-brightness seemed to be drawing too much power for the battery to keep up with.

How many LEDs.

What ‘9volt battery’

Hope it isn’t a smoke alarm battery.
9volt block batteries can barely supply enough current for the Arduino itself, and only for a short while.

Yes, PP9 batteries should be used for smoke alarms, useless for anything else.

Try 3 X AA or 4 X rechargeable AA. Split the +V and GND wires from the battery and connect one pair to the 5V & GND pins on the Arduino and the other pair to the + & - on the strip.