System overview

This page contain three main areas to consider when starting to understand the eco system of the crazyflie.

Check out the Documentation navigation overview if you can’t find what you are looking for or the Repository overview if you do and you want to go immediately to the source code.

System overview


The Crazyflie family of devices

The Crazyflie family of devices

The Crazyflie family members are the Crazyflie 2.0 nano quadcopter, the Crazyflie 2.1 nano quadcopter, Crazyflie 2.1+ nano quadcopter, the Crazyflie Bolt 1.1 quadcopter controller and the Roadrunner UWB positioning tag. They are all based on similar hardware but have a bit different flavours and properties. They run similar firmware and can be used with the other components in the Crazyflie ecosystem, such as clients and positioning systems.

Crazyradio and clients

Crazyradio and clients

The main client for controlling the Crazyflie device family is the python client that runs on a PC and communicates via the Crazyradio 2.0  USB dongle. The client uses a python library, which also is the main connection point for programs and scripts that communicate with the devices. There are also mobile phone apps for Android and IOS that connects via BLE, mainly for manual flight.

Swarms of Crazyflies can be controlled through the python library, the external CrazySwarm2 project with ROS 2 or other external projects.

Positioning technologies

Positioning technologies

Positioning support is needed for automated or autonomous flight. There are two in-house position systems in the Crazyflie ecosystem: the Lighthouse positioning system that uses SteamVR Base Stations and the Ultra Wide Band based Loco Positioning System. It is also possible to integrate with external positioning systems, for instance Motion Capture systems.