Azure IoT SDKs Platform Support

The Azure IoT SDKs are a set of libraries to interact with IoT Hub and the Device Provisioning Service with broad language and platform support. The SDKs run on most common platforms, and developers can port the C SDK to specific platform by following the Porting Guidance.

Microsoft supports a variety of operating systems/platforms/frameworks and can be extended using the Azure IoT C SDK. Some are supported officially by the team, grouped into tiers that represent the level of support users can expect. Fully supported platforms means that Microsoft:

* Continuously builds and runs end-to-end tests against master and the LTS supported version(s).  To provide test coverage across different versions, we generally test against the latest LTS version and the most popular version.  Other versions of the same platform may be supported via platform version compatibility.
* Provides installation guidance or packages if applicable.
* Fully supports the platforms on GitHub.

In addition, a list of partners has ported our C SDK on to more platforms and they are maintaining the platform abstraction layer (PAL). Azure Certified for IoT Device Catalog also features a list of OS platforms the various SDKs have been tested against. The SDKs also regularly build on these platforms, with limited testing and support:

  • MBED2
  • Arduino
  • Windows CE 2013 (deprecate in October 2018)
  • .NET Standard 1.3 with .NET Core 2.1 and .NET Framework 4.7
  • Xamarin iOS, Android, UWP

Supported platforms

There are several platforms supported.

C SDK

OS Arch Compiler TLS library
Ubuntu 16.04 LTS X64 gcc-5.4.0 openssl - 1.0.2g
Ubuntu 18.04 LTS X64 gcc-7.3 WolfSSL – 1.13
Ubuntu 18.04 LTS X64 Clang 6.0.X Openssl – 1.1.0g
OSX 10.13.4 x64 XCode 9.4.1 Native OSX
Windows Server 2016 x64 Visual Studio 14.0.X SChannel
Windows Server 2016 x86 Visual Studio 14.0.X SChannel
Debian 9 Stretch x64 gcc-7.3 Openssl – 1.1.0f

Python SDK

OS Arch Compiler TLS library
Windows Server 2016 x86 Python 2.7 openssl
Windows Server 2016 x64 Python 2.7 openssl
Windows Server 2016 x86 Python 3.5 openssl
Windows Server 2016 x64 Python 3.5 openssl
Ubuntu 18.04 LTS x86 Python 2.7 openssl
Ubuntu 18.04 LTS x86 Python 3.4 openssl
MacOS High Sierra x64 Python 2.7 openssl

.NET SDK

OS Arch Framework Standard
Ubuntu 16.04 LTS X64 .NET Core 2.1 .NET standard 2.0
Windows Server 2016 X64 .NET Core 2.1 .NET standard 2.0
Windows Server 2016 X64 .NET Framework 4.7 .NET standard 2.0
Windows Server 2016 X64 .NET Framework 4.5.1 N/A

Node.js SDK

OS Arch Node version
Ubuntu 16.04 LTS (using node 6 docker image) X64 Node 6
Windows Server 2016 X64 Node 6

Java SDK

OS Arch Java version
Ubuntu 16.04 LTS X64 Java 8
Windows Server 2016 X64 Java 8
Android API 28 X64 Java 8

Partner supported platforms

Customers can extend our platform support by porting the Azure IoT C SDK, specifically, creating the platform abstraction layer (PAL) of the SDK. Microsoft works with partners to provide extended support. A list of partners has ported the C SDK on to more platforms and maintaining the PAL.

Partner Devices Link Support
Espressif ESP32
ESP8266
Esp-azure GitHub
Qualcomm Qualcomm MDM9206 LTE IoT Modem Qualcomm LTE for IoT SDK Forum
ST Microelectronics STM32L4 Series
STM32F4 Series
STM32F7 Series
STM32L4 Discovery Kit for IoT node
X-CUBE-CLOUD
X-CUBE-AZURE
P-NUCLEO-AZURE
FP-CLD-AZURE
Support
Texas Instruments CC3220SF Launchpad
CC3220S Launchpad
MSP432E4 Launchpad
Azure IoT Plugin for SimpleLink TI E2E Forum
TI E2E Forum for CC3220
TI E2E Forum for MSP432E4

Next steps