Skip to content

Some Free Source Tools for Development in IoT

In my last post, I had indicated the IoT space to be of the following structure. There is an important detail involved.

Top Level abstraction

The sensors are often deployed a a network of these device and they communicate through low power and lossy wireless communication schemes; such a BLE, IEEE 802.15.4 based radio, etc.


Multi-hop WSN

These nodes, otherwise known as Wireless sensor nodes (WSN) are the most important tools in the harvesting of data at the ground level, often literally. Hardware structure of such WSN (mote)is as shown below

Wireles Senor Node

The communication stack is as follows.The diagram illustrates the range of communications that take place right up to the cloud.

IoT StackThe next figure illustrates the mix of technologies used in this space.

Technology stack

It will be nice to have some tools, free source stuff in particular. Rest of the post is about these tools that help you get started in IoT  related developments.

The starting point of all the activities i supported by free source hardware (such as the Raspberry Pi, Arduino, etc.) as well as free source OS and tools. Often, the firmware development efforts at this stage is the code that supports the communication. For IoT, communicating from this ground floor level needs to have  support for 6LowPAN support. Contiki OS i a free-source tool that comes with this support. It has support for the constrained devices too. Contiki also supports COOJA. COOJA is a free-source tool that helps design and simulate the wireless network you need.

Kaa is a middle-ware platform for creation of IoT solutions, customizable, transport-agnostic link between the hardware and applications. It can build active device inventory, capture physical and logical specs for each device, collect and analyze real-time telemetry data, perform device management, provisioning, and configuration, distribute firmware updates, Enable near real-time communication across devices. Complex, time-consuming, and mundane tasks can be left to Kaa.

Like most new technologies things are in a flux in this ecosystem too. As with such evolving technologies, there are several proprietary tools available and free-source tools are coming.  There are enough free source tools already to get you started with development projects.

You could review the presentation here for further details.

Introduction to IoT & Getting Started

That was the title of the workshop I conducted. This talked about the current state of affairs in the IoT domain and what we could do to get started! We have all heard the hype of the explosive growth of IoT including the recent Mckinsey statement that all the predictions are likely to be off the mark. They say the numbers of connected devices and the revenue/spending will exceed the estimates! Mckinsey also goes on to say unless you invest in this market in the next ten years, you are going to lose the opportunity altogether.

Given all that, the immediate concern would be to understand the market as it exists today and how to enter it. The workshop presented a view of the state of the art and how to get started, if you need to.

A very top level abstraction of the domain is as follows. At the bottom most layer we have sensor and actuators working through processors many a times.

Top Level abstraction

Sensors help monitor parameters in the vicinity. The data thus collected goes through low power and lossy radio networks to reach the Internet and communicate with the cloud. Once the data is in the cloud, you could do any kind of analysis and slicing & dicing of the collected data. This analysis would let you decide what actions you need on the connected things. the actuators can be used to actuate devices through local logic or through decisions arising from analysis in the cloud. Several kinds of these hardware nodes or WSNs (wireless sensor node) are available already.

Three kinds of constrained devices have been defined in this WSN space. The overheads for regular TCP/IP communications would impose quite a bit of overheads. Besides limited processing power, these nodes (or motes, as they are often known) need to conserve power. The communication protocols at this level need to take care of the peculiarities of these devices. Several are in the works and one promising one is the 6LowPAN. Class 0 and class 1 things/objects/motes also need to communicate through gateways and protocols are in development. This area is certainly evolving. When undertaking product development, you need to be certain which protocols are likely to survive the test of time. You communication software will depend on it and  supporting a protocol that falls into disfavor will cut your product’s life.

The detailed presentation takes you through other important areas that are already in place for you to get started. Operating systems and other tools available have been discussed.


Presentation and workshops by ECD Zone at the 12th OSI

12th Open Source India concluded on the Nov 20th.


Dibya Prakash has been on the Advisory panel of the event. He conducted a workshop on cross platform mobile developments that was a sold out event. Dibya is a regular participant of the event, as you might know. This year we had Debasis, the Principal Consultant & Tech Mentor participate in the event.  You can see Dibya here on the right of the Advisory panel display. Debasis appears on the right again, in the second row on the panel of speakers.

IMG_20151119_173349His presentation “Development ecosystem in free source for IoT” and the workshop “IoT: Introduction and getting Started session” were well received.



This talk was  about the free source tools available right now.  Though  things are evolving, these tools can help you get started in IoT related product development. The workshop was a survey of  the current scenario and how to get started.  We had a full house for this 3 hour workshop too on the second day.