Blogs
>
Microsoft and the IoT

Microsoft and the IoT

12 Feb 2015

In an effort to expand their reach into the Internet of Things marketplace, Microsoft has launched their Windows Internet of Things Developer program - the first in a series of programs aimed at promoting and educating developers in the use of Microsoft products and technologies for the creation of connected devices and Internet-of-Things applications.

Microsoft's program is aimed at Windows programmers and embedded systems engineers as well as the hobbyist and "maker" community.

Microsoft aims to bring Windows and development tools such as the Visual Studio suite to a new class of connected devices such as the Intel Edison and Raspberry Pi platforms, low-cost platforms that are attractive for both hobbyist and commercial embedded computing applications.

This should bring synergy with existing developers and the needs of marketing and new IoT-enabled product development in the same organisation – existing IT resources can be used to help with IoT development without too much retraining or new hires.

Microsoft wants to combine the accessibility of the successful Arduino platform with the strong community support and proven experience base behind Windows and Visual Studio, allowing you to quickly iterate and expand on hardware and software designs using existing shields and sketches, with strong compatibility with the Arduino platform at both the hardware and the software level.

The Windows IoT Developer Program was announced last year, beginning with Windows support for Intel's Galileo single-board embedded computing platform. The addition of the new Raspberry Pi 2 to the program has just been announced, including support for a new embedded Raspberry Pi 2 version of Windows 10, which will be freely available for embedded developers and makers who are members of the program.

Microsoft is hoping that this program, and support for the Raspberry Pi and Galileo platforms, will introduce the use of embedded Windows and Visual Studio development to independent developers and the hobbyist and maker community.

Microsoft has ported the Arduino and Wiring libraries to their embedded Windows IoT offerings, so you’ll be using Visual C++ to write code against the Arduino API. It looks a lot like Arduino programming, with some minor differences.

Intel sells their Galileo development boards with a lightweight version of Linux through distributors, but the version of the Galileo board with Windows installed is only available when distributed through Microsoft. The preview Windows image running on the Galileo for IoT toolkit is a custom non-commercial version of Windows based on Windows 8. Microsoft will ultimately make the OS available for anyone who buys the Galileo board, though.

Microsoft hasn’t just stripped down Windows and dumped it into an image you can run on a Galileo. They've been making improvements in Windows to better support the kind of things embedded developers want to do. For example, Microsoft's Lightning functionality is a re-architecture of Windows to make GPIO operations much faster.

The folks at Redmond sensibly see IoT devices as being a huge opportunity both in terms of selling the embedded solutions that power those IoT devices and to make sure the devices connect and pass their data back to a Windows Server on the back end - Microsoft is potentially able to pick up some market share in the emerging IoT sector not only in the "Thing" components, but in the "Internet" component as well.

The ultimate goal of such efforts is to take information collected from billions of devices and feed it into cloud services powered by Microsoft's Azure cloud computing platform. This is part of Microsoft's cloud-heavy strategy, with the company previously pushing Windows Embedded as an IoT platform and a gateway to the rest of the company's information-management fabric, mainly based around their Azure cloud services.

Microsoft has long catered to commercial developers and manufacturers of embedded systems with the Windows Embedded Compact OS, which is used in a range of industrial devices, mobile handsets, health monitors, ATMs and other devices. Microsoft wants to make sure these manufacturers knows its embedded OS can also work for their IoT devices as well.

However Microsoft has stressed that Windows Embedded is not going away and is still an important part of its product range. Windows Embedded Compact is a fully featured OS which supports commercial devices, unlike the new developmental offerings, and it remains Microsoft's only real-time operating system and is the Windows operating system with the broadest set of ports including ARM and x86 architectures.

In moving to an ARM7 architecture, there's a wider range of supported operating systems that can run on the Raspberry Pi 2. The processor upgrade means that two new operating systems come into view: Ubuntu Linux and Windows 10. Microsoft has recently announced it will be offering a Windows 10 build for the newest revision of the Raspberry Pi platform later this year, as part of its IoT Developer Program.

Microsoft and the Raspberry Pi Foundation have been collaborating for the last six months on the joint project. With Windows in the mix this potentially opens up the Raspberry Pi to some Windows-centric developers who weren't previously interested in creating applications for the device, as it would mean learning a new operating system or programming language.

Windows 10

With Windows comes all the development tools such as Visual Studio, libraries and languages such as C# to add to the many tools that can already run on the Raspberry Pi such as Scratch and Python. Microsoft aims to bring their OS, their development tools, services, and ecosystem to the Raspberry Pi community for free, with the intention that you can take Windows 10 applications that you can run on a Surface, a PC or a Windows Mobile phone and now be able to run it on a Raspberry Pi as well.

This offers a wider range of hardware and software development possibilities for any new or existing IoT-enabled product, and here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.