Repository| Issues

You can use Cylon.js with the Crazyflie micro-quadcopter.

This module provides an adaptor and drivers for the Crazyflie nanocopter. It uses the Aerogel node module, created by @ceejbot.

How to Install


On Linux, you need to install some packages before you can install the NPM module:

$ sudo apt-get install build-essential pkg-config libusb-1.0-0-dev

And on OS X, you need to have the libusb package to install the module:

$ brew install libusb

Install the module with:

$ npm install cylon cylon-crazyflie

You will also need to install the latest beta firmware to the Crazyflie itself to use the 'hover' mode:

How to Use

This small program causes the Crazyflie to takeoff for 10 seconds.

var Cylon = require('cylon');

  connections: {
    crazyflie: { adaptor: 'crazyflie', port: 'radio://1/10/250KPS' }

  devices: {
    drone: { driver: 'crazyflie' }

  work: function(my) {
    after((10).seconds(), function() {;
    after((15).seconds(), function() {

Hover Mode

my.drone.setParam('flightmode.althold', true);

How to Connect

The Crazyflie uses a 2.4 GHz radio to communicate. There is a USB dongle called the Crazyradio that is required to control the Crazyflie quadcopter.

If you are have a USB 3.0 port, you might run into this issue:


You need to install some udev-rules to be able to communicate with the crazyflie, it is a good thing that we have a Gort command that does just that:

$ gort crazyflie set-udev-rules


There is currently only one driver for the Crazyflie, as listed below.