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 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 swarming.
Specifications
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
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
Resources
If you have any further questions please contact support@bitcraze.io