additionally, before neopixelWrite() did anything. (I am using GPIO2 on an ESP-01 board.)
As for the test:
Before the pulses start, there is a 100 µs high pulse followed by a 100 µs low pause, which should not be there.
The data bit pulses are a bit long, especially those for 0. I measured 550 ns, which gets recognized by standard WS2812 LEDs as a 1, so I always get three white LEDs, as every pulse is interpreted as 1.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I think I had to call
additionally, before neopixelWrite() did anything. (I am using GPIO2 on an ESP-01 board.)
As for the test:
I have repeatedly pointed to this really excellent article which describes the needed timing: http://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/
Or, maybe just use the timings from the manuka/adafruit code, where you have taken the rest of the code from. I am going to add two screenshots...