I’m interested in the same application, actually.
PWM times matter for this. For one thing, if you set a constant intensity less than full, you’ll see the PWM as dots or dashes. If I set the 180x chip to about 10% brightness (value 25), I see dots in the air.
I tested the 180x a bit and no matter how fast you send out new data, it won’t start getting displayed until the next PWM cycle. So there is up to 2.5 ms delay between sending new data and the new data affecting the display, and you cannot change the output more than once very 2.5 ms (not even that really).
The delay isn’t constant; each pixel has its own asynchronous PWM, clock so there could be up to one PWM cycle of time difference between when even adjacent pixels begin displaying the next cycle of data.
And if you try to change the pixel data at close to 2.5ms cycle times, you wind up with effects that are like a beat frequency between your update rate and the PWM. Like if I send red/blue at 400 Hz, there will be long red patches then blue patches, etc. You really need to let it show a couple of PWM cycles at least before changing to a new value.
The 2811/2812 and 180x are the slowest PWM. The 2801 has a higher PWM frequency, and the 8806 even higher (from memory I think 2500 and 4000 Hz but check the data sheets), with the 1829 the highest at 7000 Hz. I’m hoping to try some of them next.
If you are doing custom PCBs (to get the viewing angles you want), you could potentially run several LEDs that you want to show at the same location in series for each channel of the chips; many of the chips can handle 12 or even 24v power (ie: you can stack LEDs). That means fewer chips to buy/solder/control, and potentially somewhat better power efficiency, if your DC-DC step up is efficient. Just an option to explore, it has tradeoffs.
The operating frequency affects how fast you can send new data to the chips. At 800 Kbps for the 2811/2812/180x, it takes 30 us per pixel, so 48 pixels would be about 1.5 ms. That’s fine, since you can’t reliably change colors nearly that fast anyway on those chips (see PWM above). The 2801 is just a little faster (around 1000 kbps). The 1829 is up to 1600 Kbps (high speed variant), or twice that speed. The 8806 is way faster, Dan keeps trying to push 20 Mbps, and 10 Mbps ought to be possible depending on what’s driving it.
So with an 1829 chip, one could send data to 48 pixels in around 750 us, and the PWM cycles are around 140 us so there would be 5+ PWM cycles in that time. I think getting over 1000 refreshes / second is probably doable. So that’s the direction I’m heading.
I’d like to hear how your project goes.