Skip to content
Cylon adaptor/driver for the Crazyflie nanocopter
JavaScript Makefile
Find file
Failed to load latest commit information.
docs fix markdown docs
examples Switch to ESLint for linting
lib Move index file to index.js
spec Move index file to index.js
.eslintrc Switch to ESLint for linting
.gitignore add coverage report
LICENSE Update copyright and add license file
Makefile Move index file to index.js Update README and package.json keywords
index.js Move index file to index.js
package.json Bump version to "0.16.0"

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 (

Build Status Code Climate Test Coverage

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


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

Release History

For the release history, please go to


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

Something went wrong with that request. Please try again.