node package manager


Cylon.js drivers for i2c devices

Cylon.js For i2c

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

This module provides drivers for i2c devices ( You must use this module alongside Cylon.js adaptors that have i2c support, such as cylon-firmata.

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 with: npm install cylon cylon-i2c

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: {
    blinkm: { driver: 'blinkm'}
  work: function(my) {
    var lit = false;
    every((1).seconds(), function() {
      if (lit === true) {
        lit = false;
        my.blinkm.rgb(0xaa, 0, 0);
      } else {
        lit = true;
        my.blinkm.rgb(0, 0, 0);

Cylon.js has a extensible system for connecting to hardware devices. The following 15 different i2c devices are currently supported:

  • BlinkM RGB LED
  • BMP180 Barometric Pressure + Temperature sensor
  • Direct I2C
  • HMC5883L 3-Axis Digital Compass
  • HMC6352 Digital Compass
  • JHD1313M1 LCD with RGB Backlight
  • LCD
  • LIDAR-Lite
  • LSM9DS0G 9 Degrees of Freedom IMU
  • LSM9DS0XM 9 Degrees of Freedom IMU
  • MAG3110 3-Axis Digital Magnetometer
  • MPL115A2 Digital Barometer & Thermometer
  • MPU6050 Triple Axis Accelerometer and Gyro
  • PCA9544a 4-Channel I2C Mux
  • PCA9685 16-Channel 12-bit PWM/Servo Driver

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 .

For the release history, please go to .

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