Running Windows 10 on a Raspberry Pi - A Step by Step GuideFollow article
The Raspberry Pi has become a cornerstone of the maker movement having found its widespread popularity among a strong community of hobbyists and professional engineers. Its flexible hardware and open software have challenged the electronics industry to adopt accessibility over convolution where many organisations now design their products and services around the platform.
The most notable of which is Microsoft, who have gone so far as to develop a lite version of their Windows 10 operating system for Raspberry Pi in the interest of building IoT infrastructure through their Azure cloud services. Windows 10 IoT Core is a flavour of Windows optimised for small devices and designed to streamline workflow using the Microsoft development environment.
This new addition to the already expansive Windows framework presents an excellent opportunity to explore the applications of the Raspberry Pi as a serious IoT edge device. This article will explore how to set up the Windows 10 IoT Core operating system on the Raspberry Pi with the eventual goal of connecting it to Microsoft Azure cloud services in a later article.
You will need
- Raspberry Pi 2 or 3
- 16GB class 10 micro-SD card
- Micro USB cable
- HDMI Cable
- Copy of Windows 10 IoT (see below for a download link)
The first step when installing our operating system to the Raspberry Pi is to flash our SD card with the image file containing the Windows 10 IoT Core operating system. This can be done manually, as is normally done with Raspbian, but in this case, we can download and use the dedicated IoT Core Dashboard to set up and configure our Raspberry Pi all under one roof.
Open the dashboard program once installed and click the “set up a new device” button to start configuring the operating system image file. Then remember to plug your SD card into your computer ready for the next step.
We need to configure our operating system in the dashboard before downloading it and flashing our SD card. To do this, select the Raspberry Pi device type from the first drop-down menu, then select the default option in the OS Build box. Finally, choose the drive letter that contains your blank SD card.
At the right of the screen, you can choose to select an existing Wi-Fi network for your Raspberry Pi to connect to on boot, you can then use the same network to configure your device remotely using the dashboard. This feature can also be disabled if a wired LAN connection is preferred.
Finally, give your device a name and password, accept the licence agreement and click then click the download button to format your SD card for your Raspberry Pi.
Once your SD card is ready, ignore any formatting prompts from Windows and safely remove the card from its socket. Insert the SD card into the Raspberry Pi, use the USB cable to power the device and wait five minutes for it to boot the first time. Once complete, click on the “my devices” tab on the dashboard to search for your Raspberry Pi on the network.
At this point, you can plug an HDMI cable into your Raspberry Pi and view the boot progress on an external monitor. It is fantastic to see Windows 10 running on a Raspberry Pi!
Using the “my devices” tab, confirm that the Raspberry Pi has booted successfully and is connected to the network. Please note that the device may restart several times as part of its first boot, causing inconsistencies in the list. If no device appears after five minutes, consider checking that you are connected to the same network as the device or connect to it directly using an ethernet cable instead.
Once we have successfully found our device on the network, we can begin to test its operation using some sample code. Typically, we would develop our Windows apps in Visual Studio but the dashboard also provides a range of precompiled sample code to save us some time. Click the “try some samples” tab to show the available pre-compiled projects and select the “hello world” app.
Visual studio is typically at the centre of the Microsoft software environment and will become familiar when developing Windows apps. It is a very flexible platform that supports many languages using a uniform code structure. Microsoft also supports the use of its MakeCode visual language for IoT Core programming, a Scratch alternative that can be used with Microbit and Minecraft.
The last thing left to do is to run the obligatory hello world app by selecting your device in the drop-down menu and pressing the “deploy and run” button. Connect an external monitor to the Raspberry Pi to view the result. Congratulations you have just run your first Windows 10 app on a Raspberry Pi!
In a future article, we will attempt to connect our new Windows 10 IoT Core device to the cloud and take a first look at using Microsoft Azure cloud services to create our own IoT infrastructure project.