User Tools

Site Tools


This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to or


The documentation found here is generic and valid for all Crazyflie/Crazyradio versions. If you are looking for details on a specific product then have a look at the projects page for links.


For piloting and using the Crazyflie there's a number of clients available.

Client frameworks

Aside from stand-alone clients there's also sets of applications and scripts that works together for using the Crazyflie.

  • Vision and control: Collection of scripts and applications for using the Crazyflie with camera/Kinect for host


Getting started

For getting started with development and setting up the environment have a look at the following topics:


The architecture part of the documentation details things that are not User guide or API. It's information that's useful to have to understand how the system and it's parts fit together.


Some parts of the design span multiple firmwares and doesn't below to any one part of the system. Here's a more generic overview of these designs and below there's more detailed information about the specific parts that build them up.

Host side

Crazyflie side


For communicating with the Crazyflie there's a number of APIs available, here's a list:


  • CRTP: The communication protocol used for communicating with the Crazyflie
  • Bootloader: Protocol for bootloading the Crazyflie
  • Crazyradio USB: The communication protocol used to communicate with the Crazyradio via USB
  • Syslink: The communication protocol used in Crazyflie 2.0 between the two MCUs
  • Client ZMQ back-ends: The Crazyflie Python client supports a number of ZMQ back-ends for controlling it from other applications


* PWM to thrust: Thrust and RPM measurements.

doc/crazyflie/index.txt · Last modified: 2020-05-12 14:55 by kimberly