Robotics and IoT through Cylon.js

In this topic, I’m going to introduce a cool JavaScript library for Robotics and IoT lovers. It’s called Cylon.

Using this library you can easily interact with other devices whether through a web browser or server-side NodeJs code.

Cylon brings the exciting robotics and the Internet of Things world to JavaScript. At this point of time it supports 50+ different platform devices plus a general purpose I/O supports with a shared set of drivers provided by cylon-gpio module.

The figures below show the most famous platforms supported by Cylon. You can find a full list of them here.

Cylon supported platforms
Cylon supported platforms
Cylon supported platforms

Using these 3 basic plugins, Cylon enables you to send and receive data with other devices even in a real-time streaming manner:

  • http/https (REST)
  • library
  • MQTT(an Internet of Things machine to machine connectivity protocol)

Here are some examples of using Cylon :

The code below contols an ARDrone, takes off and then lands again:

"use strict";

var Cylon = require("cylon");

  connections: {
    ardrone: { adaptor: "ardrone", port: "" }

  devices: {
    drone: { driver: "ardrone" }

  work: function(my) {
    after((15).seconds(), my.drone.stop);

Working as a software architect and developer on Network and Environment monitoring applications, I think it would be a great API gateway for the next generation of monitoring applications.  And I strongly believe that the combination of devices like smart phones, drones, sensors, robots, and so forth plus libraries like Cylon.js and cloud services like AWS IoT, would open new horizons of innovation in the new future, and makes the world much closer to what we would imagine in the Sci-Fi movies.

If Cylon is of your interest take a look into these tutorials and samples: