The tool we built to flash multiple Compute Modules at once
When you’re building products based on Compute Modules, installing an OS is a simple task: until you have to do it dozens or hundreds of times.
At blackdevice, many of the products we develop run custom operating systems. Preparing each Compute Module individually quickly became a bottleneck in our workflow, so we built our own solution: FlashRock, a hardware and software platform capable of programming up to seven Compute Modules at once.
Explore the Multi Compute Module flasher project →
Seven compute modules, one batch
FlashRock provides seven dedicated slots for Compute Modules, connected through their Hirose connectors.
The platform supports Radxa Compute Module 3, Raspberry Pi CM4 and Raspberry Pi CM5. Once the modules are connected, the process is managed through the FlashRock software.
After connecting power and USB, the application automatically detects the installed modules and their slots. We can then select the modules we want to program, choose the operating system image and start the process.

FlashRock handles the rest automatically, programming the modules in pairs and moving on to the next ones as each pair is completed.
The status LEDs on the board provide a simple visual indication of the process. Once a module has been successfully programmed, its LED turns green.
The software also keeps track of the entire batch and confirms when all modules are ready.
7 out of 7 Compute Modules ready.
FlashRock is designed for real production workflows
The point of FlashRock isn’t simply to make flashing faster. It gives us a more controlled and repeatable way to prepare the Compute Modules that go into our products.
It is also useful when a module needs to be programmed again.
By pressing the reset button, an already configured Compute Module can be returned to flashing mode. FlashRock detects it again and allows a new operating system image to be installed.
That makes the same tool useful throughout development, testing and production.
FlashRock and Hive
FlashRock is now also part of the workflow behind Hive.
Hive uses Raspberry Pi Compute Modules in its beenodes, with each of them running its own operating system. Before those modules become part of a Hive system, they need to be prepared and configured.
With FlashRock, we can also load the OS onto multiple beenodes in a single operation, making the preparation process considerably simpler.
It’s a good example of how the different parts of our work connect: the hardware we design, the software we develop and the tools we build to deploy our products.
Built for our needs, and adaptable to others
FlashRock was developed around our own production requirements, but the underlying approach can be adapted to other Compute Module projects.
We’ve documented the hardware and software in more detail on the Multi Compute Module Flasher project page, where you can also find information about possible configurations and get in touch with our engineering team if you’re looking for a similar solution.
The video above shows the complete process, from installing the seven modules to completing the batch and re-flashing an already programmed module.
For more projects and engineering stories, explore the rest of our blog and subscribe to our newsletter below to follow what we’re building.



