There are essentially 3 things in the Neopixel uberguide for running neopixels on 3.3v systems using USB/VIN power:
- Have a fast enough level shifter on the data line to bring the data pin up to the VIN used for the neopixels. The new BFF has this;
- Have a 300 - 500 ohm resistor before data pin connects to the neopixel to prevent ringing. I don't know if the BFF provides this.
- Have a 500–1000 µF capacitor at 6.3V or higher to buffer the power supply against power spikes. The BFF doesn't seem to have this.
- The level shifter eliminates the need for the resistor. I know the PJRC OctoWs2811 board has 100 ohm resistors between the level shifter outputs and the RJ45 connectors, and it looks like the NeoPXL8 board may also have resistors, but I can't really tell. So I suspect the level shifter does not eliminate the need for the resistor.
- Given that the BFF is likely to only be used for small number of neopixels (< 100 or so), perhaps the issue with ringing doesn't typically show up in smaller installations.
- Given the QT PY form factor, perhaps it is expected that the BFF only be used with power banks instead of more complex power setups, and perhaps ringing isn't an issue with that system.
I can imagine that if the expectation is that the BFF would typically be used with power bank batteries, that you really don't need the capacitor. Or perhaps, users are just used to inserting capacitors manually.
I must admit, I really don't know what ringing is and when it shows up. Over the years, I've had my share of quirky neopixels, but they seem to be heisenbugs -- if you look at them, they disappear. I built a test setup, where I could vary lots of things (using 1 of 2 level shifters or none, using capacitors, using resistors, using alternate power supplies, etc.) and I haven't seen any quirky behavior such that I could use the board to narrow down what the issue is. Now, I never build the really big neopixel displays.
I will say, when Adafruit switched from Ws2812b's to Sk6812's in their neopixels, the quirky things have gone down.
I sometimes 'forget' to do the resistor, level shift, and capacitor and usually it seems to work.
I am curious about why A3 was the pin chosen for the default pin. Granted there are few enough pins on the QT PY that no matter what you pick, it has alternate uses. I would think that perhaps MOSI might have been a better choice, since that is the pin on the QT PY M0 boards that can be used with the Neopixel_ZeroDMA library (at the cost of not being able to drive SPI screens -- but SPI typically uses enough pins that you might be better going to larger form factors like ItsyBitsy or Feather).