Go Down

Topic: WS2812B LED strip controlled by UNO not lighting (Read 6477 times) previous topic - next topic


1) Why is the dataline protection resistor now missing.

2) Post#1: "We are using a 5v external power supply with a 1000microFarad capacitor connected directly to the strip."

So where is it.

You can't just experiment with delicate electronics.
Get it right first time.
Assume you have blown at least the first LED with all these experiments.
Cut that section off, and solder the wires to the second LED. With ESD precautions!
If you haven't got an ESD-safe solder station, heat up your poker, unplug it from the power, and solder.
If the strip now works, try the first LED at the end of the strip.


I am puzzled by the difficulty.

I will be honest. I didn't and still don't have a resistor on the DATA line.
I didn't and still don't have a filter cap on +5V.

I have built two signs with these RGB stip lights.

There are places on these strips where it is easier to cut than others.


Apr 02, 2016, 03:20 am Last Edit: Apr 02, 2016, 03:24 am by Qdeathstar
sounds like you damaged your strip. Ws2812b is a fairly sensitive device that works well when used correctly. The guides say use capacitors and a resistor for a reason. although, personally, I'd try to get rid of the bread board. Seems like a recipe for shoddy connections.
A creaking creeping shadow
stiff against the freezing fog
glares at a tickless watch.

Time has failed him -- all things shall pass.


Code: [Select]
void loop() {
  // Turn the LED on, then pause
  leds[0] = CRGB::Red;
  // Now turn the LED off, then pause
  leds[0] = CRGB::Black;

Only three of the LEDs lit up after running the code and switching the power supply on and off. We still have the problem of different LEDs turning on each time the power is switched on and off.
I find it strange that you had 3 LEDs light up with this code! With this code only the first LED would turn on red then turn off.

Try adding this in your loop code:

Code: [Select]

  int i, j;

  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< NUM_LEDS; i++) {
      strip[i].setHue(((i * 256 / NUM_LEDS) + j) & 255);

This will give a rainbow effect through all the LEDs on your strip. If you still only get 3 LEDs after that, something is wrong with the strip after the LED that stops working. You may have to cut the strip after the last working one.

Also DO NOT leave out that resistor or the capacitor! Although the capacitor is not super critical, that resistor is necessary to protect the strip.

I have used these strips, the code from Adafruit and FastLED and even the code from the video you posted. All of them work without flaw. When you cannot get the strip to work, it is most likely a problem with the connections. Rarely is it a defective strip or pixel (unless you left off the resistor and blew the first pixel like I did at first! ;D lesson WELL learned!).

Give that a try and let us know how that worked out for you! :)  


Look, we need a perfectly focused photograph of your set-up with all wires and parts clearly visible as they terminate on the modules and show that as a link in the text, not an attachment.

The best way to do this is to take it outside in full daylight but not direct sun and use a digital camera at least a metre away from directly above (or very slightly offset to ensure all the connections are able to be distinguished) using the (actual) zoom to just include all parts of the assembly.

A popular mistake is to connect the data line to A6 instead of D6.


Apr 03, 2016, 04:41 am Last Edit: Apr 03, 2016, 03:06 pm by kewakl Reason: fix quote
A popular mistake is to connect the data line to A6 instead of D6.
He's using an UNO, so that isn't the issue.:P

I've never used the strips, but I have built a couple 4x4x4 cubes and a 4x4 panel using the WS8212B in the 5mm round package.
The capacitor is (almost always) required. It handles current spikes caused by LOW brightness to HIGH brightness changes that CAN:
-reset your controller(if powered by the same power supply.
-cause off color in the leds in the strip

The series resistor is necessary to help prevent destruction of the first led in the strip.
Since the led's color/brightness is controlled by DATA, the resistor does not modify brightness.

Go Up