The entire workflow of the Skybrush Suite has recently been performance-tested successfully with 5000 drones, in close cooperation with our US partner, Sky Elements.
Over the last few months, we have been busy scaling and optimizing our workflow for this level of complexity. The time has now come to release new stable versions of essentially all Skybrush components involved in this process. This blog post summarizes the highlights of this major release.
Skybrush Studio #
- ✅ Skybrush Studio for Blender version: 4.0.1
- ✅ Skybrush Studio Server version: 2.33.0
Our design component has undergone a significant review to speed up the Blender plugin itself. At the same time, we optimized Skybrush Studio Server behind the scenes by rewriting some of the underlying calculations from Python to Rust to improve performance. The way our add-on handles light animations has been refactored, resulting in acceptable processing times for drone shows involving thousands of drones. We also paid special attention to the conversion process from Blender to .skyc, which is now significantly faster.
In parallel, we prepared Skybrush Studio to be compatible with the brand-new Blender release, version 5.0.
A dedicated blog post covering the many new features and bug fixes in this Skybrush Studio release will be published soon. Until then, you can review the changelog.
Skybrush Viewer #
- ✅ Skybrush Viewer version: 2.8.0
The default configuration of Skybrush Viewer now supports more than 5000 drones. Show playback is smooth on a capable laptop. Further optimizations are planned to speed up calculations in the validation view, including moving these calculations to a background thread so they do not block the main user interface.
Several useful features have been added since the previous release, including the exclusion of drones at their takeoff or landing positions from proximity calculations, a “Reload show” button, and more detailed metadata sections. In particular, fine-tuning of the proximity calculations now allows validation of multi-stage shows in which some drones remain idle on the ground until their scheduled takeoff. Proximity checks are effectively performed only for drones that are airborne.
For further details, please see the changelog.
Skybrush Sidekick #
- ✅ Skybrush Sidekick version: 1.8.1
Skybrush Sidekick is a relatively simple component designed for one-directional communication, so scaling it required little effort. However, together with the new Skybrush firmware, Skybrush Sidekick now makes it possible to address individual drones beyond the 250-drone limit imposed by the 8-bit MAVLink drone ID. More details are available in this previous blog post.
Skybrush firmware #
- ✅ Skybrush firmware version: 20251017 (based on CMCopter-4.6 / ArduCopter 4.6.3.)
The Skybrush firmware has also undergone a thorough review to support large-scale drone shows.
We upgraded our firmware fork to the latest stable ArduCopter release, version 4.6.3, and added a new show-specific compact telemetry message, new pyro drivers, and a new status flag that reports high ESC error rates in real time.
Skybrush Server #
- ✅ Skybrush Server version: 2.40.2
The most demanding optimization work required to support smooth operations with thousands of drones was carried out in Skybrush Server. We released a new extension called Skynet, dedicated to network scaling. This extension is available to users with a Pro license.
Skynet is written in Rust and handles much of the message parsing that proved too demanding for the original open-source Python extensions. It also includes sophisticated filtering of incoming messages to reduce server load and supports the new compact telemetry messages introduced in the Skybrush firmware. Setting up Skynet is not trivial, so if you operate a fleet that would benefit from it, please get in touch. We will update your existing server configuration free of charge.
Many other parts of Skybrush Server have also been performance-optimized. With the new version and a solid networking setup, we can achieve show upload speeds of over 500 drones per minute on site, with full stability and accuracy, and smooth operation with up to 5000 drones. Scaling beyond this point is primarily a matter of having larger fleets available for testing.
For a complete list of updates, see the server changelog.
Skybrush Live #
- ✅ Skybrush Live version: 2.12.1
Finally, we tested the performance of our main ground control station, Skybrush Live, on large-scale shows. Many long-running tasks were moved to separate worker threads to prevent blocking the main thread, and several parts of the codebase were optimized to substantially reduce execution time for complex calculations. With the latest versions of Skybrush Server and Live, a capable ground station laptop can manage more than 5000 drones on its own, with CPU capacity still available for other tasks. A separate server computer is no longer required.
Working with Sky Elements on site was a valuable experience. We learned a great deal from observing how their professional operators use Skybrush, fixed minor issues directly in the field, and returned with a long list of ideas for future features that will further improve the Skybrush Live user experience.
The full list of recent changes is available in the Skybrush Live changelog.
What’s next? #
For Sky Elements, an exciting show (the largest drone show to ever happen in the United States) is coming up soon. Preliminary teasers are available on their Instagram channel.
For us, it is business as usual: continued development and experimentation. We enjoy working on Skybrush and plan to keep doing so as long as interest remains strong and the community stays as engaged and supportive as it has been over the past few years.
For you, the next step may be a visit to the Skybrush webshop to purchase the professional versions of Skybrush modules. These are required for professional drone show operations at this scale and are also recommended for smaller operators aiming to improve safety, performance, and operational confidence.
Cover image generated by ChatGPT