Windows has a long history of deployments outside of traditional desktop (or laptop) computers. Embedded versions of Windows existed for a long time, powering check registers, kiosks, outdoor displays and even car entertainment systems. Pretty much every version of Windows is recent times had it’s embedded incarnation (XP, 7, 8 and now 10). The OS version nomenclature was a subject to change though. For version 10 embedded (i.e. optimized for running on non-PC devices) shed an “embedded” moniker and instead received a trendy “IoT” (i.e. Internet of Things) classifier.
There are three Windows 10 IoT editions:
– Windows 10 IoT Enterprise
– Windows 10 IoT Mobile Enterprise
– Windows 10 IoT Core
Windows 10 IoT Enterprise is a direct descendant of Windows Embedded OS family, which is basically a x86 version of Windows optimized to run unattended inside a non-PC device, like POS terminal, kiosk or outdoor display. As it’s a x86 Windows version, it can run all varieties of Windows applications (desktop or universal), being backwards compatible with applications created decades ago. There are plenty devices now still running Windows XP Embedded (which, unlike regular XP, is still supported, but end of life is coming in 2016) and Windows 10 IoT Enterprise is a clear path to upgrade for these devices.
Windows 10 IoT Mobile Enterprise is a direct relative of Windows 10 Mobile OS (powering Windows Phones) which is in turn tracing it’s roots to Windows 8 Phone and all the way back to Windows CE. Windows 10 IoT Mobile Enterprise is built to power enterprise mobile, handheld devices (like these barcode scanners used in warehouses to quickly identify and sort goods). Being a Windows Mobile relative, this OS can only run Windows Universal applications, no support for classic desktop applications.
Windows 10 IoT Core is a something completely new in Microsoft Embedded OS lineup. Historically, Windows Embedded was licensable to Microsoft OEM partners only and wasn’t available for end user purchase (because end users are simply not interested in this kind of specialized OS). And both other editions of Windows 10 IoT are still licensed to EOM. But not Windows 10 IoT Core which is available for free download to everybody here: http://ms-iot.github.io/content/en-US/Downloads.htm. The target audience for IoT Core edition are hobbyist developers who embrace a new breed of simple, cheap, low powered kit computers like Raspberry Pi. Windows 10 IoT Core is tracing it roots to Windows RT – a now discontinued version of Windows for ARM devices. But since it was built to be runnable on devices with really low resources, IoT Core edition is missing a system UI and not suitable for general purpose computing.
At the moment, Windows 10 IoT Core is compatible with three devices: Raspberry Pi 2, MinnowBoard Max and DragonBoard 410c. First and last of these devices are utilizing ARM processor, while MinnowBoard is sporting x86 Intel Atom. Because of high portability requirements, Windows 10 IoT Core can only run Windows Universal apps, and limited to WinRT stack which is adding an additional limitations to application development.
Windows 10 IoT Enterprise and Mobile Enterprise editions are continuing a well established lines of products (and targeted for upgdading legacy devices to newer OS). Windows 10 IoT Core on the other hand is establishing a new product line – a completely free version of Windows built to run on a severely resource limited equipment. While missing a system UI, IoT Core edition is still a full functional Windows OS and taking advantage of core Windows APIs. Despite being free, it’s fully supported by Microsoft and will be receiving updates. Actually, I even see its competing with other IoT editions – it’s certainly possible to build a POS terminal, display, kiosk or barcode scanner powered by Raspberry Pi with Windows 10 IoT core running inside. Windows 10 IoT Core is Micrososft’ big bet for the future of embedded device OS.
In my following blog posts I’m going to explore application development with Windows 10 IoT Core and Raspberry Pi 2. Stay tuned.