Tap the power of Windows 10 on your Raspberry Pi!

Windows IoT Core is the awesome cross-platform development system from Microsoft, that gives you the Windows 10 programming environment on embedded devices.

In this series, we show you how to get started with Windows IoT Core.  We'll help you setup your development environment, and then show you how to write your first two Windows IoT Core applications for your Raspberry Pi.

You'll learn about Visual Studio, The C# programming language, remote step-wise debugging, Windows applications development, PowerShell, and more!

If you're new to Windows development, or even if you're an experienced developer, this is the place to start!

To get set up, all you need is a Windows 10 computer, a Raspberry Pi, and a local area network. For the application development sections, we'll be using an LED, so you'll need an LED and 180 ohm resistor to attach to your Pi.

Sure, Microsoft has resources and tutorials on the web for getting started with Windows 10 IoT, and we encourage you to refer to it. But, we thought it would be useful to document the process we went through to get up to speed with Windows IoT on the Raspberry Pi.

There are several installation steps to go through before we can get started programming. We need to get Windows IoT Core installed on the Raspberry Pi, we need to install Visual Studio on a Windows 10 PC, and we need to install some support tools on the PC in addition to Visual Studio.

Install Visual Studio on your Windows 10 computer

Make sure you have the latest Windows 10 release installed. Yes, a Windows 10 computer is required!

For program development, you’ll need Microsoft Visual Studio 2015 or later. The Community Edition is free for personal, non-commercial use, and fully supports Windows IoT Core development. This page goes over the steps to install Visual Studio on your computer, or you can follow along here:

  • First install Visual Studio Community edition. You can get it from here. If you already have VS 2015 installed, make sure you install the latest update. At the time of this writing, Update 2 is the most recent, and is available for download here.
  • Now, open Visual Studio and select Help>About Microsoft Visual Studio, make sure the version of Visual Studio is at least 14.0.24720.00 Update 1, and the version of Visual Studio Tools for Universal Windows Aps is at least 14.0.24720.00

If that’s OK, you need to install the Windows IoT Core Project Templates. Go into Tools > Extensions and Updates.

On the left-hand side of the popup, select “Online”. In the search box in the upper right, type “Windows IoT Core Project Templates”.

In the center window, select the Windows IoT Core Project Templates item from the list, and click the Download button.

While you’re in the Extensions and Updates window, check for updates by clicking “Updates” on the left of the window. Select the updates you want to install, and click the “Update” button.

Finally, make sure developer mode is enabled on your computer. Go to Settings > Update & Security, and click on “For developers”. Click on Developer mode.

Install IoT Core Dashboard on your Windows Computer

After installing Visual Studio, we need to install the Windows 10 IoT Core Dashboard. This allows you to manage your IoT devices.

Download the IoT Core Dashboard from here:

https://iottools.blob.core.windows.net/iotdashboard/setup.exe

Run the setup application, and click “Install”. When the installation is complete, the IoT Core Dashboard will appear on your screen. You will probably also see a Windows Security Alert pop up, asking if you want to allow the Core Dashboard to communicate with your network. Check the ‘Private networks’ box, and then click Allow Access. You may have to stop and restart the Core Dashboard before the change takes effect (sometimes the security alert doesn’t pop up to the front of the screen. If you don’t see it, look for it in your taskbar).

The IoT Core Dashboard shows you all of the IoT devices discovered on your network The Dashboard shows you the name of the device (default name is “minwinpc”, but you can change that)

At a minimum, you’ll need a power supply, a bootable microSD card, and an Ethernet connection (must be on the same network as your Windows 10 computer). A USB WiFi dongle is optional. An HDMI monitor is a good idea, along with a USB mouse.

The version of Windows IoT Core shipped with the Adafruit development kit is for the Pi 2. It is not compatible with the Pi 3. You will need to build a Pi 3 image if using a Pi 3. See this page of the tutorial for instructions.
At the time of this writing, WiFi adapters are not supported by Win IoT.

The HDMI monitor will allow you to see the progress of the boot. Once booted, you’ll be able to view useful status information about the IoT device, such as system name, the Ethernet configuration, and system version. You’ll also be able to set your language preference and network preferences.

With the power disconnected, insert the Ethernet cable and the microSD card into the Pi. Connect the power, and wait about five minutes for IoT to boot (this will be faster on subsequent boots).

Device Portal

Windows IoT Core devices support a special webserver called the Device Portal. These pages give you a full set of tools for monitoring and configuring your device. The Portal allows you to monitor, start and stop processes and apps, change your device name and password, configure your network settings, etc.

Open the Core IoT Dashboard. On the left, select “My Devices”. You should see a list of all the IoT devices on your network. On each line, you’ll see a clickable icon for “Settings”.

Click the “Settings” icon for your device. This will bring up a page which allows you to change the name of your device, along with the username of the administrator. The default name of the device is “minwinpc”, and the user name is “Administrator”. 

Click on the line “Open Windows Device Portal in browser”. Your browser will pop up a login screen. The default user name is “Administrator” and the default password is “p@ssw0rd” (that's a zero instead of an o) You should change these later, but leave both alone for now.

You can browse the device portal, but most of the pages contain advanced debugging and status information. For example, this is the page that shows which apps are currently running (we will be making use of the Apps page later on):

PowerShell

PowerShell is a command-line utility for your device. You can remotely configure and manage your IoT device using PowerShell. PowerShell was installed when you installed the Core Dashboard. You can find it in your list of Apps on your computer as “Windows PowerShell”. You can read more about PowerShell here

We have an overview of PowerShell in this tutorial

Our next tutorial walks you through developing your first Windows IoT application

If you bought Adafruit’s Windows IoT Core development kit, you’ve already got an SD card with IoT installed on it. If so, you can skip this step. But if you don’t have a preloaded SD card, or if you want to install one of Microsoft’s Preview versions, or if you’re just curious, read on for a guide to building an IoT system on an SD card.

To start, you’ll need an 8 GB or larger SD card.

  • Insert the SD card into your Windows 10 computer so you can format it.
  • Format the SD card with a single FAT32 partition (if you’re reinstalling Win IoT over an existing system, you’ll still need to do the format!).

There are two ways to install Windows IoT Core. You can install the Core Version, or a Core Insider Preview Version.. The Core Version is Microsoft’s latest stable release. The Core Insider Preview has the latest features, but is a Microsoft testing version. It may be less stable than the Core Version, and it requires a (free) registration with Microsoft to get access to it. The Core Insider Preview Version is for advanced users. If you’re just getting started, stick with the Core Version.

Installing the Core version is easy

  • Go into the IoT Core Dashboard, and on the left, select Set up a new device. Now select your device type; either Raspberry Pi 2 or Raspberry Pi 3.
  • Make sure that the correct Windows IoT Core version is selected in the next box. If you selected Raspberry Pi 2, the version box will say “Windows 10 IoT Core for Raspberry Pi 2”.
  • Insert your micro SD card into your computer, and in the Dashboard, select the card from the dropdown labeled “Drive”. Accept the license terms, and click the “Download and Install” button.
  • That’s it! The system will alert you when the installation is complete. You can then proceed with preparing and booting your Raspberry Pi.

If you want to install the Core Insider Preview Version

Go to Microsoft’s Getting Started page, and select the type of IoT system you’re setting up.

  • First, select your board type (we’ll be using a Raspberry Pi 2)
  • Next, select which sort of IoT system you’re building. We’re starting from scratch with a blank SD card, so select “Flash onto my blank microSD card
  • Now, select the Windows 10 IoT Core Insider Preview
  • Click Next. You’ll be prompted to get Windows 10 and to download the IoT Core Dashboard. If you’re been following this tutorial, you’ve already done this.
  • Click Next again. Follow the instructions to Manually download and flash a custom image.
  • You can now proceed with preparing and booting your Raspberry Pi.

This guide was first published on Aug 03, 2016. It was last updated on Aug 03, 2016.