This week at Microsoft's WinHEC 2015 conference in Shenzen, Microsoft announced new details in support of the developing IoT market. Microsoft previously announced support for the Raspberry Pi 2 with a customized version of Windows 10, and they have now provided a bit more information about Windows 10 in general.

The primary information provided by Microsoft is that there will be an entirely new edition of Windows 10, "Windows 10 IoT", using a similar postfix notation as the ill-fated "Windows 8 RT". However, within Windows 10 IoT there are three classes: industry devices, mobile devices, and small devices. This could be the eventual official names of Stock Keeping Units (SKUs) for Windows 10 IoT, but Microsoft was careful not to use the SKU term yet.

All three classes of Windows 10 IoT support universal apps and drivers. This extends the deployment options of a single app from desktops, laptops, tablets, game consoles, TVs and augmented reality (Holo Lens), all the way to IoT devices. The idea of a single app running on all these targets is quite impressive if it can be done well. While one app might not need to be on every type of device, it at least implies the development experience for each target is similar therefore lowering the barrier to entry. 

Windows 10 IoT for industry devices has identical requirements to traditional 32-bit Windows 10: x86 processor, 16 GB storage and 1 GB RAM. Therefore it will be interesting to see what software tweaks are provided in Windows 10 IoT for industry devices that differentiate it from traditional Windows 10. Microsoft has not yet provided any details about this, but alludes to deeper integration with cloud services, security, and machine to machine connectivity. Microsoft mentions targeting medical devices, robotics, and other smart machine applications. From my own perspective, many of these devices already run Linux or real-time operating systems such as VxWorks so this could be an uphill battle.

Windows 10 IoT for mobile devices is a subset of functionality. It excludes the desktop shell but keeps the all modern interface introduced in Windows 8, then further reduces storage needs to 4 GB and memory to 512 MB. Microsoft also limits it to only ARM processors, which is quite surprising considering that Windows 10 for small devices works on ARM or x86 processors. Also, the overlap with Windows Phone is considerable, and considering the rumors of x86 support in Windows 10 for phones, Windows 10 IoT for mobile devices is quite an enigma at the moment.

Finally, Windows 10 IoT for small devices drops the shell entirely but maintains universal app compatibility. This might imply that there is no way to interact with the operating system while running an app, such as a kiosk experience for Point of Sale (PoS) or media center devices. Microsoft's own documentation states "To keep storage and memory costs low, this edition of Windows 10 does not include a Windows start experience or in-box apps. Instead, the device maker builds the device experience as a Windows universal app and configures the device to launch that app at boot, giving the device developer complete control over the device experience." Requirements drop down to 256 MB of RAM and 2 GB of storage. As mentioned above, x86 and ARM processors are supported.

Microsoft also announced that Windows 10 IoT for small devices will be free for makers and commercial device builders. The language used is quite specific and it appears to rule out deploying Windows 10 IoT for small devices internally within a company.

Finally, Microsoft's supplied graphic highlighting three compatible small devices includes the Raspberry Pi 2, an Intel Atom development board, and the Qualcomm DragonBoard 410c. The processors in each are ARMv7, x86, and ARMv8 respectively.

Unfortunately many questions remain. We look forward to Microsoft providing more details and evaluation units in the future.

Source: Microsoft

Comments Locked

39 Comments

View All Comments

  • andrewaggb - Friday, March 20, 2015 - link

    I think it'll do much better than RT.

    It's free, you can use your own hardware, and it can be used for many things that currently use windows ce, like ATMs, POS, digital signage, etc.
  • Penti - Friday, March 20, 2015 - link

    It's not free, it's one Windows SKU and two Windows Phone SKUs – the one used on ATM's, cash registers et cetera is an embedded version of Windows (with win32 and the desktop) that will of course cost some money to license. The small SKU which is basically the continuation of Windows Embedded 8.1 Handheld or Windows Phone for embedded devices and restricted to Windows Runtime development will only be free for non commercial use. The other SKU's won't be available for tinkerers, but you could easily buy a retail copy of Windows for those systems that need a full blown Windows OS.
  • domboy - Friday, March 20, 2015 - link

    I'm not really sure I understand where the Raspberry Pi2 fits in... and if it's not an ARM version of the top one ("industry devices") I really don't expect people to use it over the Linux distributions. It's not a "mobile device" so being modern ui only makes no sense, and having no shell at all makes little sense either for a device like the Pi... sure there are some use cases that might work, but having options is what makes a device like the Pi so great. I guess we still don't know for sure what it will be like...
  • Guspaz - Friday, March 20, 2015 - link

    The Pi works best when used in specific projects, for a specific purpose: they're rarely used as general computers. If you want to run a single app (or suite of apps) on the Pi, what do you need the shell for? At that point, you're running a full-screen app anyhow, so it might as well be using the modern UI. This is for kiosks, ATMs, digital signage, all that sort of stuff.
  • fluxtatic - Saturday, March 21, 2015 - link

    Given the problems I've been having getting a couple I2C devices working on a Pi the past week or so, at this point I'd gladly tell Raspbian to blow me and install Windows instead.
  • Daniel Egger - Saturday, March 21, 2015 - link

    Right, because Windows is commonly known as an platform for easy development and great debugging capabilities. I'm sorry to tell you but if you're already struggling with I2C on Raspian you're going to have a horror time with Windows.
  • Michael Bay - Saturday, March 21, 2015 - link

    Windows is undoubtedly the platform with great debugging capabilities and easy development.
  • overzealot - Saturday, March 21, 2015 - link

    I'd be very surprised if Windows improves your ability to talk to hardware via low-level protocols like i2c or SPI. There's at least plenty of documentation under Linux.
    If you want it to be super-simple, code in Wiring or something else that does all the heavy lifting for you.
    But you won't learn as much as you are now. And you'll still find hardware uses comms protocols in unconventional ways that make your life hell.
  • savagemike - Friday, March 20, 2015 - link

    There are benefits to this, especially from MS and devs point of view. However I can't help but feel this also makes a large target even larger. I picture a future where I have little way to notice my sump pump has been enslaved as an e-mail spam bot.
  • Etsp - Friday, March 20, 2015 - link

    Perhaps you could put an IDS and firewall on your internet edge? Just an idea...

Log in

Don't have an account? Sign up now