This article is contributed. See the original author and article here.

The Azure Sphere 21.04 feature release includes the following components:



  • Updated Azure Sphere OS

  • Updated Azure Sphere SDK for Windows and for Linux

  • Updated Azure Sphere extensions for Visual Studio and for Visual Studio Code


There’s also a new version of the reference development board (RDB) design, new or updated samples, and a new Application note on Wi-Fi configuration options.


 


If your devices are connected to the internet, they will receive the updated OS from the cloud. You’ll be prompted to install the updated SDK on next use, or you can install it now. To install the latest SDK, see the installation Quickstart for Windows or Linux:



 


New and changed features in the 21.04 release


 


Peripheral configuration locking


Azure Sphere chips now have the ability to lock a peripheral configuration. This prevents an attacker from reassigning peripherals even if code is compromised. Thus, peripheral configuration locking adds another layer of security.


 


Time sync changes


The 21.04 release changes the client ports used by the Azure Sphere device. Previously, the device always used client source port 124. After this release it will use a random UDP client source port between 32678-61000. If this port fails, Azure Sphere then attempts to use port 124 as the UDP client source port.


 


Ethernet enabled by default


The 21.04 release changes the way the ethernet interface is enabled. Previously, a developer needed to call the Networking_SetInterfaceState command to enable ethernet. After this release, ethernet will automatically be enabled on first reboot after an ethernet board configuration is loaded.


 


Wi-Fi improvements


The Wi-Fi client performs background scanning at regular intervals. In some cases the client could disconnect when the wi-fi background scan occurred at the same time that a device registered a “beacon lost” signal. We have introduced an offset in the two signals so the system will now listen for beacon signals beyond the scan time.


 


Delete a product or device group with the CLI


CLI support for deleting a product is now available using the azsphere product delete command.


CLI support for deleting a device group is now available using the azsphere device-group delete command.


 


View statistics on total memory usage


The azsphere device app show-memory-stats command returns memory usage statistics on total memory usage, user mode usage, and peak user-mode usage for applications running on an attached device. The device must have the appDevelopment device capability configured to run this command.


 


Support for crash data collection


Optional diagnostic data can now be configured using the CLI to collect a full Linux core dump when an application or system service crashes. You can give consent to enable crash dump collection by using the –allow-crash-dumps-collection parameter in the azsphere device-group update command.


 


Write capabilities added to Azure Sphere Explorer for Visual Studio or Visual Studio Code


Azure Sphere Explorer for Visual Studio now has the ability to create and update products and device groups. Other changes were made to both the Visual Studio and Visual Studio Code versions of Azure Sphere Explorer to make them functionally equivalent.


 


Multiple device support in Azure Sphere Explorer for Visual Studio or Visual Studio Code


Azure Sphere Explorer now supports multiple connected devices. One device can be chosen as the active device for a given project. Deployment and debugging of the project is then done on the active device.


 


New and updated samples, code snippets, and Gallery items


The 21.04 release includes a refactored Azure IoT sample, a new code snippet, and several new items in the Azure Sphere Gallery.


 


Refactored Azure Sphere sample app for connecting to Azure IoT


Updates to the Azure IoT sample include:



  • Dedicated guidance (READMEs) for each starter scenario (connect to Azure IoT Hub or Azure IoT Central) and for each add-on scenario (connecting via the device provisioning service and/or via Azure IoT Edge).

  • Refactored codebase with smaller, easier-to-assemble pieces.

  • Support for Azure IoT Plug and Play (PnP) – so that the device’s data model “template” is auto-populated when using Azure IoT Central or a PnP-aware client connected to Azure IoT Hub.

  • Updated best practice for using the Azure IoT C SDK, in particular to enable connections via the device provisioning service to be established asynchronously.


 


New code snippet on memory usage


new code snippet on memory usage demonstrates how to detect and handle unexpected memory usage.


 


Github gallery samples


More than 10 new projects added to the Azure Sphere Gallery GitHub repository, including:



  • tools to evaluate networks’ compatibility with Azure Sphere OS.

  • tools to use the littlefs file system.

  • a complete design of a realtime demo device (balancing robot), including software, hardware, and mechanical designs.


 


Hardware reference design changes


Changes to the hardware design of the MT3620 reference development board (RDB) have been made for version 1.7. These changes have been identified through extensive use of the board (both internally and via customer feedback) and as a result of software changes that have enabled features such as Power Down that were not supported at the time the board was originally designed.


The MCU programming and debugging interface has been modified to include a second schematic showing a circuit that enables the PC and reset button to bring a device out of Power Down mode. This is a backwards-compatible change with no changes required to the SDK.


 


For more information on the 21.04 release, please see the What’s new in Azure Sphere in the customer documentation. To learn about Azure Sphere OS feeds and setting up an evaluation device group, see Azure Sphere OS feeds and Set up devices for OS evaluation.


For self-help technical inquiries, please visit Microsoft Q&A or Stack Overflow. If you require technical support and have a support plan, please submit a support ticket in Microsoft Azure Support or work with your Microsoft Technical Account Manager. If you would like to purchase a support plan, please explore the Azure support plans.

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.