Lelylan. Open Source Internet of Things

notice | 11 feb Lelylan demo (aka api.lelylan.com) is now dismissed to focus on open source development.

An Internet of Things platform is a key ingredient to the innovative products and technologies of the future world. Research in this area is global and growing fast, but lacks standard tools. By sharing what we have learned during the years, we want to create an open solution for exchanging ideas.


Lelylan breaks up the Internet of Things complexity defining small, independent microservices. This way you can add, replace and change functionalities withouth affecting the whole platform, making it simple to integrate any existing architecture (e.g. Big Data).

Microservices-1-col Microservices-3-col

Architecture →

Works anywhere

You can install Lelylan on any public cloud or on your own private datacenter, even a hybrid environment, whether virtualized or bare metal. We are also studying how to implement solutions like Docker, Mesos, and Ansible to improve the deployment process.

Cloud-purple Cloud-purple-min

Installation →

Simple API

See how turning a light source on and off only requires a few lines of code. We offer wrappers in different languages like AngularJS, Ruby, Node.js (more to come) to get started easily.

curl -X PUT http://api.lelylan.com/devices/<light-id>/properties \
     -H 'Authorization: Bearer <token>' \
     -H 'Content-Type: application/json' \
     -d '{ "properties": [{ "id": "<status-id>", "value": "on" }] }'
var Lelylan = require('lelylan-node')({ token: token });
var params  = { properties: [{ id: '<status-id>', value: 'on' }] };
Lelylan.Device.properties('<light-id>', params, callback);
<div ng-app="lelylan">
  <!-- login component here (dev.lelylan.com/api/oauth#implicit-grant-angular) -->
  <div ng-controller="LelylanController">{{device}}</div>
    function LelylanController($scope, Device) {
      var params = { properties: [{ id: '<status-id>', value: 'on' }] };
      Device.properties('<light-id>', parmas).
        success(function(data) { $scope.device = data })
lelylan = Lelylan::Client.new(token: token)
params = { properties: [{ id: '<status-id>', value: 'on' }] };
device = lelylan.device_properties('<light-id>', params)
from lelylan import oauth, devices
params = { properties: [{ id: '<status-id>', value: 'on' }] }
device = update_dev_prop('<light-id>', params)


Any hardware

Use the hardware you are most familiar with. We already tested solutions like Arduino Yun, Raspberry Pi, Electric Imp, Spark Core, Netduino, Texas Instruments CC3000/CC3200 and more. With Lelylan you can connect any hardware supporting the MQTT protocol.

Connect Your Hardware →

Any Device

A clean, customizable, realtime dashboard to control all of your devices. Based on <device> web components you can create solutions working on mobile, tablet or desktop in a short time.

Demo Device Dashboard →

If you like what we are doing give us a Star on Github
{it will help to reach more developers}