Select Page

Windows in miniature – What's behind Windows 10 IoT?

Last year, Microsoft unveiled "Windows 10 IoT" with great fanfare. One version – Windows 10 IoT Core – is even available for the popular Raspberry Pi maker platform. So, what exactly is "Windows 10 IoT Core"?

Windows 10 IoT Core is available for free to hobbyists (makers). After a free license, it can even be used professionally. But is Windows 10 IoT Core a true Windows? Anyone wanting to use the Raspberry Pi as a PC replacement is ill-advised to choose Windows 10 IoT Core. There's no Start menu and no desktop. Only a single application runs in the foreground.

Windows Embedded is now called Windows IoT

Microsoft sought a contemporary name for its "small" operating systems and took its cue from the huge hype surrounding the "Internet of Things." There are three versions of Windows IoT:

  • Windows 10 IoT Enterprise
  • Windows 10 IoT Mobile Enterprise
  • Windows 10 IoT Core

Windows 10 IoT Enterprise is a full version of Windows 10 that Microsoft has adapted for industrial devices.

Windows 10 IoT Mobile Enterprise Microsoft developed it from Windows 10 Mobile. It currently runs on Microsoft smartphones and is also intended for handheld devices such as smart barcode scanners.

Windows 10 IoT Core This is the Windows edition for small and inexpensive devices. It lacks a Start menu and desktop, and only supports Universal Windows Platform (UWP) applications. Since it's designed for very basic devices, only one foreground app can be active at a time; however, multiple background apps can run simultaneously. Although the operating system is very small, it doesn't meet real-time requirements. It's suitable for devices with no or very simple graphical user interfaces, but can also be used for applications with more sophisticated interfaces. It supports both ARM and x86 processors.

There are two versions of IoT Core:

  • Windows 10 IoT Core
  • Windows 10 IoT Core Pro

Windows 10 IoT Core

What are the differences between the two Core versions? "Windows 10 IoT Core" automatically receives updates via an internet connection, while "Windows 10 IoT Core Pro" distributes updates via Windows Server Update Services or can even disable them entirely. The standard Core version is free for private users. A commercial product based on Windows 10 IoT Core requires a corresponding license, which Microsoft provides free of charge. The Pro version must be licensed through an official distributor.

Some outstanding features are:

  • Scalability – The Unified Windows Platform (UWP) is available on every version of Windows. There is a unified driver model, and the hardware is inexpensive. The use of widely available development tools lowers the barrier to entry.
  • Connectivity – All common interfaces are supported out of the box: Wi-Fi, Ethernet, USB, GPIO, I2C, SPI. The AllJoyn standard, common in the IoT sector, is also included.

In terms of security, Windows 10 IoT Core also has a lot to offer: Address Space Layout Randomization (ASLR), Data Execution Prevention (DEP), Control Flow Guard, support for the Trusted Platform Module (TMP), Secure Boot, BitLocker and Windows Update.

Maintenance is also simple: The operating system and, in the future, the applications are kept up-to-date through automatic updates. Furthermore, there is a remote client and the option to automate administrative tasks using Windows PowerShell.

The system has built-in cloud connectivity. It offers full network connectivity and a connection to Azure IoT services.

The supported hardware is widely available, even though not many boards are listed: Raspberry Pi 2 and 3 (ARM), MinnowBoard Max (x86), and DragonBoard 410c (ARM). The hardware requirements are moderate: 256 MB of RAM is needed for devices without a display, or 512 MB for devices with a display using the Windows video subsystem. Half of the RAM is used by the operating system. An additional 2 GB of storage on an SD card is required. The processor must have a clock speed of 400 MHz or faster (an x86 processor requires PAE, NX, and SSE2 support).

Universal Windows Platform (UWP)

What makes Windows 10 IoT development so interesting is the Universal Windows Platform (UWP) – a runtime environment available on all Windows 10 devices, regardless of whether it's a PC or an IoT device. Software development for the UWP platform is possible in various languages: Node.js, Python, VB, C++, C#, and Arduino Wiring (IoT Core only).

This allows cross-system libraries to be compiled once and then distributed to all devices. Development time is saved, and the development environment is the same for all devices. Applications can be run and debugged in the simulator or remotely on the target device.

Conclusion

Windows 10 IoT Core is an interesting operating system for small, internet-connected devices. Its unified development platform saves time and requires less specialized knowledge than other systems. It also includes additional services, such as automatic updates, which would otherwise have to be developed manually.

Further information

MicroConsult expertise in software development

MicroConsult Training & Coaching on the topic of software development

MicroConsult Newsletter

With the MicroConsult newsletter, you'll stay on the pulse of the embedded world. Look forward to proven practical knowledge, real professional tips, and current events – directly from our experts for your project success.

Subscribe now!

Published by

Thomas Batt

Thomas Batt