Microsoft announced the Azure Sphere product at Build in April but the hardware wasn’t publicly available until just a few days ago. For some background, check the following two links
Azure Sphere website
Background blog post explaining the concept
Strictly speaking, Azure Sphere isn’t a specific piece of hardware, but a combined hardware/software stack that extends from a microcontroller all the way to the Azure cloud. This stack is designed to guarantee security on the device and in the connection to the cloud. I specifically said from “a” microcontroller because Azure Sphere isn’t limited to the current implementation in the MediaTek MT3620. The technology will be licensed by Microsoft to other semiconductor manufacturers as well.
In its current implementation in the MT 3620 is a powerful microcontroller (really a multicore system on a chip) that contains an ARM Cortex-A7 core, two M4 cores as well as a dedicated core for securing the device and the connection to the cloud. There is built in WiFi and a fair amount of standard I/O interfaces such as I2C, SPI and a couple of UART ports. Digital IO (GPIO), Analog to digital (ADC) inputs, and pulse width modulation (PWM) ports. Not all, or even most, of these interfaces are supported in the prerelease software as of today, but clearly the future is bright.
Unlike almost everything else in Microsoft, the product doesn’t ship with a version of Windows. Instead, a Linux kernel is provided to host applications running on the device. These applications are developed using Visual Studio 2017 and the Azure Sphere SDK Preview located here.
Befitting its first name, the Azure Sphere is produced and supported from the Azure team, not the Windows side of the Microsoft house. And the set up process includes creating an Azure account, if you don’t have one, and some fairly specific steps that need to be taken to link the hardware to your Azure account. Once linked though, the programming of the device is done locally via Visual Studio through the USB cable.
The state of the device can be reflected in the cloud using a “digital twin” concept. Changing the state of a published variable in the cloud or on the device will change the state in the corresponding twin. Of course, the device application can be updated from the cloud. In addition, Azure provides extensive support for managing individual or groups of Azure Sphere devices.
I received one of the new development kits a few days ago. Here are a few photos showing the kit:
The development kit contains the MT3620 evaluation board and a standard mini USB cable.
The evaluation board has two headers on each side of the board. These headers bring out the various IO ports supported by the MT3620. The board can be powered by a dedicated 5v power supply (located on the lower right in the image above) or by the mini-USB port on the bottom of the image.
The LEDs on the lower right of the board provide status such as USB activity, power and WiFi activity. The far right LED, is currently defined to be application activity but it’s currently not supported. On the lower left, there are four full color LEDs available to applications.
Across the top are the primary (right) and aux (left) antennas for the WiFi hardware. There is also support for external antennas although to use them, the board needs to be modified to move a surface mount jumper. On the underside of the board is a mount for a coin cell battery that can be used to maintain the real time clock while the device is unpowered.
If you would like to buy one of these evaluation kits, there available via Seeed here. The kit is $84.90. Note that there are separate kits for US, Europe and Japan. That $85 may seem steep but it’s an initial price and it’s for the development kit. The chips themselves are less than $8.65 according to the Microsoft Azure Sphere pricing web site here. Support is guaranteed through July 2031.
Stay tuned for more posts on Azure Sphere. I’m really interested in this device.