Windows 10 Core IOT And Raspberry PI 2 Introduction

In this post I’m going to give a quick Windows 10 Core IOT and Raspberry PI 2 introduction. I recently saw this article on LifeHacker to build your own Alexa clone using a Raspberry PI and thought it would be fun to build my own virtual assistant for Windows. My plan is to use Windows IOT on a Raspberry PI 2 with Cortana and/or Azure Cognitive Services and possibly a touch screen. I had a quick look at Windows IOT when support for Raspberry PI 2 was announced way back and it was pretty bare bones. Luckily it looks a lot better today and in this post I’m going to touch on some main points of functionality to highlight what is possible and identify possible blockers.

Windows IOT hardware drivers
Turns out you can create driver packages using a Windows 10 machine where the device is working and deploy them to Windows Core IOT machines but only for x86 devices not ARM. Sadly this won’t help my project since Raspberry PI is ARM. There is a hardware compatibility list here. I’ll try a few different Wifi dongles and report back in a few weeks. Same goes for a microphone, the PI has audio out but no microphone, you have to find a USB sound card that works.

Windows 10 Core Applications
As far as I can tell there are two different application types you can create for Windows IOT.

  • Windows IOT background applications which are basically like a “service”, it starts with the device and doesn’t have a GUI, link to templates here.
  • Universal Windows Platform applications and this is the cool part, you can develop the application once and deploy to many different devices types like mobile, Xbox, desktop and of course IOT machines. You can only have one foreground application running at a time with Windows IOT but you can deploy multiple apps to the device. You can also do something like embedding a browser control in your UWP application and use the official Raspberry PI touch screen to control it.

Development Experience
You can use Visual Studio by installing the Universal Windows App Development Tools during setup or the first time you try to use the templates it will prompt you to install it. I also have a feeling you need Visual Studio update 3 to install the latest version of the tools. You can deploy and do remote debugging of your application from Visual Studio.

Device management
You can use the Windows IOT dashboard to manage your devices and prepare SD cards for new devices, it can be downloaded from here.

Windows 10 Core IOT And Raspberry PI 2 Introduction

Windows IOT Core devices have a management service you can access from your browser by default it is running on port 8080.

Windows 10 Core IOT And Raspberry PI 2 Introduction

One of the great features is remote access to your device, you can enable the remote server from the device portal and the remote client is in the Windows Store, there is a link to it on the device portal. It is in preview but works well enough to be useful and it saves you connecting a screen and mouse/keyboard.

Francois Delport