The "Hello, World" Of Things

This example will connect to an Arduino, and toggle an LED every one second.

var Cylon = require("cylon");

// Initialize the robot
Cylon.robot({
  // Change the port to the correct port for your Arduino.
  connection: { name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0' },
  device: { name: 'led', driver: 'led', pin: 13 },

  work: function(my) {
    every((1).second(), function() {
      my.led.toggle();
    });
  }
}).start();

To run it:

$ npm install cylon-firmata
$ node script.js

We've got lots more examples here to help you get started on your next IoT project.

Platform Support

Cylon.js has a extensible system for connecting to hardware devices. The following robotics and physical computing systems, and software platforms, are currently supported:

Support for many devices that use General Purpose Input/Output (GPIO) have a shared set of drivers provided using the cylon-gpio module:

Support for devices that use Inter-Integrated Circuit (I2C) have a shared set of drivers provded using the cylon-i2c module:

Browser & Mobile Support

Cylon.js can be run directly in-browser, using the browserify NPM module. You can also run it from withing a Chrome connected app, or a PhoneGap mobile app.

For more info on browser support, and for help with different configurations, you can find more info in our docs.

API

Cylon has a built-in API that you can interact with your robots.

All you need to start up the API server is to place the following command in your .js file after you require Cylon.

var Cylon = require("cylon");
Cylon.api();

Then visit https://localhost:3000/ and you are ready to control your robots from a web browser!

You can check out more information on the Cylon API in the docs here.

CLI

Cylon uses the Gort toolkit, so you can access important features from the command line. You can scan, connect to devices, update firmware, and more! We call it "RobotOps", a.k.a. "DevOps for Robotics".

Cylon also has it's own CLI tool to generate new modules, robots, and drivers.

You can check out the Cylon CLI docs here.

Be Part of the Robot Evolution

If you'd like to find out more, you can check out our code on GitHub.

Want updates on what we're working on, follow us on Twitter, or check out our Trello board.

If you want to talk to us, we can be found hanging out on IRC, #cylon on irc.freenode.net

Ready to build the next big thing with JavaScript?

Get Started