Skip to main content

Open source stack for IoT Constrained Devices

Eclipse IoT provides a set of libraries that can be deployed on a constrained embedded device to provide a complete IoT development stack.

IoT Constrained Device Stack

The “Thing” in the IoT is the starting point for an IoT solution. It is typically the originator of the data, and it interacts with the physical world. Things are often very constrained in terms of size or power supply; therefore, they are often programmed using microcontrollers (MCU) that have very limited capabilities. The microcontrollers powering IoT devices are specialized for a specific task and are designed for mass production and low cost.

Open source components for IoT Devices

Hardware abstraction

In order to ensure portability, an IoT device needs to include a software layer that enables access to the hardware features of the MCU, such as flash memory, GPIOs, serial interfaces, etc.

  • Eclipse MRAA is a low-level library written in the C/C++ language. MRAA abstracts the details associated with accessing and manipulating the basic I/O capabilities of popular IoT platforms and boards and presents a single, concise API.


An IoT device requires drivers and protocols that allow to connect it to a wired or wireless protocol, and therefore enable communication.

Remote Management

There are many cases where an IoT device needs to be remotely controlled, for example to upgrade its firmware or to monitor its battery level.