Newbie looking for help with large project

I need to run a project with thousands of feet of led strips independently addressable. I also need to allow multiple users to concurrently send commands (ideally via api) to turn on or off individual leds.

Would like guidance on how many pixelblaze drivers? Which led strips? How long can be? Rest api? Etc. Appreciate help in advance and can make order bow

This doesn’t sound like a good fit for Pixelblaze, what else have you looked at?
If at all?

Context is needed for sure. This isn’t your usual led project, it sounds like.

While it would be possible to build an app with a rest api which would then communicate to multiple PBs, PB by itself doesn’t have that at all, and it would be an awkward fit at best.

But maybe someone else has a good idea for this.

I appreciate the response. What I abstractly imagined was firestorm combined with the fact that each animation would last for 30-60 seconds max would allow the concurrent users to just override each animation.

How long a string (with expansion board or whatever) can one PB run?

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.