Getting started with the Crazyflie 2.X

Unpacking the Crazyflie

The Crazyflie 2.X box contains the following items. Make sure that you have all of them before you start assembling.

package contents

  • 1 x Crazyflie 2.X control board with all components mounted
  • 5 x CW propellers
  • 5 x CCW propellers
  • 6 x Motor mounts
  • 1 x LiPo battery
  • 5 x Coreless DC motors
  • 2 x Short expansion connector pins (1×10, 2mm spacing, 8 mm long)
  • 2 x Long expansion connector pins (1×10, 2mm spacing, 14 mm long)
  • 1 x Battery holder expansion board
  • 1 x USB cable (only with the Crazyflie 2.1)

Testing

The Crazyflie 2.X is tested extensively when produced, but to make sure nothing has happened during shipping/storage you should run the tests before starting the assembly. Power on the Crazyflie 2.X using a USB source (either computer or charger) and check the results of the test below. Note that it’s important to hold the Crazyflie 2.X steady during the test and away from strong magnetic sources.

self-test

Before you start assembling anything, run the power on self-test by connecting the Crazyflie 2.X to a uUSB power source. The LEDs M1 and M4 will indicate the result of the test. If the M4 LED blinks GREEN five times fast, then the test has passed.

self-test fails

If the self-test fails, then the M1 LED blinks 5 times fast RED, then pauses and does it again. Go to our support discussions to get help.

Assembling

Assembling your Crazyflie 2.X will probably take less than 10 minutes, but there are a few pitfalls. So make sure to follow the instructions below!

twisting the wires

Start by twisting the wires of the four motors. This will reduce electronic noise and make the wires fit better in the motor mount “hooks”.

mount the motors

Push the four motors into the motor mounts. You will need some force to insert them. If it is difficult doing it as in the video try putting the motor can towards a table edge and press on the mount, however don’t press on the motor axis while inserting them as it might damage the motor. The motor should be inserted all the way to the stop in the mount.

attach the twisted wire

Attach the twisted wire into the two small “hooks” that are underneath the motor mount.

insert the motor

Insert the motor mounts on the Crazyflie 2.X wings. They are press fit and might need a small amount of force. Make sure they go all the way to the stop. It’s not important which motor you put where. After it’s been inserted, connect the motor connectors to the Crazyflie 2.X.

attach the propellers

Now it’s time to attach the propellers.

Note: There are two kinds of propellers, the clock wise (CW) and counter clock wise (CCW) propellers, each kind has their own bag in the box. Notice the shape of the tips, the sharper corner is on back side of the rotation direction. The CW propellers are also usually marked with an “A”, “A1” or “A2”, while the CCW propellers are marked with “B”, “B1” or “B2” (the number is irrelevant).

Also make sure that the correct side is facing up, the top side should be convex.

Here we are attaching the CW propellers.

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

Crazyflie 2.X propeller mounting

Note that to avoid your propellers to break too easily, you should not push the propeller all the way down on the shaft. Instead stop when force is getting high and it holds the propeller in place. This will prevent the tension in the propeller to become big enough to break.

Crazyflie 2.X propellor push shaft

attach the rubber pad

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

attach headers

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

attach the battery

Place the battery between the headers inserted into the expansion connector and insert the battery holder board onto the headers. Watch out for the pins that can be a bit sharp when inserting it. The friction should hold the battery in place so tighten it until it does.

Now connect the battery and you are finished with the assembly. The battery wires can preferably be bent and placed underneath the PCB to be out of the way.

power on!

The assembly is finished, now it’s time to power it on! Note that the power button is a push button, not a sliding button. During the power-on self-test all the propellers will spin in sequence. Make sure they all spin, if they don’t then check the motor connections.

getting to know your Crazyflie

First of all, lets look at what is front and back, this is important when flying and also when mounting expansion decks. The small “bump” (the antenna) is on the front and the blue LEDs are at the back.

Crazyflie board from the top

Start up sequence

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

  1. Run self tests - the Crazyflie 2.X checks that the hardware is OK
  2. Calibrate sensors - the Crazyflie 2.X 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 LEDs

You also need to understand what the LEDs mean.

  • Power on and all is good: The blue LEDs (2 and 3) are fully lit and the front right LED (1) 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 (2 and 3) are fully lit and the front right LED (1) is blinking red with 2 seconds interval. Put the Crazyflie 2.X on a level surface and keep it absolutely still to calibrate.
  • Radio connected: The front left LED (4) is flickering in red and/or green.
  • Battery low: The front right LED (1) is fully lit in red. It’s time to land and re-charge the battery.
  • Charging: The back left blue LED (3) is blinking while the right back blue LED (2) is lit.
  • Boot loader mode: The blue LEDs (2 and 3) at the back are blinking approximately once every second.
  • Self test fail: The right front LED (1) is repeatedly blinking five short red pulses with a longer pause between groups.

Controlling the Crazyflie 2.X

You can fly the Crazyflie 2.X either from a mobile device or a computer.

choose controller device

Using a mobile device is the fastest way to get into the air, but it might require some more piloting skills.

Continue reading the next section for instructions on how to install the app on your phone

Using your computer requires a Crazyradio 2.0  or Crazyradio PA and a gamepad but give you more options and greater control.

Continue reading the installing on a computer section if you want to use your computer.

Installing on a mobile device

It is really easy to install the app and connect to the Crazyflie 2.X. All you need is an Android or iOS device that supports Bluetooth Low Energy (BLE).

install the app

The Crazyflie client is available for Android and iOS.

For Android, from Google Play

For iPhone, from Apple iTunes

Crazyflie 2.X app

connect to the Crazyflie 2.X

Start the app and click the connect button. The buttons have different appearances in the Android and iOS apps, you can see them below.

Connect buttons

Continue reading the flying section.

Installing on a computer

When using a computer to fly the Crazyflie, you also need a standard gamepad (more information) for maneuvering and a Crazyradio 2.0  or Crazyradio PA for communication.

installation flavour

There are a few options of how to run the PC client

We have created a virtual machine (VM) to help you get into the air as quickly as possible. The VM has all software you need for flight and development pre-installed. Since it runs on a virtual machine it should work the same way on most operating systems and this is also why our documentation is based on the virtual machine.

Note: Since the VM is an AMD64 install of Linux, it does not work on Apple-silicon Mac (M1/2/… processors). On an apple silicon mac you need to install the tools natively.

The supported way to install and run the client on a computer currently is to install the Crazyflie client using the python package manager pip.

You can follow the prerequisite and instructions to install the latest release on the Client installation instruction page.

When you have set up the client, insert the Crazyradio 2.0  or Crazyradio PA and your gamepad in your USB-ports and start the client. Continue reading about how to configure the client

Installing on VM

To help you get into the air as quickly as possible, the virtual machine (VM) has all the software you need for flight and development already installed. .

Setup virtual Machine

Check-out the readme of the bitcraze-VM repository for installation and setting-up instructions and tips.

update source code

In the virtual machine double click the “update all projects” icon on the desktop. This pulls down the latest source code from GitHub for all projects.

Update all projects icon

install hardware

  • Insert Crazyradio 2.0  or Crazyradio PA in a USB port.
  • Insert game controller in a USB port.

configure USB on the virtual machine

USB settings
  • Now choose your game controller in the same list.
  • In the bottom right corner click the USB icon and choose “Bitcraze Crazyradio PA USB dongle”.
USB settings
  • Now choose your game controller in the same list.
  • In the bottom right corner click the USB icon, then click “USB settings”.
USB settings
  • Click the USB filter “+” icon.
USB settings
  • Choose your game controller from the list. Click OK.
USB settings
  • Now click the USB icon again and choose the “Bitcraze Crazyradio PA USB dongle”.
USB settings
  • Now choose your game controller in the same list.

start the Crazyflie client

Double click the “Crazyflie client” icon on the VM desktop

Crazyflie client icon

Continue reading about configuring the client

Configure the client

configure your controller

In the client, open the input device settings. Check if the correct device mapping is chosen, otherwise pick your device type.

Controller settings

For more detailed information on input devices, see the client user-guide.

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 find out how you can check out the client user-guide here.

connect to the Crazyflie

  • In the Crazyflie client click the Scan button in top left corner. The radio settings for your Crazyflie is displayed in the drop-down list.
  • Choose your Crazyflie from the drop-down list.
Connect dialog
  • Click the Connect button.

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.

Flying

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

orientation

First of all, it is much easier to fly 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 literally 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.

the mobile app / game controller

The controls on the gamepad or mobile app have the following mapping:

Control mapping

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

If your Crazyflie drifts a lot when taking off, there are a few things you should check.

  • Make sure the battery is centered. If it has slipped too far to either side, the Crazyflie might have a hard time compensating for it.
  • Check that the propellers are spinning freely. Blow lightly on them, one by one, and verify that they turn. A common problem is that hair 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.
  • Check that the propellers are balanced, Balancing propellers

charging the battery

To charge the battery of the Crazyflie 2.X, just 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!

Support

If anything is wrong with the Crazyflie after following this guide, make sure to checkout the Getting help page.