What is Windows 10 IoT Core?
Windows IoT Core is a version of Windows 10 that is optimized for smaller devices with or without a display that run on both ARM and x86/x64 devices. The Windows IoT Core documentation provides information on connecting, managing, updating, and securing your devices, and more.
Windows 10 IoT Core is a focal point of Microsoft’s $5 billion investment in IoT development, running through to 2022. As such, expect substantial support and exciting developments for the platform.
Windows 10 IoT offers two editions – Windows 10 IoT Core and Windows 10 IoT Enterprise – that allow the flexibility in choosing the right specifications for the devices that you want to build, whether they’re headless, ARM-based devices or powerful, Win32-driven devices.
Which Applications Work on Windows 10 IoT Core?
For starters, you won’t be using your Raspberry Pi 3 with Windows 10 IoT Core to run Microsoft Office or other “traditional” programs. These programs are incompatible with the Raspberry Pi’s ARM-based hardware.
However, Windows 10 IoT Core will run Universal Windows apps, as well as apps converted into Universal Windows apps. (You might run into some issues here and there, mind, as each app works differently.)
The Windows 10 IoT Core platform is just that, though: a platform focusing on Internet of Things apps and devices.
Key features of IoT Core:
- Microsoft adds the .Net and UWP-based SDK.
- PowerShell remoting, which gets you a remote PowerShell terminal from which you can run familiar Windows commands.
- Royalty free to makers and device builders
Visual Studio for development:
The Windows Device Portal (WDP) lets you configure and manage your device remotely over a network.
Windows 10 IoT Core Dashboard is the best way to download, set up and connect your Windows 10 IoT Core devices, all from your PC.
Operating System of Development Computer: Windows 10
Programming Languages: All of the standard Universal Windows Platform (UWP) languages are fully supported on IoT Core.
Traditional UWP languages ship with support in Visual Studio by default. All of the In-Box languages support both UI and Background Applications
IoT Focused Languages:
The IoT targeted languages require the download of the “Windows IoT Core Project Templates” from the Visual Studio Tools->Extensions and Updates manager. The IoT Focused languages support only Background Applications. You also can build Windows Runtime Components using C#, C++, or Visual Basic and then reference those libraries from any other language (except Python).
C# and Visual Basic (VB):
C# and VB are both supported as UWP apps and have access to the portion of the .NET Framework available to UWP applications. They support UI apps built with Xaml as well as Background Apps. You also can build Windows Runtime Components that can be used from other supported languages.
System Hardware Requirements:
Memory (Headless)- 256 MB RAM (128 MB free to OS)/2 GB Storage.
Memory (Headed)- 512 MB RAM (256 MB free to OS)/2 GB Storage.
Processor- 400 MHz or faster (x86 requires PAE, NX and SSE2 support
Targeted audience: Education and hobbyists seems to be the main target markets for Windows 10 IoT Core on the Pi. There are also features aimed at business users.
Licensing model: Available free for download, recently Microsoft announced a new version of Windows 10 IoT Core, called IoT Core Services. While IoT Core is a free Semi-Annual Channel offering – and will continue to be – Core Services will be a paid, Long-Term Servicing Channel offering, combined with various services.
Microsoft is keen to get a foothold in the Internet of Things (IoT) market. In 2015 it released a slimmed-down version of Windows 10 aimed at IoT devices, such as industrial machinery or the ubiquitous Arm-based Raspberry Pi (for those moments when Debian just doesn’t quite cut it.)
While Windows 10 IoT Core is free, Microsoft hopes that device manufacturers will turn to the Windows maker in order to keep their toys up to date in a controllable fashion via Windows 10 IoT Core Services. Manufacturers that do not take up this option will see their devices placed on the semi-annual channel for Windows 10 updates, with all the joy that will entail as new versions of the OS are emitted.
By paying Microsoft a fee, device manufacturers can take their 10 years of Windows 10 support via the Windows Long-Term Servicing Channel, which sees a new release of the OS every two to three years.
You can request to join the limited preview by emailing firstname.lastname@example.org
IoT Hardware Support
Windows 10 IoT Core works with several leading System on Chips (SoCs) that are utilized in hundreds of devices. Microsoft recommends the following boards:
- Raspberry Pi 3
- Raspberry Pi 2 – v1.1 boards and earlier
- MinnowBoard MAX
- DragonBoard 410c
Windows 10 IoT Core supports following key sensors:
- DHT11 basic temperature-humidity sensor
- DHT22 temperature-humidity sensor
- SparkFun Triple Axis Accelerometer Breakout – ADXL345
- Adafruit BMP280 Temperature and Barometric Sensor
- Adafruit TCS34725 Color Sensor
- Rohm BH1750FVI ambient light sensor
- Bosch BMP180 temperature and barometric sensor
- Dorji DSTH01 relative humidity sensor
- Honeywell HMC5883L digital 3-axis compass/magnetometer
IoT Security Features of Windows 10 IoT Core:
With the release of Creators Update, Windows 10 IoT Core added UEFI Secure Boot, BitLocker Device Encryption, and Device Guard to its security offerings. These allow device builders to create fully locked down Windows IoT devices that are more resilient to various types of attacks. Together, these features ensures that a platform will launch in a defined way, while locking out unknown executables and protecting user data through the use of device encryption.
UEFI Secure Boot is the first policy enforcement point, located in UEFI. It restricts the system to allow execution only of binaries signed by a specified authority. This feature prevents unknown code from being executed on the platform.
Windows 10 IoT Core also implements a lightweight version of BitLocker Device Encryption, protecting IoT devices against offline attacks.
Most IoT devices are built as fixed-function devices, which implies that device builders know exactly which firmware, operating system, drivers and applications should be running on a given device. In turn, this information can be used to fully lock down an IoT device by allowing execution only of known and trusted code. Device Guard on Windows 10 IoT Core can help protect IoT devices by ensuring that unknown or untrusted executable code cannot be run on locked-down devices.
Windows 10 IoT Core samples: https://github.com/Microsoft/Windows-iotcore-samples
Windows 10 IoT Core Installation:
On your computer, make sure you are running the public release of Windows 10 (version 10.0.10240 or better). You can find your current build number by clicking the Start button, typing “winver”, and pressing the Enter key.
Download and install Windows 10 IoT Core Dashboard .
Follow Device Setup Steps in Windows 10 IoT Core Dashboard application.
Here is the Windows 10 IoT Core related discussion forum.
If you are looking for alternative to Windows 10 IoT Core. Then you may want to know more about another popular IoT OS called Android Things.