Accelerate Your IoT Development with the UPM Sensor Library

Published:06/29/2017   Last Updated:06/29/2017

Seize the IoT opportunity — and bring vertical industry solutions to market faster

The key to delivering on the IoT promise is sensors: software-defined technology that gathers data from devices, environments, people, robots, and machines which enables edge visibility and cloud-based analysis.

Now you can add your sensors to the UPM sensor framework—one of the largest available collections of IoT sensors. You’ll increase visibility by IoT developers and innovators worldwide, access tools and expertise to accelerate time to market, and reduce the learning curve in a vital community. Configuring IoT solutions can be complex. We’re here to help turn your vision into market-ready products. 

You also have the option to use the many diverse sensors in the library by following simple step-by-step instructions designed to streamline your development process. Or, take advantage of the Intel® IoT Developer Kit, which includes easy-to-use hardware, software, tools, and cloud services.

View the Intel® IoT Platform ecosystem 

Add Your Sensors to the UPM Sensor Library

Adding sensors to UPM is easy. You can follow the steps below and find more information on GitHub*
  1. Go to the GitHub site set up by Intel, which is dedicated to IoT sensors, and follow the simple step-by-step process to onboard your sensor.
  2. Move your final version to GitHub .
  3. Intel will review your sensor; once approved, sensors are automatically uploaded to UPM.
Your sensors will then be available to solution providers and developers worldwide and may be featured in Intel® IoT Commercial Workshops.
Learn more 

How to Add an IoT Sensor to Your Project

Developers can start from scratch, or hit the ground running with code examples for C, C++, Java*, Node.js*, and Python*. The sensor framework makes it easy to add sensors to your project. Most sensors are free under the MIT license. The basic steps are as follows:
  1. Find the sensor you want to use from our sensor directory
  2. You can search by sensor type (e.g., temperature, humidity, accelerometer, gas), connection type, or manufacturer
  3. Once you find your sensor, you can find code snippets for each of the supported languages (C/C++, Node.js, Java, and Python)
  4. View the full source and API documentation on GitHub

Four Steps to Add Sensor Code to Your Project

All available sensor drivers are already integrated into our IDEs and are natively supported by the Intel® IoT Platform.
  1. Install one of our IDEs: Intel® XDK or Intel® System Studio IoT Edition
  2. Create a new project for one of the supported platforms
  3. Use the integrated Sensor Explorer to browse and import sensor libraries into your project
  4. Develop your application code, connect the hardware, and deploy to your target platform

The UPM Advantage

More choice:

  • Language support: C/C++, Java*, Node.js*, Python*
  • OS support: Wind River* Intelligent Device Platform XT, Wind River Pulsar* Linux*, Yocto*, Ubuntu*, Android*, Zephyr* RTOS, OpenSUSE*
  • Connectivity options: Wi-Fi, Bluetooth® low energy, ZigBee*, Z-Wave*, LoRa*, Modbus, BACnet*, GPS, GPRS, NFC/RFID, SigFox*, LoRaWAN*, 4G/LTE* 
  • Protocols: GPIO, AIO, PWM, I2C, SPI, UART, 1-Wire*

Integrated Development Environments (IDEs):  Intel® XDK and Intel® System Studio IoT Edition

Portability:  Go from prototype to product with minimal rework

Open source and MIT-licensed:  Develop products and solutions without extra licensing costs

More than 300 supported sensors:  Available in sensor libraries

Many distribution channels:  MRAA and UPM packages are available for multiple OS distributions and architectures, including OPKG repository, Ubuntu PPA,, NPM*, and Maven*

Wide ecosystem:  Intel provides ongoing training and support for IoT developers—expanding the application pool for sensor manufacturers, ISVs, and SIs. At the same time, the Intel® Internet of Things Solutions Alliance allows sensor manufacturers to expand their customer base and connect with developers

Your Plug-and-Play Sensor Libraries

The UPM sensor library includes more than 300 industrial and maker validated sensor modules designed to work with the IDE and OS of your choice for near-real-time performance. 


MRAA is a Linux* library for low-speed I/O communication developed by Intel. Use of the MRAA library does not tie you to specific hardware — with board detection done automatically at runtime you can create portable code that will work across your supported platforms.
  • Linux library for low-speed I/O communication in C with bindings for C++, Python, Node.js, Lua*, and Java. 
  • Supports the Intel® Edison compute module, Intel® Joule™ compute module, Intel® Galileo board, Raspberry Pi*, MinnowBoard MAX*, UP Board*, BeagleBone*, etc.
  • Supports microcontroller (MCU) platforms, including the Arduino 101* (branded Genuino 101* outside the U.S.) board, TinyTILE*, Intel® Quark™ microcontroller C1000, and Intel® Quark™ microcontroller D2000.
  • Simplifies and allows control of low-level communication protocols by high-level languages and constructs. 
  • API documentation is available for C/C++, Java, Python, and Node.js.
Find the MRAA library at GitHub here.

Access the extensive MRAA library for IoT sensor APIs and code samples

Quickly download Intel’s MRAA library APIs and code

See install instructions and the full range of MRAA library-supported boards at the MRAA repo on GitHub

Explore Intel® hardware.

Useful Packages and Modules (UPM)

The UPM library includes packages and modules for sensor solutions. It can be accessed by sensor category, connection type, and manufacturer, and includes starter kits to fast-track solution development for key vertical markets.
  • High-level repository of software drivers for a wide variety of commonly used sensors and actuators. Sensors tend to measure aspects of the environment and provide data input. Actuators perform actions at the edge, such as turning on a light switch or opening a door.
  • UPM software drivers interact with the underlying hardware platform through calls to the MRAA API. 

Find the UPM library at GitHub by clicking here.

Explore the sensor framework

A small sampling of the extensive plug-and-play sensor library built to simplify IoT solution development


Starter kits accelerate solution development for key IoT vertical markets

Building UPM on the MRAA core enables higher-end protocols and myriad connectivity options.

UPM builds on the MRAA library for integration across the software stack

Your Fast Track to IoT

Intel provides extensive reference documentation, forums, boards, and developer kits to accelerate the path to productization and implementation across vertical segments including manufacturing, smart home, and retail. When prototypes are ready to move to market-ready products, the roadmap and boards offered by Intel enable an easy, cost-effective transition to high-end sensors and gateways. Libraries can be used in microcontrollers as well, with the same APIs.

Intel® IoT Developer Kit

Comprehensive dev kit, including code for sensors and gateways, two IDEs, multiple OS support, and hardware.

Intel® XDK 

Ready-made IDE and downloadable code samples, along with development tools and tutorials on where to insert sensor code. 

Intel® System Studio IoT Edition

Eclipse-based IDE for developing in C++ or Java and comes with the built-in capability to easily integrate sensors via the UPM and MRAA libraries. 

Innovate Smarter

As the ecosystem and community grow, so does the advantage of building on standardized, integrated sensor technologies. We look forward to collaborating with you and shaping the IoT revolution.

Visit us online at, explore the MRAA and UPM libraries, or talk to us about your project and requirements, and see where sensors can take you.

View the Sensor Catalog and onboard your solutions to Intel® architecture today.

Choose an board optimized for IoT.

For questions about adding new sensors to UPM, contact us at

Join the Intel® Internet of Things Solutions Alliance

From modular components to market-ready systems, Intel and the 500+ global member companies of the Alliance provide scalable, interoperable solutions that accelerate deployment of intelligent devices and end-to-end analytics. Close collaboration with Intel and each other enables Alliance member to innovate with the latest IoT technologies, helping developers deliver first-in-market solutions.

Intel, the Intel logo, Intel Joule, and Intel Quark are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. 
*Other names and brands may be claimed as the property of others.

The Bluetooth word mark and logos are registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by Intel Corporation is under license.

ARDUINO 101 and the ARDUINO infinity logo are trademarks or registered trademarks of Arduino, LLC.

© Intel Corporation


GitHub UPM Repository

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804