One of the first questions I was asked when I introduced Pixelblaze was “how can I control many at the same time?”
April 2023 Update
Most people will want to check out the new sync feature. This feature is in firmware v3.40 and above. It allows a single Pixelblaze to run patterns and playlists across multiple Pixelblaze (as well as to send sensor board data wirelessly to other Pixelblazes).
See how to use the sync feature in the announcement.
Firestorm is another solution for synchronizing many Pixelblazes, and it was the only solution from 2018-2022. The main difference is that while the sync feature runs directly on a Pixelblaze board, Firestorm is a NodeJS/React app that runs on a separate computer, such as a laptop or Raspberry Pi.
There are a few cases where using Firestorm makes sense:
- Firestorm is open source, so it’s a good solution if you needed to customize the way sync works for your particular project. For example:
- You need to trigger patterns based on external events from other APIs, such as DMX, OSC, MIDI, or an internet-connected service such as a weather API.
- You want to orchestrate things that can’t be yet controlled by the Sync feature, such as pushing arbitrary variables out to multiple Pixelblazes
- You need a lot of computing power for something Pixelblaze can’t do
- You needed an interface that audience members could use to trigger different patterns without being able to edit code and settings, such as in a museum or interactive art piece.
- Your WiFi network is weak or strained and cannot handle the marginal additional traffic required by the sync feature. Firestorm uses infrequent and concise network messages for device discovery, time sync, pattern list, and pattern launch actions, whereas the built-in sync sends entire patterns at launch and 40Hz sensor board data over the network.
Firestorm is not a good solution if you need to take sensor board data and distribute it to many Pixelblazes, though we’d welcome that as a community-contributed enhancement.
Original March 2019 post
Originally Pixelblaze didn’t have anything to use multiple Pixelblazes on a network, but around summer of '18 I worked on a project to sync and control a whole network of Pixelblaze for a theme camp. Whats a lot of 'blaze? A Firestorm!
Pixelblaze Firestorm synchronizes the animation timers of multiple Pixelblaze on a network, and allows for switching patterns simultaneously.
Firestorm also exposes a simple API, and can be used for all kinds of smart home integration projects, or used as a base for creating your own Pixelblaze control console.
Firestorm was designed with reliability in mind as well. It remembers the current settings and last command and will resend those in case of a network error or a device reset.
Firestorm is a web server application that runs on a computer. Once installed and running, it can server out web pages from that computer to mobile devices.
It can run on a laptop, or desktop, or something like a Raspberry Pi. It’s based on NodeJS, About | Node.js and can run anywhere that NodeJS does.
I include instructions for installing on a Raspberry Pi on the GitHub page. It would be similar for other Linux based systems, but would vary for Windows and Mac (and I don’t have install instructions for them).
Go check out Firestorm on GitHub