Creating UWP App for Windows 10 IoT Core


Together Windows 10 IoT Core and Visual Studio brings desktop application development experience to the hardware development area. Especially if you're a .NET developer, you'll extend your experience to the hardware side.

For Windows 10 IoT Core, you can develop UWP (Universal Windows Platform) or background app. The primary difference is that UWP applications have UI; on the other side, background apps do not have UI. In this article, we're going to develop a UWP application.


  • Windows 10 PC with developer mode activated.
  • Latest version of the Visual Studio. You may use the free community edition.
  • Windows IoT Core Project Templates for VS 2017 should be installed. (Download it from here.)
  • IoT Device running with Windows 10 IoT Core

Creating a Project

Start Visual Studio, and click New Project. Select Windows Universal from Visual C#. Select the Blank App (Universal Windows). Give a name to your project.

A window asking the target operating system version will be pop-up. Select the most recent one.

The project you created is for the x86 platform. To use GPIO pins and other hardware related features, you'll need to add a reference to the project. Go to Solution Explorer, select References > Add Reference. From the Reference Manager window, select Universal Windows > Extensions > Windows IoT Extensions for the UWP.

Your project is now capable of controlling hardware features found on Raspberry Pi like devices.

Now, select ARM from the Solution Platforms list on the top toolbar.

Open MainPage.xaml from the Solution Explorer. Select a screen size from the MainPage.xaml, for example, 10" IoT Device.

Select "Remote Machine" from the "Device" menu. Write remote device's IP address to the Remote Connections window.

Select authentication mode to Universal (Unencrypted Protocol) if prompted. Finally, click Remote Machine. At this time, Visual Studio compiles, sends and installs the application to the remote device. The first deployment takes approximately 2 minutes, but the next deployments will be shorter.

To stop the application, click the stop button from the Visual Studio toolbar.

Author: Umut Erkal