Работает только первый светодиод ws2812 при подключении к ESP8266

Действительно, с вайфаем работает через пень колоду. Первые 9-10 раз мигает как положено, потом начинается - то только первый мигает желтым, то все горят белым, первый мигает синим. Иногда прочухивается и начинает работать, но не долго. Как ни странно, но нормально работает с таким костылем:

#define STRIP_PIN 2
#define NUMLEDS 40

#include <FastLED.h>
#include <ESP8266WiFi.h>

CRGB strip[NUMLEDS];

void light(CRGB color = CRGB::White, byte bright = 150) {
  FastLED.setBrightness(bright);
  for (byte i; i < NUMLEDS; i++) {
    strip[i] = color;
    if (i % 10 == 0 || i == NUMLEDS - 1) {
      FastLED.show();
    }
  }
}

void setup() {
  Serial.begin(115200);

  WiFi.mode(WIFI_STA);
  WiFi.begin("**************", "***********");
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    delay(500);
    Serial.println(".");
  }
  Serial.println(WiFi.localIP());

  FastLED.addLeds<WS2811, STRIP_PIN, GRB>(strip, NUMLEDS);
  FastLED.setBrightness(50);
  FastLED.clear();
  FastLED.show();
}

void loop() {
  light();
  delay(500);
  light(CRGB::Black);
  delay(500);
}

Конструкция

if (i % 10 == 0 || i == NUMLEDS - 1) {

исключительно, чтобы FastLED.show() не вызывать на каждой итерации - это сильно замедляет цикл.

А уж что там вайфай нарушает - одним китайцам известно )))