Cylon module for General Purpose Input/Output (GPIO)

Downloads in past


1960.30.18 years ago11 years agoMinified + gzip package size for cylon-gpio in KB


Cylon.js For GPIO
Cylon.js ( is a JavaScript framework for robotics, physical computing, and the Internet of Things (IoT).
This module provides drivers for General Purpose Input/Output (GPIO) devices ( It must be used along with an adaptor module such as cylon-firmata ( that supports the needed interfaces for GPIO devices.
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

Getting Started

Install the module with: npm install cylon cylon-gpio
Note you must also install whichever adaptor you want to use, such as: npm install cylon-firmata


var Cylon = require('cylon');

// Initialize the robot
  connections: {
    arduino: { adaptor: 'firmata', port: '/dev/ttyACM0' }

  devices: {
    led: { driver: 'led', pin: 13 },
    button: { driver: 'button', pin: 2 }

  work: function(my) {
    my.button.on('push', my.led.toggle);

Hardware Support

Cylon.js has a extensible system for connecting to hardware devices. The following 14 GPIO devices are currently supported:
- Analog Sensor - Button - Continuous Servo - Direct Pin - IR Range Sensor - LED - Makey Button (high-resistance button like the MakeyMakey) - Maxbotix Ultrasonic Range Finder - Motor - Relay - RGB LED - Servo - Temperature Sensor - TP401 Gas Sensor
More drivers are coming soon...


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-2016 The Hybrid Group. Licensed under the Apache 2.0 license.