Hi there @Trapperjon !
April 2023 update
The new sync feature makes Pixelblaze a good fit for this kind of project now. You can essentially scale up by adding more Pixelblaze controllers spread throughout your installation as long as they can reach each other via WiFi. A high-powered or mesh WiFi infrastructure can extend this to very large distances.
All the pixel rate and frame-per-second generation math below is now a little outdated simply because you can add more Pixelblaze to scale your edge compute and get to your target frame rate.
Original 2021 reply
When you say “thousands of feet”, I’ll conservatively assume 2000ft, 30/m = over 18K LEDs.
Here are the applicable performance factors. From various docs:
“Pixelblaze has a single output capable of supporting the various LED types up to 5,000 APA102 LED or 2,500 WS2812 LEDs.”
(For the output expander) “Each channel can have its own color ordering, and can support a mix of RGB and RGBW across channels or LED types, and any mix of length, up to 800 RGB pixels or 600 RGBW pixels per channel for the WS2812 / NeoPixel types, and 600 LEDs for the APA102 / DotStar types. Thats up to 6,400 pixels per board, or 51,200 with eight!”
A Pixelblaze V3 generates 48Kpix/s on average. This post has really helpful reference info where you’ll come to understand that you are really scaling everything around your desired frame rate.
For example, on v3, If you wanted to get to 30 frames per second (a refresh rate similar to video) that’s a maximum of 1,200 pixels before adding another Pixelblaze and synchronizing them with Firestorm. So, for 18K pixels, 15 Pixelblaze. This also assumes there’s no symmetry - you really need to be able to address 18K pixels completely independently.
If you were planning for ambiance / slow fades at 10 FPS, that’s 5 Pixelblaze for 18K LEDs.
If you’re using the much cheaper (and uglier, if I’m being honest) WS281X pixels, the transmission protocol is much slower and therefore you would want to also consider the output expander board. It also allows you to wire for a star topology vs one long signal chain. Even with proper power injection, I don’t think you want 18K LEDs in a single signal chain. For reference, WS281X pixels transmit at 33K pixels per second, APA102/SK9822 transmit at 940K pixels per second.
I’m sure you could hack together something with Firestorm for the API you’re looking for; it’s open source. I’ve made several decent contributions and I don’t even really know the node/express/react stack. To Scruffy’s point though, there may be other solutions better suited to a very large install. I don’t have experience with those platforms, but have heard Falcon/PixLite controllers with the Resolume, LX Studio or MADRIX light designers are popular setups for large scale.