Microsoft Windows 10 IoT Core review

Windows 10 IoT Editions

In this article we want to talk more about the Windows 10 IoT core which is one of the most exciting parts of this this whole IoT package Microsoft offering right now. Windows 10 IoT core is something that is relatively new for Microsoft which gives us the ability to run a lot of cool devices and play with Arduino and Raspberry Pi.

So if you haven’t joined us in the previous articles please go back and check them. We talked about the IOT and why it’s important. We explored the features of UWP which is the Universal Windows Programming Model introduced with Windows 10 and is super important for Microsoft IoT.

Made for RPi, Arduino and other cool boards out there

I introduce this concept of targeting universal Windows platform devices in the previous article using a number of different languages, UI frameworks, APIs and the same types of all deployment models. We have exactly the same support in Windows 10 IOT core, so everything I talked about in UWP is applicable here as well. Now we have some really interesting devices. A lot of people have heard that we can run Windows 10 on the Raspberry Pi 2, but that’s not the only board that they support. Windows 10 IoT supports the Raspberry Pi two, the middle board max which has essentially the guts of a tablet on it with the atom processors and also the Qualcomm Dragon board which has the guts of a phone.

Current status, installed Windows 10 IoT on my Raspberry Pi 2

A photo posted by Scott Hanselman (@shanselman) on

The IoT core ecosystem

Those are officially supported boards, but there have been companies starting to come up with their own devices. For example, recently a company was able to bring up a board based upon the Nvidia Tegra, which is the same processor that MS had in the original surface. There was all that engineering done already and they were able to build upon that and bring up that board. The market is showing is some really interesting things are happening in this ecosystem.

It’s Windows 10, plus the IoT extension

Windows 10 IoT core is actually Windows 10, so running on a Raspberry Pi 2 or any other device we said we support, it is actually Windows 10 running on that device. It has the UWP programming model that we talked about in the last article, plus the IOT extension which is one of the units of the UWP extension libraries. It is binary compatible with desktop and you can build an x86 binary that runs on the middle board max and you can take that exact same binary listed and make it run on your PC. It’s mostly processor dependent, but your arm binary won’t be working on your PC. Now there is no desktop or window shell and this was something that was really confusing at first. Before Microsoft releases this, they did mention that there is no window shell experience and everybody assumed that meant these were headless only and that’s not the case.

Because we do not have that shell, the things that you would use for configuring a Bluetooth or Wi-Fi don’t have dialogues to do all that, so they are done differently.


The other thing that the windows core let you do is, it runs a single short-run application, there’s no shell or a task switching, plus any number of UWP background tasks and those has to be long-running which is something that is unique to IOT SKUs where you not worry about battery life or something if you want to have a super long-running background task.