Arduino Wiring Project Guide


The Windows 10 IoT team is no longer actively maintaining Arduino.

This guide will walk through the creation, setup, and deployment of an Arduino Wiring project using Windows IoT Core.

Arduino Wiring projects utilize the familiar, easy to use Arduino Wiring API with Windows IoT Lightning DMAP driver: a driver using direct memory mapping to provide significant performance speeds. You can copy & paste Arduino sketches and libraries into your IoT Core Arduino Wiring projects and run them on supported IoT Core devices, including Raspberry Pi2, 3 and Minnowboard Max! See the develop section of this page for more information.

Install the Microsoft IoT Templates


Download VS 2015 to access Arduino Wiring templates - these templates are no loner supported on VS 2017 and beyond.

We've provided a Visual Studio extension which will automatically install a VS template for the Arduino Wiring projects as well as other Microsoft IoT project types.

Change the Default Controller Driver

You will need to be running the Direct Memory Mapped Driver to write Arduino Wiring solutions! Refer to the Lightning Setup Guide for instructions!


Complete one of the "Wiring" samples on the Samples Page, or build your own project! Any of the samples we've created that are written using Arduino Wiring will be listed like so: Blinky (Wiring). Blinky, the cononical "Hello World" project for IoT projects, is a great place to start for your first project!

Create a new Project

  1. Open Visual Studio.

  2. Select File -> New -> Project...

  3. From the dialogue that appears, choose:
    Visual C++ -> Windows -> Windows IoT Core -> Arduino Wiring Application for Windows IoT Core
    (might appear instead as)
    Visual C++ -> Windows IoT Core -> Arduino Wiring Application for Windows IoT Core

App Create


The Arduino Wiring API has been carefully implemented to make it possible to copy/paste your libraries and sketches into an Arduino Wiring project. Nevertheless there are, in some circumstances, slight modifications you may have to make to your sketches or libraries. We've created an easy to follow Arduino Wiring Porting Guide to cover these potential issues.

Build and Deploy

  • In Visual Studio, make sure "Remote Machine" is selected as your deployment target.
  • Also, make sure the architecture is set to match the board you're running your project on. For Raspberry Pi 2 or 3 choose "ARM" and for Minnowboard Max, choose "x86".

Remote Machine

  • Open the solution properties found on the Debug context menu in Visual Studio.

Solution Properties

  • locate the IP address or machine name of your device. Either use the Windows 10 IoT Core Dashboard application or hook up your device to a monitor.
  • Type the machine name (minwinpc by default) or the IP address of the remote machine into the 'machine name' field. If you have renamed your device to something besides 'minwinpc' use that name in the login box instead.
  • Ensure the Authentican Type is: Universal (Unencrypted Protocol)

Solution Properties 1

  • Press F5 to build and deploy your project on your device.