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 Edje provides an high-level API for accessing hardware features provided by microcontrollers (e.g GPIO, ADC, MEMS, etc.). It can directly connect to native libraries, drivers, and board support packages provided by silicon vendors.


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.