I do want to point out a couple of issues that will be encountered when driving the addressable LED strips from the 3wire ports. Some strips will work directly without needing to do anything about these, however, some strips may need additional logic to work reliably.
-
The addressable LEDs (WS2812, neopixel) use 5V logic but the 3wire ports are 3.3V logic. The LED want’s to detect logic 1 at 3.6V or above according to datasheet, so really our logic levels are too low. However, some strips I’ve been playing with work anyway.
-
The 3wire ports have a 1k resistor in series with the output, this is needed as the 3wire ports have to handle both digital in, out and analog connections and we have to protect from possible errors such as short to ground. This resistor, in conjunction with both internal and external capacitance will slow the edges of the digital logic pulses going to the addressable led strip, again, some strips will handle this, others not
The best solution to both issues is using something like a 74HCT125 buffer inline with the output. The same solution is often used with RasPi and other boards using 3.3V logic. This may or may not be competition legal.