Crazyflie is an open-source platform that enable researchers to test collective algorithms on 10s or 100s of flying robots 


Crazyflie 2.1

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

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

The latest version of the successful Crazyflie development platform comes with improved flight performance, durability and radio. Together with an extensive ecosystem of software and deck expansions it’s ideal for education, research and swarm robotic.

Specification

Features


  • Durable design
  • Easy to assemble and no soldering required
  • Supports expansion decks with automatic detection
  • Supports flying from iOS and Android with Bluetooth LE, as well as from Windows/Mac OSX/Linux with the Crazyradio or Crazyradio PA
  • Tested to further than 1 km radio range line-of-sight (LOS) with the Crazyradio PA
  • Wireless firmware updates
  • On-board charging via standard uUSB
  • Dual-MCU architecture with dedicated radio/power management SoC for advanced applications
  • Real-time logging, graphing and variable setting in addition to full use of expansion decks when using a Crazyradio or Crazyradio PA and a computer

Mechanical specifications

  • Takeoff weight: 27g
  • Size (WxHxD): 92x92x29mm (motor-to-motor and including motor mount feet)

Onboard microcontrollers

  • STM32F405 main application MCU (Cortex-M4, 168MHz, 192kb SRAM, 1Mb flash)
  • nRF51822 radio and power management MCU (Cortex-M0, 32Mhz, 16kb SRAM, 128kb flash)
  • micro-USB connector
  • On-board LiPo charger with 100mA, 500mA and 980mA modes available
  • Full speed USB device interface
  • Partial USB OTG capability (USB OTG present but no 5V output)
  • 8KB EEPROM

IMU specification

  • 3 axis accelerometer / gyroscope (BMI088)
  • High precision pressure sensor (BMP388)

Flight specifications

  • Flight time with stock battery: 7 minutes
  • Charging time with stock battery: 40 minutes
  • Max recommended payload weight: 15 g

Radio specification

  • 2.4GHz ISM band radio
  • Increased range with 20 dBm radio amplifier, tested to > 1 km range LOS with Crazyradio PA (environmentally dependent)
  • Bluetooth Low Energy support with iOS and Android clients available
  • Dual antenna support with both on board chip antenna and U.FL connector


Usage

Crazyflie 2.1 designed 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

crazyflie_2_1-deck-connector-multiplex.png

Testimonials

“In our lab, we love to work with the Crazyflie ecosystem because its open-source platform allows us to write new flight controllers. We have used them to develop modular vehicles, blimps, catenary robots, and jumping robots.”

-David Saldaña, Assistant Professor at Lehigh University

“The Crazyflie is easily obtainable, safe, and (we can certify ourselves) very robust. Moreover, since it is open-source and fully programmable, we were able to easily modify the Crazyflie to fit our needs.”

-Brandon Araki, researcher at MIT

“The Crazyflie is a great platform for reearch because of its openness and extensibility; additionally, the size allows us to test algorithms on a swarm of robots even in space-limited indoor environments.”

-Wolfgang Hoenig, researcher at TU Berlin

“We use the Crazyflie platform to evaluate our algorithms because the hardware is robust and the user community has helped make firmware available on which we can base our own systems”

-Ellen Cappo, researcher at Carnegie Mellon University

0:00
0:00