Cylon adaptor for the Leap Motion
Clone or download
deadprogram Update to v0.21.0
Signed-off-by: deadprogram <>
Latest commit b005922 May 4, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update events documentation Jul 11, 2014
examples Switch to ESLint for linting Jun 15, 2015
lib Update dependencies Jul 2, 2015
spec Update dependencies Jul 2, 2015
.eslintrc Update dependencies Jul 2, 2015
.gitignore add coverage report Aug 1, 2014
.travis.yml attempt to run CI in containerized mode Jul 15, 2015
LICENSE Update to v0.21.0 May 4, 2016
Makefile Move index file to index.js Jun 26, 2015 Update to v0.21.0 May 4, 2016 Update to v0.21.0 May 4, 2016
index.js Move index file to index.js Jun 26, 2015
package.json Update to v0.21.0 May 4, 2016

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 (

Build Status Code Climate Test Coverage

How to Install

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.

How to Use

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' }

  work: function(my) {
    my.leapmotion.on('hand', function(payload) {;

How to Connect


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

Connecting To Another Machine

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 .

Release History

For the release history, please go to .


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