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
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.
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.
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.
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.
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.
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.
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:
Please note the following:
“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.”
“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.”
“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