Azure IoT SDKs is a collection of software development kits for multiple programming languages and platforms that enable devices to connect to Microsoft Azure IoT services.
The SDKs address the need for standardized, language-specific libraries to facilitate device communication with Azure IoT Hub and Azure IoT Hub Device Provisioning Service. Each SDK provides client libraries that handle the complexity of connecting, authenticating, and exchanging data with Azure services, abstracting away low-level protocol details so developers can focus on application logic.
Developers should choose these SDKs based on their target platform and language. For constrained devices with limited resources, the Embedded C SDK offers a bring-your-own-network approach where developers can select their own MQTT client, TLS, and socket implementations. The middleware options for Azure RTOS and FreeRTOS build on the embedded SDK to provide tightly integrated solutions for real-time and resource-constrained environments. For general-purpose applications, language-specific SDKs exist for C, Python, Node.js, Java, and .NET, with the C SDK offering both low-level and threaded client libraries for different use cases. The SDKs are designed to be portable across various operating systems and hardware platforms, with tested compatibility information available in the Azure Certified for IoT device catalog.
The repository now functions as a landing page and index rather than a primary development location. All SDKs have been moved to their own individual repositories, and the main repository no longer accepts pull requests. Developers seeking to contribute, report issues, or access the latest code should refer to the specific SDK repository for their chosen language or platform.