13 Oct 2015
Bringing Windows 10 IoT Core to life
Simon Duggleby, Semiconductor Marketing Manager, RS Components looks at how Windows 10 can be used for Internet of Things, IoT applications.
The world of developing IoT connected sensors and controls has been dominated by traditional embedded design techniques but Microsoft’s recent Windows 10 IoT Core announcement looks set to offer a viable alternative.
The desktop and server markets have long been the domains of Microsoft’s Windows operating system so it is with much interest that the company has started to provide a degree of support for the small computing boards such as Raspberry Pi, Arduino and the MinnowBoard MAX.
Windows 10 IoT core
Essentially, the Windows 10 IoT core is a smaller, more compact, version of the Windows 10 operating system that is designed especially for these, comparatively speaking, compact resource-constrained single-board computers. Designed to target 400 MHz devices or greater x86 and ARM-based platforms without a screen with a minimum of 256 MB RAM, or a Windows screen capability with at least 512 MB of RAM, there is a minimum storage requirement of 2 GB.
Coupled with full tool chain support in the form of Visual Studio and various board support packages, the Windows 10 IoT Core provides a viable environment on which to base your IoT design. Since the supported boards have been extremely popular with the maker community you will find lots of hints, tips and practical design examples available online. So whether you are a professional embedded developer or a maker you are assured that there are others like you using Windows IoT Core.
At the board level, Microsoft provides the ability to build a custom image that supports as many of the platform’s capabilities as required. For example, for many IoT sensor applications provision of an audio or video resources might not be required. However, to speed deployment on to the popular platforms, Microsoft provides board-specific images ready to be installed. That includes boards without composite video or HDMI output for which no Windows Shell would then be required either.
Developers contemplating using the Windows 10 IoT core should first visit the IoT page of the Microsoft Windows Developer Centre. This useful resource documents and links to the relevant supported targets in addition to providing information on provisioning IoT connectivity and showcasing a number of projects hosted on the popular Hackster.io developer community site.
Currently there are three development boards that are fully supported by Microsoft Windows 10 IoT core, these being the Raspberry Pi 2, MinnowBoard MAX, and the Intel Galileo. In addition, while not able to run the IoT Core operating system, support for interacting with Arduino-based applications is provided through two library components. More about the library functions later.
Whichever board you choose for your development, the first step towards installing Windows 10 IoT Core is to prepare a PC ready for the transfer and subsequent developments. The latest version of Microsoft Windows 10 needs to be running on the PC together with the free Visual Studio Community edition or either the Professional or Enterprise versions of Visual Studio 2015. The Visual Studio version installed also needs to be validated, the details of which can be found on the above-mentioned Development Centre site. Once complete the Windows IoT Core Project templates need to be added through the Visual Studio Gallery. The open hardware MinnowBoard Max board (see Figure 1), for example, offers a 64-bit Intel Atom E38xx SoC, 2 GB of DDR3 RAM and is equipped with comprehensive peripheral support including HDMI, SATA2, USB3 and USB2 hosts, 10/100/1000 Ethernet and 8 GPIO pins. Requiring a single 5 VDC supply and measuring 99 x 74 mm, this compact board is ideal for a host of IoT applications.
Figure 1 – MinnowBoard MAX
With your PC set up the target board can then be prepared for running the IoT Core. The process is similar for each of the three supported boards and involves installing the latest board firmware, downloading the prepared target board ISO image from the Microsoft Download Centre, transferring the image to an SD card and then flashing the target. The target board can then be booted. See Figure 2.
Figure 2 – Successful boot of Windows 10 IoT Core on MinnowBoard MAX
An example application might be using an Arduino to collect environmental data from a number of sensors with the desktop-based application collecting this data for analysis or control purposes on a regular basis. The other library is the Windows Virtual Shields for Arduino. Primarily designed for use with the Arduino UNO this is aimed at open source Universal Windows applications that can run on any Windows 10 devices, such as a Windows Lumia phone, to provision communication to and from the Arduino. In this way the sensors of the phone can be read and interpreted from within an Arduino sketch.
Figure 3 – Windows Remote Arduino project using Bluetooth connectivity to Windows 10 host. Image copyright Microsoft
Checks and tests
Complementing Windows 10 IoT Core is Microsoft’s Azure cloud platform. Designed for a host of cloud-based compute, storage and analytics applications, it is also idea for being the storage and analysis repository for your IoT sensor data. Able to receive data from any number of registered sensors and devices, the platform can also be configured to analyse the data, respond to changes in data and trigger messages and control instructions to other devices and connected actuators. Microsoft’s ConnectTheDots.io open source project, see Figure 4, provides a number of libraries, code samples and configuration scripts to get your Windows 10 IoT Core application talking to the Microsoft Azure service.
Figure 4 – Microsoft Azure – The storage, analysis and control platform for your IoT data
As with selecting any embedded single-board computer there is an almost endless list of possible IoT applications you can make it perform. For the developer, access to industry tried and tested development tools is as essential as finding a broad range of forums and community sites for those times when your target platform or software isn’t responding in the way you expect. Community sites such as Hackster.io provide a wealth of Windows IoT Core examples using Raspberry Pi 2, MinnowBoard MAX and Arduino.
More information: http://uk.rs-online.com/web/generalDisplay.html?id=i/iot-internet-of-things
Page 1 of 1
About the author
Simon Duggleby is Semiconductor Marketing Manager, RS Components. He has a Master's Degree in Electronics and Computer Systems Engineering from Loughborough University. Since graduating, he has worked in the field of electronics distribution, first as an Applications Engineer with Abacus ECD (now part of the Avnet Group), then joining RS Components in 2009 as a Technical Marketing Engineer. For the past two and a half years, Simon has been responsible for steering the marketing strategy of the Semiconductor product category at RS.
RS Components and Allied Electronics are the trading brands of Electrocomponents plc, the global distributor for engineers. With operations in 32 countries, we offer more than 500,000 products through the internet, catalogues and at trade counters to over one million customers, shipping around 44,000 parcels a day. Our products, sourced from 2,500 leading suppliers, include electronic components, electrical, automation and control, and test and measurement equipment, and engineering tools and consumables.
Most popular articles in Processing & embedded
Share this page
Want more like this? Register for our newsletter