WS2812B flickers by mixed colors (eg. white)

Hi, I have the problem that my WS2812B (aka Neopixel?) flickers when using colors that are mixed by the three base colors.

The very first LED works reliable. All other (no regarding whether by code set to on or off) changes its color and brightness unpredictable. For my application I need white.

The HardwareSetting:

  • 18 LEDs WS2812B
  • power supplied new each 5 LEDs
  • Data Line length about 2 cm up to 5 cm each node2node
  • tested with Arduino Uno and Mini Pro 328
  • 1000 µF 16 V at "Power Dispatch Point"
  • 0,1 µF at the first 8 LEDs
  • 330 Ohm Resistor in line -> Microcontroller <> first LED

What I tested

  • different colors (mixed)
    no Effect
  • different colors (pure)
    works
  • having mixed an pure colors
    till the first mixed color works
    this first mixed and following LEDs flickers
  • change Brightness
    that actually had an impact to frequency of flickering, but not reliable
  • adding big Capacitor
    no Effect
  • adding small Capacitors
    no Effect
  • increased the diameter of datal ine
    no Effect
  • increased the diameter of used power line
    no Effect
  • switched DataPin from 3 to 4
    no Effect
  • switchted Microcontroller (ground connected to circuit)
    no Effect
  • exchange first and second LED in line by new one
    no Effect
  • reduce my Code to only show some static LED lights
    no Effect
  • change COLOR_ORDER
    no Effect
  • change delay to FastLED.delay
    made things worse (in other words: frequence of flicker increased)

My Code:

#include <FastLED.h>

#define entryCount 18

#define LED_DATA_PIN	3
#define LED_TYPE		WS2812B
#define COLOR_ORDER		GRB
#define BRIGHTNESS		200
CRGB leds[entryCount];


#define color CRGB:: Green
void setup() {
	FastLED.addLeds<LED_TYPE,LED_DATA_PIN,COLOR_ORDER>(leds, entryCount).setCorrection(TypicalLEDStrip);
	FastLED.setBrightness(BRIGHTNESS);

	delay(1000);

	leds[0] = color;
	leds[1] = color;
	leds[2] = color;
		leds[8] = color;
		leds[9] = color;
		leds[10] = CRGB::White;
		leds[11] = color;
		leds[12] = color;
		leds[16] = CRGB::White;
		leds[17] = color;
}

void loop() {
	FastLED.show();
	/*FastLED.*/delay(500);
}

I checked the PowerSupply with my oscillator with holding 4.99 Volt - it never fall below this point.


About one tip I am curious I often read about is to connect ground at first and 5V second. How can I handle this when plug in my USB Connector?




Hello
Does your powersupply fits to the energie requirements of the project.

Thank you for your Reply.

I guess yes. The PowerSource is the 5 Volt Line of a computer power supply. The only really bottleneck is the MicroUSB-Connector.

The Voltage never dropped any noticeable. See also:

I checked the PowerSupply with my oscillator with holding 4.99 Volt - it never fall below this point.

Note: The first LED in the DataLine is the last unit in one of the PowerStrings. And this one is the only LEDs that works reliable.

I also tested this problem by using CHSV. As long as I set the saturation to 255, it works (pure color). As soon as I change it, it starts to flicker.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.