IoT devices and gateways

devices and gateways

This post cover important topic of IoT devices nad gateways.  An IoT device is an embedded computer, incorporating one or more following functions:

  • Computing capability;
  • Sensors and actuators;
  • Power supply;
  • Wireless or wired communication interfaces;
  • OS;
  • User interface;
  • Device management;
  • Execution environment.

Gateways may also incorporate listed functions in order to simplify the system and to make it more cost effective. A RFC7228 (terminology for constrained-node networks) document gives a definition to small devices, constrained devices, constrained nodes, constrained networks, and constrained-node networks.

Constrained devices are those that have limited CPU, memory, power and create a network. Constrained devices are gather information about the surrounding environment, act as an information source, and can be connected to each other.

Constrained nodes are defined as ‘a node where some of the characteristics that are otherwise taken for granted for Internet nodes at the time of writing are not attainable, often due to cost constraints and/or physical constraints of characteristics like size, weight and available power and energy’.

Constrained networks are defined as ‘a network where some of the characteristics are taken for granted with link layers in common use in the internet at the time of writing and are not attainable’.

Constrained-Node Networks are defined as ‘a network whose characteristics are influenced by being composed of a significant portion of constrained nodes’.

Another classification of devices in IoT system is:

  • Basic devices;
  • Advanced devices.

Basic devices, microcontroller-class devices are those which can perform simple operations and usually can not communicate with each other without gateways.

Advanced devices or general purpose-class devices are performing application level logic and support communication protocols.

Basic and advanced IoT devices are different in terms of scenarios and processes. Basic IoT devices are good for performing simple processes like alarms, metering, standalone smart thermostats and others.

Advanced IoT devices are designed for more complex processes, representing automated units, and processing multiple different actions at the same time.

Basic IoT devises usually serve a single operation – measure temperature, wind force or others. The hardware requirements are relatively low for this type of devices. The components used for this type of devices are inexpensive, usually using an SoC inside, containing at least two microprocessors, and several wireless connectivity stacks.


The type of communication maybe different as there is a few of them available in the market. In terms of energy performance, these devices should perform a minimum consumption. Microcontrollers are equipped with several GPIO ports for interaction with external devices, supporting I2C, and ADCs, SPI protocols as a minimum. STMicroelectronics MCU structure is depicted in Figure 1 below.

IoT block diagram

Figure 1. STMicroelectronics  STM32F030C6 diagram.

UART, SPI, I2C or other serial interfaces are used to connect storage or displays, or communicate with another microcontroller. RFIC and SoC can also contain hardware security processors to provide encrypted secure communication between processors.

Wireless communication occurs by means of RF circuits. The gateway is important in this system as it provides WAN functions. Basic devices usually use the OS of FreeRTOS that support enough functionality efficiency to run simple processes.

 The application logic is usually implemented here into the OS, running essential functions. The OS functions can read the data, or send the data to the IoT gateway.

IoT Gateways incorporate several networking protocols and interfaces, and so perform translation, conversion, and linking functions between different network interfaces and levels. IoT gateways contain ALG, translating for example ZigBee to SOAP and IP, CoAO to HTTP . Gateway hardware is focused on low cost components.

Besides that, IoT gateways can perform data collection functions, visualisation, storage and another processes, running local applications and device management, like device configurations, software upgrades, fault management.

Advanced IoT devices, are devices that perform more complex functionality in IoT systems and are characterised by a powerful CPU, advanced UI, video functions, and unlimited energy supply. Sometimes advanced IoT devices can incorporate functions of both basic IoT devices and gateways. The OS is also complex, for instance Linux or commercial RTOS.

For instance, IoT devices and gateways can be ordered at Digi-Key Electronics.

If you like the post, please share the link in social media below.