Skybrush firmware

Customized firmware for outdoor and indoor drones

Skybrush firmware

Skybrush Live needs a custom firmware in order to allow a drone to track trajectories in a precise manner with time constraints. This page provides pre-compiled binaries of our custom firmware for the most popular flight controllers so you can install it on your drones without having to compile it from source code.

Our firmware for outdoor drones is based on ArduCopter, while the indoor firmware is based on the Crazyflie firmware. We are extremely grateful for the developers of both projects for providing a rock-solid base on which we could build our own solution, and we are committed to tracking upstream releases closely. We aim to publish our own variant of the upstream firmware within a few weeks of the official release.

Download Skybrush firmware #

For ArduCopter-based drones #

Please wait...

The firmware that you can download here corresponds to the stable version. These versions have been tested either by us or by members of the Skybrush community. Make sure to pick the firmware version that corresponds to your flight controller.

If you do not see your flight controller here, try browsing the development versions below, but note that the development versions are not tested thoroughly yet.

For Crazyflie drones #

Please wait...
Crazyflie 2.1 Lighthouse
Use this firmware for Crazyflie 2.1 drones with the LED deck and the Lighthouse deck
Crazyflie 2.1 UWB
Use this firmware for Crazyflie 2.1 drones with the LED deck and the Loco (UWB) deck
Show prototype v2 Lighthouse
Use this firmware for custom brushless builds based on the Crazyflie Bolt, the LED deck and the Lighthouse deck, witn single-cell Li-Ion batteries
Show prototype v2 UWB
Use this firmware for custom brushless builds based on the Crazyflie Bolt, the Loco deck and the Lighthouse deck, witn single-cell Li-Ion batteries

Contact us on our Discord channel for instructions about building a custom brushless show drone based on the Crazyflie Bolt.

Development versions #

For ArduCopter-based drones #

Please wait...

The firmware versions that you can download in this section correspond to the development version. These versions have not been tested thoroughly yet and we appreciate feedback from the community. FIrmware images will be moved from the development section to the stable section if we have either tested them ourselves or if we have received confirmation from the community that these images work reliably.

Warning #

Be careful: these firmware images lack the flight heritage of the stable images and have not been tested thoroughly. You are using these firmware images entirely at your own risk.

Contact us on our Discord channel if you tried these images and you would like to report your experiences (no matter whether they are positive or negative). You can also contact us if you need help or if you do not see your flight controller here. Depending on our support workload, we might be able to prepare a pre-compiled firmware for you. The general rule of thumb is that if your flight controller is supported by ArduPilot and has an SD card slot, then most likely we can provide a firmware image in the development section.

Compiling the firmware on your own #

You can get the source code of the firmware from Github. Our modifications are in the CMCopter-... branches, where ... stands for the major and minor versions of the ArduCopter branch that we used as a base.

Note #

When working with the source code of our firmware fork, make sure to check out one of the CMCopter-... branches with the appropriate upstream ArduPilot version number as the master branch simply tracks ArduPilot's master branch.

Setting up your development environment #

You will need at least Python, a bash-compatible shell and an ARM cross-compiler to compile the firmware. Please refer to the development documentation of ArduCopter for setting up your environment.

Building the firmware #

Our branches contain a buildall.sh bash shell script at the root. This script compiles all supported variants if you have the necessary development tools installed on your machine. The built firmware images will be placed in the dist/ folder.

Building the firmware for a single board only #

THe buildall.sh script can be configured to build for a single biard only with the BOARDS environment variable. For instance, to build the firmware for the Cube Orange only, run BOARDS=CubeOrange ./buildall.sh.

Do you need help with getting started?

Browse our community support pages or get premium support with Skybrush Live Professional.

essential