Windows IoT Documentation

Software Concepts for Windows IoT

Overview

Windows IoT provides a flexible, secure, and scalable software stack that runs on a wide range of devices—from tiny micro‑controllers to powerful edge gateways. Understanding the software layers helps you design, develop, and maintain robust IoT solutions.

Software Stack

  • OS Kernel – A real‑time capable Windows kernel optimized for low‑power devices.
  • Device Drivers – Unified driver model for GPIO, I2C, SPI, UART, and more.
  • Runtime – Supports Win32, .NET, UWP, and native C/C++ APIs.
  • Frameworks – Azure IoT SDK, Windows.Devices namespace, PowerShell.
  • Applications – Foreground UI, background services, and headless daemons.

Application Model

Windows IoT allows two primary execution models:

  1. Universal Windows Platform (UWP) – Full sandbox, modern APIs, and Store deployment.
  2. Classic Win32/Desktop – Full system access for legacy and performance‑critical apps.

Both models can interoperate using COM, App Services, and PowerShell scripts.

Deployment Options

MethodTypical Use‑Case
MSIX PackageEnterprise-managed devices, OTA updates
Device ImagingFactory provisioning of OS and apps
PowerShell RemotingAd‑hoc script deployment and configuration
Azure IoT EdgeContainerized workloads at the edge

Security Considerations

Security is built into every layer:

  • Secure Boot and TPM attestation.
  • Device Guard and Credential Guard for code integrity.
  • Device Health Attestation for continuous compliance.
  • Azure IoT Hub device provisioning service (DPS) for identity management.

Resources