Not sure if this is the right forum to ask, but I've written an ASM routine for Cortex M0+ to bit-bang output data for WS2812B LEDs that I'm happy to share. The function has a C declaration of
void output_ws2812B(uint8_t * pbuf, uint32_t count); // sends out 'count' bytes of data located at 'pbuf'.
Code was designed for a 12 MHz clock, but of course nops can be added for faster clocks. Bit encoding is 8 clocks hi, 4 lo for a '1' bit, and 4 clocks hi, 8 lo for a '0' bit. 31 lines of actual code.