Getting Started with Windows IoT Core on Raspberry Pi

"The Internet of your things"

On this page

What is Windows IoT Core?

Windows IoT Core is a trimmed version of Windows 10 that can run on a Raspberry Pi 2. It's free (and so is Visual Studio Community), but don't expect it to replace your PC: there is no Windows GUI.

Unless you're a .NET developer like me, you might not care much about "Windows on a Pi". But if you are used to programming in C# this opens your Pi up to various new possibilities.

In order to follow this guide, you'll need:

  • A PC running Windows 10 (it's a free upgrade if you have Windows 7 or 8)
  • A Raspberry Pi 2 with a power source
  • An SD card: class 10 or better, size 8 GB or more
  • An ethernet cable (wifi support is very limited so far)
  • An HDMI cable and a monitor or TV with HDMI input

Product links to Amazon.com, with the price at the time of writing:

Installing Windows IoT Core on a Raspberry Pi 2

To install Windows IoT on a micro SD card:

  1. Download the latest Windows 10 IoT release for Raspberry Pi 2 here.
  2. Once downloaded, double-click the .iso file. Windows will mount it automatically and open a window where you can double-click the installer.
  3. After installation is complete, insert a micro SD card in your micro SD card reader.
  4. Type "WindowsIoTImageHelper" in the Windows search bar to start the tool to write the image to your SD card.
  5. Select your SD card and the flash.ffu file (usually in C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2)
  6. Flash!

The Windows IoT Core Image Helper
Using the Windows IoT Core Image Helper tool

After the image is flashed, put the SD card in your Raspberry Pi.

  1. You can now connect a TV or monitor via HDMI cable to the Pi. You don't need a keyboard or mouse.
  2. Connect an ethernet cable, and finally the power source.
  3. Windows will start booting up.
    • If the output looks garbled, wait a few minutes to let it finish booting. Then disconnect power, put the SD card back in your PC, open config.txt on the SD card, change hdmi_group to 1, put it back in your Pi & boot back up.
  4. When Windows is done booting, you'll see a screen with a picture of a Raspberry Pi and some information. Note the IP address - you'll need it later.
    • If you're not using a monitor, you can find the IP address by typing "ping minwinpc" in a command prompt on your PC.
  5. WindowsIotCoreWatcher might be running on your desktop, but I found it pretty useless. When your Pi is on ethernet and your PC on wifi, the app won't find your Pi.

Some configuration

If you followed other Raspberry Pi guides on this site, you're probably used to MobaXterm for connecting to your Pi. For Windows IoT, we use the built-in PowerShell. You open it by typing "PowerShell" in the Windows search bar, right-clicking Windows PowerShell, and choosing "Run as Administrator".

For the commands below, replace "192.168.1.10" with the IP address of you Pi.

First start Remote Management:

net start WinRM
Then make your Pi a trusted device:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.1.10
Type Y to confirm

Now we can connect to the Pi:

Enter-PSSession -ComputerName 192.168.1.10 -Credential 192.168.1.10\Administrator
Enter password "p@ssw0rd" in the authentication prompt that pops up. Connecting can take a while. When it's connected, the prompt will start with the Pi's IP address.

To change the default password to eg. "NewPassword":

net user Administrator NewPassword

To rename the Pi from MinWinPC to eg. "WindowsPi":

SetComputerName WindowsPi

To disconnect:

Exit-PSSession

The Microsoft IoT site has a list of other PowerShell commands.

Next

Installing Visual Studio, and writing your first program