Driving NeoPixels with the Z80
Shiela Dixon demonstrates addressable LED control with sub-8 MHz Z80 processors.
In 2022, Shiela Dixon created a MAX7219-based LED matrix module for the 7.3 MHz RC2014 neo-retro computing platform. While she saw this as a nice enhancement, she also notes that there’s only so much you can do with a single-color LED array. RGB LEDs would be the next logical step in matrix capability, and using addressable NeoPixel-style LEDs would allow this to be implemented with just one line of data.
The only “tiny” problem here is that the NeoPixel protocol is quite time sensitive, and per this Adafruit matrix listing, an 8MHz or faster processor is required. Dixon, however, was undeterred and instead took this “requirement” as a challenge.
To get things working did require careful programming, using concepts explained in this article. As it turns out, some protocol timing requirements are quite strict, where others have a bit of wiggle-room. She also designed two boards in this quest for controllable luminescence, one that accommodate a full-sized 8x8 addressable LED matrix, and an 8-LED module that matches the shorter style of typical RC2014 cards.
While 7.3 MHz may not seem like a huge stretch when compared to the 8 MHz requirement, Dixon took this one step further (back?) and got LEDs running on a 3.5 MHz ZX Spectrum computer. It’s an impressive feat, and her writeup comes with encouragement to not just accept what you’re told. Understand the why, and look for workarounds if needed. You can see the RC2014 version in the first video below, followed by a ZX Spectrum demo in the second clip.