Cylon module for the Leap Motion

Cylon.js for Leap Motion

Cylon.js ( is a JavaScript framework for robotics, physical computing, and the Internet of Things (IoT).

This module provides an adaptor/driver for the Leap Motion ( gesture controller.

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 (

Install the module via NPM:

npm install cylon cylon-leapmotion

In order to use this module, you need to install the Leap Motion driver/SDK from the Leap Motion site.

Inside Leap Motion's setup, ensure "Allow Web Apps" and "Allow Background Apps" are both checked.

This basic program uses a Leap Motion to detect the user's hand position:

var Cylon = require('cylon');
  connections: {
    leapmotion: { adaptor: 'leapmotion' }
  devices: {
    leapmotion: { driver: 'leapmotion' }
  workfunction(my) {
    my.leapmotion.on('hand', function(payload) {;

Our driver works out-of-the-box with the vanilla installation of the Leap Motion software.

The Linux download of the Leap Motion software can be obtained from the Leap Motion Dev Center.

To make sure everything's working:

  • Run the leapd daemon to open a websocket connection in port 6437.
  • Connect your computer and the Leap Motion controller
  • Connect to the device via Cylon.js

By default, cylon-leapmotion attempts to connect to the LeapMotion websocket server running on localhost. You can, however, provide it with another IP in the connection object and it'll attempt to connect to that instead:

connections: {
  leapmotion: { adaptor: 'leapmotion', host: '' }

We're busy adding documentation to 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-2015 The Hybrid Group. Licensed under the Apache 2.0 license