Windows 10 IoT Core on Raspberry Pi 3

Suyog Gunjal
7 min readJun 3, 2018

--

What is Windows 10 IoT Core?

Microsoft’s official description:

Windows 10 IoT Core is a version of Windows 10 that is optimised for smaller devices with or without a display, and that runs on the Raspberry Pi 2 and 3, Arrow DragonBoard 410c & MinnowBoard MAX. Windows 10 IoT Core utilizes the rich, extensible Universal Windows Platform (UWP) API for building great solutions.

Windows 10 IoT Core

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. 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.

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:

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 these devices:

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.

Hardware Requirements are as follows -

Here’s the Microsoft Verified MicroSD Cards to work with Windows IoT Core:

Samsung EVO 32GB Class 10 Micro SDHC Card

SanDisk Ultra Micro SDHC, 16GB Card

Instructions to install Windows 10 IoT Core on Raspberry Pi3-

  1. Go to the Windows 10 developer center.
  2. Click Get Windows 10 IoT Core Dashboard to download the necessary application.
  1. Install the application and open it.
  2. Select set up a new device from the sidebar.
  3. Select the options as shown in the image below. Make sure you select the correct drive for your microSD card and give your device a name and admin password.
  1. Select the WiFi network connection you want your Raspberry Pi to connect to, if required. Only networks your PC connects to will be shown.
  2. Click download and install.

The application will now download the necessary files from Microsoft and flash them to your microSD card. It’ll take a little while, but the dashboard will show you the progress.

Once the image has been installed on the microSD card, it’s time to eject it from your PC and go over to the Raspberry Pi. First connect up the micro USB cable and power supply, HDMI cable and USB WiFi adapter or Ethernet cable. Connect the HDMI cable to your chosen display, insert the microSD card into the Raspberry Pi and power it up.

Setup

Windows 10 IoT Core

You’ll be asked to choose a language and enter your WiFi password to connect to the web. That’s about it. It’ll take a couple of minutes, but when booted up you’ll see the Windows 10 IoT Core splash screen.

When booted, you can go back to the dashboard application on your PC, and you’ll see your Raspberry Pi listed as one of your devices.

Sample App — “Hello World”

Hello World Sample App

To get a feel for how things operate you can deploy a selection of sample applications to your Raspberry Pi to see how Windows disappears, and all you’re left with is the application designed to run on the IoT Core.

These include the classic Hello World, an Internet Radio app and something to network connect a 3D printer.

First Look of Windows 10 IOT Core on Raspberry Pi3

First Look of Windows 10 IOT Core on Raspberry Pi3

--

--

Suyog Gunjal

Mobile & Web App Developer | Google Certified Android Developer | Fullstack IoT Developer | Trainer & Mentor