Getting started with the Crazyflie 2.1 Brushless

Welcome to the Crazyflie™ Ecosystem!

This getting started guide is split up into three parts. First we are going to assemble the Crazyflie, secondly we move on to setting up a gamepad and communication, and lastly we get up in the air and start flying. Let’s get started!

Overview

Disclaimer

You are responsible for handling the drone and its components. It is your responsibility to make sure you understand how your drone works and that it is in good working condition before flight. Using a drone in a reckless and negligent manner could cause damage or bodily harm, resulting in lawsuits, fines and jail time.

There are things you should do to ensure maximum safety:

Safety instructions

  • You should check your drone before and after each flight to make sure it’s working properly and there isn’t any damage.
  • Don’t make contact with a spinning propeller. A spinning propeller is hazardous if carelessly handled. Always avoid getting your fingers close to the propellers.
  • When possible, build, test and configure your drone without its propellers attached.
  • Avoid catching the drone mid-flight or while it’s landing.
  • Always make sure that the path of your drone is clear to avoid any accidents.
  • Use the propeller guards as much as possible.
  • Unplug the battery when the drone is not used.

Requirements

To fly with the Crazyflie you need to have a computer with a Crazyradio 2.0 . To fly manually with your computer you also need a gamepad of your choice.

If you get stuck

Don’t worry! We have many ways to figure out what might be wrong. A good place to start is to look at the Getting help page. Our documentation also provides more details than this guide. On our Github Discussions you can look at discussions from our community or start your own to get help.


1. Assembly

Make sure to follow the instructions below for assembling your Crazyflie® 2.1 Brushless.

Unpacking the Crazyflie

Start by unpacking the box. It should contain the following items:

Crazyflie Brushless control board 1 x Crazyflie Brushless control board
Clockwise and counter clockwise propellers 5 x Counter clockwise (CCW) propellers (3 spare)
5 x Clockwise rotation (CW) propellers (3 spare)
Legs and propeller guards 5 x Legs (1 spare)
5 x Legs/propeller guards (1 spare)
350mAh LiPo battery 1 x 350mAh LiPo battery
Brushless motor 4 x Brushless motors
Short and long expansion connector pins 2 x Short expansion connector pins (1×10, 2mm spacing, 8 or 9 mm long)
2 x Long expansion connector pins (1×10, 2mm spacing, 14 or 15 mm long)
Battery holder expansion board 1 x Battery holder deck
Micro-USB cable 1 x Micro-USB cable (48cm)
Short black screws 14 x Short (black) screws
Longer silver screws 5 x Longer (silver) screws
Foam pad 1 x Foam battery pad
Screwdriver 1 x Screwdriver
Propeller tool 1 x Propeller tool

Getting to know your Crazyflie

First of all, lets look at what is front and back before starting. This is a good reference point while assembling the Crazyflie, later when flying, as well as in the future when mounting expansion decks. The small “bump” (the antenna) is on the front of the Crazyflie. On the top you can also see that each arm has an LED. Here you can also see where the power button and M1, M2, M3 and M4 are.

Crazyflie board from the top

Mount the motors

Position the motor above the mounting holes, the motor cable should run along the arm. Use three black screws from underneath in the corner holes of the motor to fasten it. There is a screwdriver in the kit you can use to fasten it.

Crazyflie motor placement

Attach the motor cables to their connectors and twist the wire 180 degrees to attach to the connector.

Note: New motors may feel a bit stiff or stuggle to spin at low throttle levels (e.g., during arming). This is normal — a small amount of friction exists between their components. Once the motors have run for a short time (e.g, during a few test flights), this friction naturally decreases and the motors will spin more freely and efficiently.

Attach the propellers

Now it’s time to attach the propellers.

Before attaching:

There are two types of propellers, the clock wise (CW) and counterclockwise (CCW) propellers, each kind has their own bag in the box:

  • Clock wise (CW): The bags are marked “5R” for right/CW. The CW propellers are marked “55-35R” on the propeller itself.
  • Counter clock wise (CCW): The bags are marked “5L” for left/CCW. The CCW propellers are marked “55-35” on the propeller itself.

They need to be mounted on the correct arm. As a guide, you’ll find arrows next to each motor on the PCB.

Attaching:

  • Make sure that the correct side is facing up, the top side should be convex.
  • The arrow on the arm of the Crazyflie indicates what rotation direction the propeller should have.

Here’s a detailed view of where to attach CW and CCW propellers.

Crazyflie propeller mounting

For safety or repair purposes, you may need to remove the propellers. This process can be challenging to perform by hand, which is why a propeller tool is included in the box.

Attach the propeller guards or landing legs

Choose between using the propeller guards or the landing legs. The legs are lighter and has less inertia, giving a longer and more agile flight. We advise you to always use the guards if it is possible in your use case. These will protect the drone and you if something goes wrong.

Slide the legs/guards on from below hooking the little plastic part on the circular part just below the motors. Snap the straight part of the legs/guards on the arms of the Crazyflie.

While not recommended, you can fasten your legs/guards on the PCB using the long (silver) screws. This will prevent the legs/guards from detaching during a crash, which could potentially damage the Crazyflie.

Removing the legs/guards can be a bit tricky. An easy approach is by using the propeller tool to release the clips, as shown in the video below. Be careful not to damage any of the motor cables.

Attach the foam pad

The foam pad should be attached to the Crazyflie between the expansion pins. This will create friction, keep the battery from slipping out and also protect the electronics.

Attach pins

There are two types of pins in the box, long and short ones. Find the long ones and insert them into the expansion connector from below.

Attach the battery

Place the battery between the pins and insert the battery holder board onto the pins. Watch out for the pins that can be a bit sharp when inserting it. Have the side of the battery holder with the text facing up. The friction should hold the battery in place so tighten it until it does.

The battery wires can preferably be bent and placed underneath the PCB to be out of the way.

Now connect the battery and you are finished with the assembly.

Your Crazyflie 2.1 Brushless is now assembled!

Power on!

The assembly is finished, now it’s time to power it on! While powering on, keep the Crazyflie still on a flat surface to let it complete the start up sequence. The power button is placed on the front right of the Crazyflie, right next to the M1 LED. Note that the power button is a push button, not a sliding button. The LEDs on the Crazyflie 2.1 Brushless will run in a startup sequence that can be seen in the video.

Start up sequence

When the Crazyflie is powered on it will automatically go through a short sequence of events to get ready for flight.

  1. Run self tests - the Crazyflie checks that the hardware is OK.
  2. Calibrate sensors - the Crazyflie reads its sensors to get base values. It must be absolutely still to do this, so it’s best to put it on a level surface for a second.
  3. Ready to fly!

Understanding the LEDs

To understand and diagnose the Crazyflie you need to understand what the LEDs mean. Here is a short explanation of each state of the LEDs:

  • Power on and All is Good: The blue back LEDs (M2 and M3) are fully lit and the front right LED (M1) is blinking red twice every second (see the video in the Power on! section above.).
  • Power on and All is Good, but Sensors are Not Yet Calibrated: The blue LEDs (M2 and M3) are fully lit and the front right LED (M1) is blinking red with 2 seconds interval. Put the Crazyflie on a level surface and keep it absolutely still to calibrate.
  • Radio connected: The front left LED (M4) is flickering in red and/or green. The flickering of red and green means that the Crazyflie is communicating, with green indicating it is receiving data and red indicating it is sending data.
  • Battery low: The front right LED (M1) is fully lit in red. It’s time to land and re-charge the battery.
  • Charging: The back left blue LED (M3) is blinking while the right back blue LED (M2) is lit.
  • Boot loader mode: The blue LEDs (M2 and M3) at the back are blinking approximately once every second.
  • Self test fail: The right front LED (M1) is repeatedly blinking five short red pulses with a longer pause between groups.

2. Setting up communication

Now that you have assembled the Crazyflie, its time to get ready to control it. To control the Crazyflie, we need to be able to communicate with it to give commands on how to fly and receive information back from the copter. You can fly the Crazyflie 2.1 Brushless with a computer running Windows, MacOs or Linux. The Crazyflie 2.1 Brushless is built to be flown using scripting or on board automomous navigation, however it is also possible to fly it using our client and a gamepad.

Setting up

To get started, you need to set up communication with the Crazyflie and install the client. Both ways of flying need a Crazyradio 2.0 .

Setting up the radio

The first step to getting your computer ready for communication is to set up your Crazyradio 2.0 . Follow this Getting Started tutorial to set it up.

Manual Flight Control

This section describes how to get your Crazyflie ready for manual flight control.

Scripted Flight Control

This section of the tutorial introduces how to fly your Crazyflie manually, which is the best way to get started and to get to know your Crazyflie. If you want to skip this and go straight to scripted autonomous flight, follow the instructions in Next steps.

Installing the Client

There are different ways to run the Client, for example uvx, pip or through the client repository. You can see what will suit you best and follow the prerequisites and instructions to install the latest release on the Client installation instruction page.

Using the client

In this section we will look at the main features for getting started with the client. More details and features can be found in the Client user-guide.

Connect to the Crazyflie

When you have set up the client, insert the Crazyradio 2.0  in your USB-port, connect the gamepad and then start the client.

  • In the Crazyflie client enter the correct Address. The default one for a new Crazyflie out of the box is 0xE7E7E7E7E7. To figure out or change the Address of your Crazyflie, you can follow the radio address configuration guide.
  • Then, with your Crazyflie powered on and radio connected, click the Scan button in top left corner. The radio settings for your Crazyflie are displayed in the drop-down list.
  • Choose your Crazyflie from the drop-down list.
  • Click the Connect button.
Connect dialog

Now that you have connected your Crazyflie to your client, telemetry data is continuously sent from the copter to the client. When you move the Crazyflie around you will see the flight data being updated in realtime, as well as battery status and the link quality.

Update firmware in the Crazyflie

To make sure that your Crazyflie has all the latest features you should always update the firmware to the newest version. To learn how, check out the client user-guide here.

Configure your gamepad

You can use any gamepad connected to your computer by cable or Bluetooth. The gamepad has to be connected before you start the client to be recognized by the client. After you have connected your gamepad, open the input device settings in the client. Check if the correct device mapping is chosen, otherwise pick your device type.

Gamepad settings

For more detailed information on input devices, see the Client user-guide. In this guide it is also shown how to configure your own device mapping to perfectly suit your gamepad.


3. Flying

Now it’s time to do some flying, but first there are some basics you need to know about.

Orientation

First of all, the easiest way to fly is when the copter is pointing away from you. The blue LEDs are on the back, so keep them pointing in your direction when starting to fly.

Maneuvering a quadcopter

When flying a quadcopter there are four main dimensions of controls; roll, pitch, yaw and thrust.

Axis
  • Roll - is the rotation around a horizontal axis going through the quadcopter from back to front. This rolls the Crazyflie and moves it left or right.
  • Pitch - is the rotation around a horizontal axis going through the quadcopter from left to right. This tilts the Crazyflie and moves it forwards or backwards.
  • Yaw - is the rotation around a vertical axis. This rotates the quadcopter left or right. Yaw is used when changing flying direction by pointing the front of the Crazyflie in different directions.
  • Thrust - adjusts the altitude, or height, of the Crazyflie.

Lear more about the coordinate system of a Crazyflie here.

Gamepad controls

The controls on the gamepad have multiple different input mappings to select from. A common mapping to use in a lot of flying robotics applications is mapping 3, and it is mapped the following way:

Control mapping

To change between mappings and gamepad types as well as creating your own custom mapping check out the documentation for input devices.

Normal flight

When thrusting without touching any other controls, this is what it might look like. The Crazyflie usually drifts in some direction if not compensated for, this is completely normal.

The Ground effect

When the copter is flying close to the ground (less than a few decimeters above the ground) it is effected by what is called the Ground effect. The feeling is that the air is slippery, almost as if it is gliding on ice. To avoid this, particularly when learning to fly, use a lot of thrust just when taking off and then ease off for level flight.

If the Crazyflie is unbalanced

Firstly, if your Crazyflie’s propellers spin but it does not properly take off, the most common reason is that the propellers are not placed correctly. Look at the image under Attach the propellers and make sure to place the correct propeller on the correct arm.

Check that the propellers are spinning freely. Verify that they turn, one by one. A common problem is that hair or other debris is jammed between the propeller and motor. If this is the problem, just pull the propeller off from the motor, remove the hair and reinstall the propeller.

Charging the battery

To charge the battery of the Crazyflie, plug in a micro USB cable. Make sure the Crazyflie is powered on. While the battery is charging, the back left blue LED will blink. When the LED is fully lit the battery is charged.

Go fly!

Have fun!

Next steps

Now that you are in the air you can explore more opportunities with our Expansion Decks, and if you already have a deck you want to attach you can check out the Getting started with expansion decks tutorial.

Scripted Flight Control

Another step is trying autonomous flight with Python scripting and the Crazyflie Python library. When flying using a script you need a Crazyradio 2.0  for communication. As a first step, you need to install and familiarize yourself with our library cflib. This software enables you to fly one or more quadcopters in predetermined way using Python to control the quadcopter. Get started with Python scripting and the Crazyflie Python library though our Step-by-step user guides. To get some inspiration on what can be done, please check out the examples and the demos repository.