Cylon adaptor/drivers for Crazyflie nanocopter

Cylon.js For Crazyflie

Cylon.js ( is a JavaScript framework for robotics and physical computing using Node.js

This module provides an adaptor and drivers for the Crazyflie nanocopter ( It uses the Aerogel node module ( created by @ceejbot thank you!

Want to use Ruby on robots? Check out our sister project Artoo (

Want to use the Go programming language to power your robots? Check out our sister project Gobot (

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:

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' }
  workfunction(my) {
    after((10).seconds(), function() {;
    after((15).seconds(), function() {
  my.drone.setParam('flightmode.althold', true);

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

We're busy adding documentation to our web site at please check there as we continue to work on Cylon.js

Thank you!

For our contribution guidelines, please go to

For the release history, please go to

Copyright (c) 2013-2014 The Hybrid Group. Licensed under the Apache 2.0 license.