The neo pixel component box did not worked with the current firmware which heavily rely on interrupts. The single-wire control protocol used by NeoPixels requires a very steady data stream at 800 kilobits per second. Bits must be issued at a precisely controlled rate. We are also generating pulses for motor driver, we have I2C oled and SPI SD card on board. It is not easy for Atmega328 to handle all this time critical processes.
- We can use Dotstars (APA102C and SK9822) which use a two-wire SPI-like protocol. It has no specific timing requirements, which makes it much less demanding to drive. Either a hardware SPI module or a bit-bashed equivalent can be used.
- We can use another micro controller like arm based systems that has extra timers for this time consuming process.
- Or we can work deeply on the firmware to find out a better software solution.
I will choose none of them. I am working on the mechanical design of the PnPAssist V2. I have better ideas for the component box. if i need to give a hint it will be a carousel!