Mistake on this page?
Report an issue in GitHub or email us

Hardware: device classes

Arm supports many hardware options to fit your requirements, budget and time-to-market goal.

We classify hardware in four categories to help you identify hardware specification requirements, connectivity options, and software used on the device. Each device class has appropriate vertical sectors, applications and use-cases.

These device classes are:


Ultra-constrained devices are typically sensors or actuators. They usually don't have any internet connectivity, and require an intermediary connection to become an IoT device. Sometimes, you can communicate with these devices using legacy protocols such as 1Wire, RS232, or proprietary radio protocols. Ultra-constrained devices typically do not have a full operating system stack, but on the higher-end range of this class, you can use Mbed OS to develop wireless protocols and the communication layer.

Example use cases:

  • Temperature sensor using 1Wire.
  • Connected lightbulb using the Digital Addressable Lighting Interface (DALI).

Processor class: Cortex M0

Example hardware: Mbed LPC11U24: 48MHz, 8KB RAM, 32KB flash.


Constrained devices may be able to perform simple data preprocessing. They are low-cost and may have their own connectivity stack to enable a direct connection to Device Management. These devices are well supported with Mbed OS, and can typically have both a real-time operating system and application layer.

Example use cases:

  • Pallet tracking sensor using cellular connectivity.
  • Real-time location beacon using BLE.

Processor class: Cortex M3

Example hardware: ST NUCLEO-L152RE: 32MHz, 80KB RAM, 512KB flash.

Mainstream IoT

Mainstream IoT products can perform more complex data preprocessing. They have one or more connectivity options, and can be managed directly through Device Management. Mbed OS is capable of handling operations suitable for Mainstream IoT applications, such as LCD screens, complex application logic, and the multiple connectivity protocols available to this device class.

Example use case:

  • Smart meter with cellular connectivity.

Processor class: Cortex M3, Cortex M4, Cortex M7, some Cortex A processors.

Example hardware: Ublox C030-U201: 180MHz, 256KB RAM, 2014KB flash.

Edge gateway

Edge gateways are powerful computers that perform rich data processing and analytics, or make decisions based on complex data samples. Devices that require proxies and gateways, such as ultra-constrained devices, use Edge gateways to connect to Device Management. Edge gateways usually have a full operating system, such as Linux, and are capable of running multiple applications for Pelion connectivity, edge processing, and protocol translation to connected assets.

Example use case:

  • Gateway for ultra-constrained and constrained devices (such a DALI lighting system).
  • Edge controller.

Processor class: Cortex A7, Cortex A9, ArmV8 (Cortex A53 for example).

Example hardware: Raspberry Pi: 700MHz, 512MB RAM, SD card.

Hardware selection in a proof of concept

Choose hardware that is well supported and easy to use out of the box. This allows you to focus on the important aspects of your proof of concept - the connectivity and application logic - rather than spending time making a production-ready device.

Development boards

Development boards integrate microcontrollers with components, for evaluation and rapid prototyping. They include a number of headers to add connectivity and functionality, such as digital and analog outputs, serial peripherals and shields. Development boards may include inputs, outputs or connectivity that you don't need, so some of the optimization work includes removing components from the PCB.

Choosing an Mbed Enabled development platform allows you to perform your proof of concept quickly. You can also develop a custom PCB, but if the logical hardware varies significantly from the currently supported platforms, you may need to port your custom PCB as a target to Mbed OS and Device Management Client.

For a full list of Mbed Enabled development boards, see the boards section of our website.

Hardware for Pelion connectivity

For a list of Pelion-supported development boards, see the quick start guide.

The general hardware requirements for the Pelion Device Management connectivity clients is in the Pelion documentation.

For more information about connectivity options, see the connectivity section.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.