Microsoft IoT strategy and IoT platform options
Microsoft at the moment is in a special spot when it comes to IoT with three different platform options supporting wide variety of hardware choices for customer IoT requirements.
At Build 2020, Microsoft announced the convergence of Windows 10 IoT Core and Windows 10 IoT Enterprise by 2021. Other than becoming a single Windows 10 IoT SKU, the new version also will have a reduced footprint by 40% and some additional features like OTA update etc. With this change customers still have multiple options when it comes to using Microsoft platform for their IoT requirements.
Here are the three Microsoft IoT platform options available
- Azure RTOS
- Azure Sphere
- Windows 10 IoT Core/Enterprise
Microsoft acquired Express Logic in April 2019. The X-WARE IoT Platform was a suite of embedded development products from Express Logic that included ThreadX RTOS. The suite is now called Azure RTOS, and ThreadX RTOS is now Azure RTOS ThreadX. Azure RTOS is an excellent option for resource constrained devices and due to its plugable design becomes easy to adapt for variety of requirements.
Azure RTOS provides embedded developers a rich set of real-time multitasking, FAT file system, GUI, USB and networking components to quickly build applications on resource constrained devices – with out-of-the-box connectivity to Azure IoT. Azure RTOS also provides a rich set of pre-certified security components.
Long list of supported architectures by Azure RTOS ThreadX
- ARM7, ARM9, ARM11
- Cortex-M, Cortex-R, Cortex-A
- Cortex-Axx 64-bit
- TrustZone ARMv8-M
- Analog Devices
- Blackfin BF5xx, BF6xx, BF7xx
- Apollo MCUs
- PSoC, PSoC 4, PSoC 5, PSoC 6
- FM0+, FM3, FM4
- WICED WiFi
- Intel & Intel FPGA
- ARM (Cyclone SOC, Arria 10 SOC)
- ARM (SAM)
- ARM (LPC, i.MX, Kinetis)
- ARM (Synergy, RZ)
- Silicon Labs
- ARC 600, 700
- ARC EM, ARC HS
- Texas Instruments
- ARM (Tiva-C, Sitara, OMAP)
- Wave Computing
- MIPS32 4Kx, 24Kx, 34Kx, 1004K
- microAptiv, interAptiv, proAptiv
- ARM (Zynq, Zynq UltraSCALE)
The Azure Sphere certified chips include built-in Microsoft security technology to provide connectivity and a dependable hardware root of trust. Azure Sphere OS adds layers of protection and ongoing security updates to create a trustworthy plaform for new IoT experiences. Azure Sphere security service brokers trust for device-to-cloud communication, detect threats and renews device security. Microsoft best-in-class security experts monitor threats, design updates and provide a decade of ongoing servicing through Azure Cloud services.
Azure Sphere is built around the 7 properties of highly secured devices. They are
- Hardware-based root of trust
- Defense in depth
- Small trusted computing base
- Dynamic compartmentalization
- Certificate-based authentication
- Error reporting
- Renewable security
Starter Kits available from Avnet & Seeed Studio
I have some experience with Avnet Azure Sphere MT3620 Starter Kit and hope to explore more about Azure Sphere in the coming days.
The Avnet Azure Sphere MT3620 Starter Kit supports rapid prototyping of highly secure, end-to-end IoT implementations using Microsoft’s Azure Sphere. The small form-factor carrier board includes a production-ready MT3620 Sphere module with WiFi connectivity, along with multiple expansion interfaces for easy integration of off-the-shelf sensors, displays, motors, relays, and more.
The production-ready Sphere MT3620 module is based on the MT3620 SoC, which includes built-in Microsoft security, WiFi connectivity and the combined versatility and power of an Arm® Cortex™-A7 processor with the low overhead and real-time guarantees of two Arm Cortex-M4F microcontrollers. A suite of on-chip peripherals, real-time clock, Flash, and RAM are also available. In addition to the MT3620, the 33 x 22 mm module includes a dual-band WiFi chip antenna and system clock. Up to 27 configurable GPIOs and three configurable serial ports (UART, I2C, or SPI) are provided as I/Os on the module.
The carrier board connects the Sphere module I/Os to two MikroE Click sockets, an I2C Grove connector, a connector supporting the addition of a 128 x 64 OLED graphical display, a 3D accelerometer, 3D Gyro, temperature sensor, and an ambient light sensor. Debugging is accomplished through a USB-to-UART interface, which also provides the necessary 5V power for the board.
User applications for the embedded Sphere controller are developed in C using Microsoft’s Visual Studio IDE and the Azure Sphere SDK. Visual Studio provides a powerful, yet easy-to-use development environment for compiling and debugging application code. The combination of Visual Studio, the versatile carrier card, and the production ready Sphere module delivers a powerful starting point for IoT developers interested in learning, prototyping, and deploying Azure Sphere based solutions.
Windows 10 IoT
Windows 10 IoT Core is a special stripped down version of Windows 10 without the Windows 10 Shell but with UWP application platform to build UI powered solutions.
I have used used both Raspberry PI 3B & Askey TurboMate E1 with Qualcomm APQ8009 for running Windows 10 IoT Core. When you shift from microcontroller platforms to these, its a world of a difference specially to build Touch UI based interfaces. UWP platform and the combination of the OS provides an easy way to build UI applications.
An added benefit is that you can build the application on your latptop during development and then deploy to the device when you are ready.
Windows 10 IoT requires an article of its own. Coming soon…