This experiment is to see if I can do the same for a much smaller PIC: 12F1840 driven at it's max clock rate of 32Mhz and using the RGBW version of the NEO: An Adafruit NEOPixel stick (8 NEOs with RGBW LEDs). I was able to do it as can be seen in the video:
The PIC is configured to use internal PLL for generating an internal 32 Mhz clock which, with a few coding optimizations is just fast enough to get within specs of the NEOs for that critical positive pulse width. In addition I coded this to use 32 bit format for the RGBW version of the NEO.
So now I can use this same technique to incorporate NEOs into a much smaller (8 pin device) PIC.
The schematic for this POC:
The entire project was coded in XC8 (free version) with one function using in-line assembler to get the speed needed to meet timing requirements for the NEOs.
The zipped MPLABX project package is here.