Fork me on GitHub

Hacker Guide

The guide will help you to get started with NodeCopter hacking in any programming language.

  1. The Drone
  2. Buying a drone
  3. The Basics
    1. Important Information
    2. Getting Started
  4. Troubleshooting
    1. Drone is not flying high / flying very slow
    2. All my LEDs are red and I cannot take off
  5. Tips & Tricks
    1. Connect the drone to an access point
    2. How to connect an Arduino to the drone
  6. Modules
    1. NodeCopter Modules on npm

The Drone

All NodeCopter hacking is done using the Parrot AR Drone 2.0. Features include:

The AR Drone 1.0 may also be supported by some libraries, but most of the community uses 2.0 drones.

We are not married to the Parrot drones, but so far we have not found any alternatives that offer competitive pricing, automatic hovering, global distribution, easy repairs and are shipped fully assembled.

Buying a drone

In most countries the best place to buy a drone is your national version of You won’t get a discount, but shipping is usually very fast and they often also carry the repair parts you may need.

If Amazon is not a viable option for you, you should consider the manufacturers online shop: Shipping can be slow, but they can deliver all parts to almost any country in the world.

For those willing to go the extra mile for a good deal, we recommend Ebay or similar sites. You can often find used drones or drones with minor damage. Repairing the drones is easy, so unless the damage is much bigger than advertised, you should be able to save a decent amount of money.

Last but not least, there are several brick and mortar retailers, you can find them here.

The Basics

Important Information

Before starting your drone for the first time, you may want to know about this:

Getting Started

Make sure that you have Node.js installed.

First off, you should get the FreeFlight app for your iOS or Android device if you don’t have it already.

Now connect to the drone’s WiFi with your smartphone, start the FreeFlight app and make a test flight with it’s Piloting feature to learn how the drone behaves. It’s also a good time to check if the firmware of the drone is up to date. See setup the drones for exact instructions.

But controlling the drone with the phone is boring, let’s program it! Connect to the drone’s WiFi with your laptop and install the ar-drone module:

Once you’ve done that, save this to a file:

var arDrone = require('ar-drone');
var client = arDrone.createClient();


  .after(5000, function() {
  .after(3000, function() {
    this.animate('flipLeft', 15);
  .after(1000, function() {

and execute it. See how your drone takes of, rotates clockwise and even does a flip! Amazing. Now you’re set, go ahead and get crazy!


Drone is not flying high / flying very slow

Per default, the drone will only fly very slowly and won’t fly higher than 3m. These limits can be lifted via the mobile app or a library that supports it.

Here is an example for setting the limit to 100m using the node-ar-drone library:

client.config('control:altitude_max', 100000);

All my LEDs are red and I cannot take off.

Looks like the emergency mode is in effect. To easy ways to fix this:

Tips & Tricks

Connect the drone to an access point

Normally, if you’re connected to your drone’s WiFi you don’t have connection to the internet. This is not very convenient, so an easy way out is letting the AR drone connect to a WiFi accesspoint.

Connect to an open network

If you have access to an open network (no WPA or similar), you can simply:

killall udhcpd; iwconfig ath0 mode managed essid [ssid]; ifconfig ath0 [wanted ip] netmask up;

Thank you @karlwestin for this gist.

Connect to a network secured with WPA

In order to connect to a secure network, you need to install WPA support on your drone. The good news is that @daraosn took the time to cross-compile wpa_supplicant and write some handy install scripts.

Just checkout the ardrone-wpa2 repo on githbub and follow the instructions there.

How to connect an Arduino to the drone

Check out this gist so see how to connect an Arduino to a drone!


Have you written a nodecopter module? Add it by editing this page.

NodeCopter Modules on npm

Loading modules...

Might take some time on first load

    Module must be on npm with `nodecopter` in the name or description.