Crazyflie 2.1+

Make your ideas fly!

How it works

The Crazyflie 2.1+. is a versatile open source flying development platform that only weighs 27g and fits in the palm of your hand.

It’s not only a good flyer, the Crazyflie 2.1+ is also equipped with low-latency/long-range radio as well as Bluetooth LE. This gives you the option of downloading our app and using your mobile device as a controller or, in combination with the Crazyradio 2.0 or Crazyradio PA, using your computer to display data and fly with a game controller.

The Crazyflie 2.1+ version of the successful Crazyflie 2.x development platform comes with upgraded battery and propellers for a up to 15% improved flight performance. Together with an extensive ecosystem of software and deck expansions it’s ideal for education, research and swarming.

Specifications

Usage

We designed the Crazyflie 2.1+ to be as flexible as possible. For us, this meant adding as many features as we could fit and writing firmware made to be modified. In addition to the default functionality that comes with the Crazyflie 2.1+ we added a flexible expansion interface where a variety of expansion decks can be attached, both on the top and the bottom of the Crazyflie 2.1+. From this expansion interface the user can access buses such as UART, I2C and SPI as well as PWM, analog in/out and GPIO.

Updating

We continuously work on the firmware, software, documentation and new, creative ways of using the system. We also design new expansion decks that add new functionality, and possibilities and expands the Crazyflie ecosystem. The platform supports wireless firmware updates via radio and Bluetooth LE, so when a new firmware is released, it’s a breeze to update.

Getting started

Go to the Crazyflie 2.x getting started tutorial to build your crazyflie, update its firmware and fly with it with the clients. Also take a look at our System overview to learn more about the Crazyflie’s ecosystem of positioning systems, Clients and ofcourse the crazyflie itself with its expansion decks.

Development

We think that a development platform should be something more than just making the code available, therefore our software, firmware and utilities have functionality such as logging, real-time parameter setting and wireless firmware updates. The complete development environment for most of the subsystems is available in a virtual machine, so you don’t need to install any tool chains to start developing. Also the virtual machine works just as well for flying.

Once you have made some modifications, simply flash the new firmware over the radio and you are ready to go. For those interested in more advanced development, there is a development adapter kit that supports an easy JTAG/SWD connection to both of the MCUs on the Crazyflie 2.1+.

Open Source

The Crazyflie 2.1+ is an open source project, with source code and hardware schematics both documented and available. Since all of our development tools are open source (except for iOS) we are allowed to redistribute them in an easy way for our users. Aside from the firmware and software projects, there are a number of community supported APIs written in Java, Ruby, C/C++, C# and Javascript.

Change the code

There are ample opportunities to play with the code regardless of which language you prefer. Our client API is written in Python, while there are many other client-side implementations on GitHub written in Ruby, C#, C/C++, JavaScript, Node.JS, Cylon.JS or Java. Or, why not clone our iOS repository and get into some ObjectiveC/Swift.

If you are into embedded systems, the STM32F405 has a lot of processor power you can use for doing experiments, making improvements and adding new features. The expansion decks allow you to experiment, prototype and design your own hardware.

Expansion connector specification

The expansion connector is used to attach decks with additional functionality. Either official Bitcraze decks can be used or custom ones can be design using our KiCad template.


The expansion connector includes the following:


  • VCC 3.0V (max 100mA)
  • GND
  • VCOM (unregulated VBAT or VUSB, max 1A)
  • VUSB (both for input and output)
  • I2C (400kHz)
  • SPI
  • 2 x UART
  • 4 x GPIO/CS for SPI
  • 1-wire bus for expansion identification
  • 2 x GPIO connected to nRF51

Please note the following:


  • The Crazyflie 2.1+ is a 3.0V system, meaning a high output will be 3.0V but still compatible with a 3.3V system.
  • All IO pins are 5V tolerant except PA5 and the NRF51 pins
  • The NRF51 pins can be multiplexed with any of the available NRF51 peripheral.
  • The STM32F405RG pins can be multiplexed with more functions.

Expansion connector multiplexing
Clicky