Fastled not displaying the right colors at the end of the strip

Hi everyone,

I am having a strange behavior with my led strip that I converted to ESPHome. I build a Nanoleaf Replica and was using this Fastled implementation with it: https://github.com/NimmLor/esp8266-fastled-iot-webserver, however, it integrated with HomeAssistant via MQTT, and was the only device that used it so I decided to move to ESPHome as I have other Led devices using it.

When I converted it to the ESPHome Fastled implementation the end of the strip with 100% power. If I set the brightness to 100% and the color to white the end of the strip becomes yellowish. If a turndown the brightness level to 60% I get color consistency.


What I did to try to fix the problem:

  1. Replace my 3A power adaptor with a 5A
    Outcome: No change;
  2. Try using the following ids: fast_led and led050
    Outcome: No change;
  3. Try changing the max_refresh_rate to 10ms (100HZ) and 16ms (60HZ)
    Outcome: No change;

Device Information:
Board: ESP8266 - D1 Mini
Led Strip: RGB - WS2812B - 5V
Power Adapter - 5V / 5A

Configuration:

esphome:
  name: nanoleaf
  platform: ESP8266
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "xxxxxxxxxxxxxxxxxxxxx"

wifi:
  ssid: "MySSID"
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Nanoleaf Fallback Hotspot"
    password: "xxxxxxxx"

captive_portal:

# Device Configuration
light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: D4
    num_leds: 228
    rgb_order: GRB
    name: "Nanoleaf"

I had similar problem with long WS2812B string. It was related to poor (to long) ground and power lines. Solution was powering from both ends of string.

1 Like

You can see this behavior when they test 5v strips with power on only one end. You can also inject 1/2 by soldering on to the power lines at a cut point.

1 Like

I had an issue and ended up injecting power and limiting brightness.

As said before, you’re not powering the led strip correctly. Unfortunately you’re not describing your strip. It largely depends on what specs this strip has on how you to handle this power issue.

The lower the voltage, the higher the current that is running through your strip. If you have a 5V strip, you def. need to power the strip at least every 2.5m to 3m. With 12V or 24V it is not that big of a matter, but even there you should calculate what current is flowing through your strip.

And last but not least: this is electricity. You can easily fry something or set it on fire, if you don’t work exact with these things. And it doesn’t matter, how big the part is, that caught fire, it may be big enough to lite up your house… :wink: Not meant offensive, but to many people had damaged something, just out of nescience! :slight_smile:

2 Likes

Thanks all for the reply I run some more tests here. I installed back the FastLed and played with its built-in power management and that is the difference.

Functions
     void 	set_max_power_in_volts_and_milliamps (uint8_t volts, uint32_t milliamps)
 	        Set the maximum power used in milliamps for a given voltage. More...

When I set it to 5V and 5A it is limiting the maximum brightness to a level that would be the equivalent of 60% of the output from ESP Home, so I managed to use the color_correct to limit it to a value that works fine.

# Device Configuration
light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: D4
    num_leds: 228
    rgb_order: GRB
    max_refresh_rate: 16ms
    color_correct: [60%, 60%, 60%] 
    name: "Nanoleaf"

I will try to power it from both sides and monitor my current usage to make sure that I am not exciting the nominal values from my 5V power brick.

1 Like

I injected power on the other end of the strip and got the colors working, however, the transitions were strange, every time it transitioned to a new color I got a white flash of pure white.

I managed to solve that by reducing the maximum output to 80%, which was a good thing with 100% output I was consuming 6A of my 5A 5V adaptor. Now I am using just under 4A giving me a good safety margin.

1 Like

Another update, I fixed the strange behavior…due to a typo I was set the status led as the same pin as the LEDs control output pin