Trying out a new board (SparkFun IoT RedBoard - RP2350) and the AstronautDemo (I’d post a link to the demo, but I’m new here and can only include two html links…)
I couldn’t get the NeoPixel to work correctly with either of the default timings in:
The two default timings are (400, 850, 800, 450) and (800, 1700, 1600, 900) but using either of these resulted in more-or-less random behavior of the onboard NeoPixel.
Adafruit’s has NeoPixel documentation here:
https://learn.adafruit.com/adafruit-neopixel-uberguide/advanced-coding
Their documentation says that the WS2812 datasheet timing is incorrect and they recommend the (400, 850, 800, 450) timing used in the Micropython neopixel driver. But, as I said, that didn’t work on my board.
Despite Adafruit’s statement that the datasheet values are wrong, I was able to use them - (350, 800, 700, 600) - successfully.
I also found that I could use the Adafruit values if I changed the first “400” to “399” - (399, 850, 800, 450).
Also note that both Adafruit and the datasheet say that the timings have a range of ±150ns, so any of the three timing sets - (400…, (399…, or (350… - should actually work.
Anyway, I guess I’m just posting this in case anyone else runs into the issue.