Unified Firmware Source Code

Unified Firmware Source Code

In my last post on compiling Crazyflie firmware on Mac OS X, I mentioned that the band at Bitcraze had plans to eventually merge the Crazyflie 2.0 firmware source with the Crazyflie Nano (1.0) source on the master branch and now they have done it! Crazyflie Nano (1.0) and Crazyflie 2.0 firmware source code is now unified in the Bitcraze crazyflie-firmware GitHub repository on the “master” branch. This is really great news because it makes building for either (or both) targets even easier now! Read on for updated instructions on building Crazyflie firmware on Mac OS X given the new unified firmware source…


First off, it is important to note that both Crazyflie Nano (1.0) and Crazyflie 2.0 firmware can be built on Mac OS X using the same development environment and now (thanks to the recent Bitcraze work) the same source code as well. Much of what I’ve written about building both Crazyflie Nano (1.0) and Crazyflie 2.0 firmware on Mac OS X is still applicable, but now some things are just a bit easier — especially if you want to build firmware for both Crazyflie models. Without further delay, here is a quick rundown of the steps to build Crazyflie firmware on Mac OS X…

Using your friendly Terminal application:

cd ~/Downloads
curl http://blog.crazyflie.net/uploads/scripts/get_gcc-arm-embedded_v2.bash -O
chmod 755 get_gcc-arm-embedded_v2.bash
source ./get_gcc-arm-embedded_v2.bash
mkdir bitcraze.io; cd bitcraze.io
git clone https://github.com/bitcraze/crazyflie-firmware.git
cd crazyflie-firmware

Now, if you want to make the Crazyflie 2.0 firmware, simply make all:

make all

But, if you want to make Crazyflie Nano (1.0) firmware, add a parameter:

make all PLATFORM=CF1

There is a caveat. You will likely want to run clean builds if you’re switching between both models’ firmware. Save off any build output you want to keep from the last round (cf1.bin, cf2.dfu, etc…). The run make clean before you run the make command:

make clean
make all

Now it’s a really simple matter to build firmware for both Crazyflie Nano (1.0) and Crazyflie 2.0. With such ease, why not go hacking up the source? Get to it!!

Here’s the link to my script.

Comments are closed.