AVNET Azure Sphere MT3620 Starter Kit - Review

Table of contents

RoadTest: AVNET Azure Sphere MT3620 Starter Kit

Author: dixonselvan

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Seeed Azure Sphere MT3620 Development Kit

What were the biggest problems encountered?: 1) SDK Installation - The Azure Sphere SDK took a long time to be installed in my machine. It appeared to be stuck at one point while being installed that I had to cancel the process. Unfortunately, this uninstalled the Visual Studio 2017 that I've installed already. Because of this, I had to repeat the process of installing VS 2017 followed by the SDK (since the SDK required VS 2017 version 5.9 or above to be present). This stretched the getting started time to more than 3-4 hours than what it would have been 1-2 hours at the maximum. 2) Azure Sphere Communication Service - not running - I successfully pinged the contest server (for the Azure Sphere design challenges) in the morning and when I tried to connect the kit in the evening, I received an error "error: Could not connect to the Azure Sphere Device Communication Service. If this issue persists, try uninstalling and reinstalling the Azure Sphere SDK.". Because of this, I had to reinstall the Azure Sphere SDK again and also changed the Azure Sphere Communication Service's log on as my user which resolved the issue. 3) OS Update - I was almost on the verge of completing my project which was built on top of 'Advanced Demo' example code. But an OS update (to 19.09) introduced errors that have to be fixed in order to complete. I know this is expected, but this has caused a delay in completing my project.

Detailed Review:

Introduction

Azure Sphere MT3620 Starter Kit. Let's build it word by word and see what they refer to,

 

Azure - https://azure.microsoft.com/en-in/

 

     This is a cloud computing service by Microsoft. To keep things simple, think it like accessing and using your computer without it physically present where you are.

  • What is the use? You can do awesome stuff like have your own website without the hardware(server) required but you need to pay for what you use as a service (the hardware - server) provided from Microsoft.
  • How do they manage to do this? They have many datacenters around the world where actual computers are, from where you are getting these services (and not actually from the cloud as the name suggests).

Microsoft Azure (formerly Windows Azure /ˈæʒər/) is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems.

Azure Sphere- https://azure.microsoft.com/en-in/services/azure-sphere/

 

     We saw Azure before this, so one among the cool things provided by Microsoft Azure is Azure Sphere. Let's see what the Microsoft Azure Sphere home page has to say about it - "Comprehensive IoT security solution—including hardware, OS and cloud components—to help you innovate with confidence". So let's break it down further,

  • Cloud Components - All the services provided by Azure related to this mainly, for now, the security service - AS3 - Azure Sphere Security Service.
  • OS - So we need something for the computer (CPU/ MCU/ MPU) to say, hey you actually don't have this resource here physically so you need to look up in the cloud (Azure). The set of programs - Operating Systems - that let the hardware know what it has to do.
  • Hardware - Now we are where we need to be. This is the actual device we have in our hands (Azure Sphere MT3620 Starter Kit). They have OS + firmware (user programs) in them which instructs what cool thing has to be done. In addition to this in our case, this hardware is capable of contacting the cloud (a computer somewhere in the world) to know what more needs to be done.

Azure Sphere is a Linux-based operating system created by Microsoft for Internet of Things applications.[1][2][3][4][5][6][7][8] It is the first time Microsoft has publicly released an operating system running the Linux kernel[9] and the second Unix-like operating system that the company has developed for external (public) users – the other being Xenix. The name is derived from Microsoft Azure services.

The first supported processor is the ARM based MediaTek MT3620.[10]

MT3620 - https://www.mediatek.com/products/azureSphere/mt3620

 

     This is the first processor that can support Azure Sphere, from MediaTek. NXP is following this for the next spot - https://media.nxp.com/news-releases/news-release-details/nxp-and-microsoft-bring-microsoft-azure-sphere-security

 

image

Azure Sphere MT3620 Starter Kit - Azure Sphere Starter Kit

 

     This is the development kit built around MediaTek's MT3620 chip so this can support Azure Sphere!

 

image

 

 

     To get started with the Azure Sphere MT3620 Starter kit, check out the quick start documentation and example projects from Avnet. In order to grab a quick overview, check out this Element14 & Hackster webinars - IoT Skills: Learn How To Rapidly Secure Your IoT Design with Azure Spherehttps://events.hackster.io/azurespherewebinar. To strengthen your fundamentals, visit this Hackster course -. For activities around Azure Sphere visit this Element14 community page -. Click here if you would like to know about me. Thank you , , Element14 Community and Avnet for providing me this wonderful opportunity to road test the Azure Sphere MT3620 Starter kit.

 

References (everything inside quotes and the screengrabs):

  1. Azure - https://en.wikipedia.org/wiki/Microsoft_Azure
  2. Azure Sphere - https://en.wikipedia.org/wiki/Azure_Sphere
  3. https://azure.microsoft.com/en-in/services/azure-sphere/
  4. Re: What is Azure Sphere?

RoadTest Plan

Schedule -

     Week 1 - Unboxing, Out of the Box Demo/ First Impressions

     Week 2 & 3 - Testing sensors and Azure IoT Hub linking and data capture

     Week 4 - 7 - Machine Learning the data collected

     Week 8 - Summary and  Conclusion

 

My project will be to test

  • the Azure IoT Hub,
  • ML services and
  • the kit's ambient light and MEMs sensors.

 

     Then capture (preferably a connected temperature or gas sensor) and collect data using the Azure Sphere MT3620 Starter kit and then store the data in Azure for machine learning the data. The results/ predictions will then be displayed in an OLED display connected with the kit.

 

Unboxing

    As usual, the kit box was inside a carton box secured with crushed/ recycled/ compressed paper. The kit was received in perfect condition without any visible damages (and no invisible damage as well). Thanks to UPS and to those concerned in Element14 Community for that. The Azure Sphere MT3620 Starter kit includes,

    1. Carrier board with Azure Sphere MT3620 modules
    2. USB cable
    3. Quick Start card

 

     Below are the pictures of the kit and its contents,

 

{gallery:width=680,height=480} Azure Sphere MT3620 Starter Kit - Unboxing

image

Azure Sphere MT3620 Starter Kit - Unboxing: Carrier Board - Top View

image

Azure Sphere MT3620 Starter Kit - Unboxing: Carrier Board - Bottom View

image

Azure Sphere MT3620 Starter Kit - Unboxing: Carrier Board - Side View

image

Azure Sphere MT3620 Starter Kit - Unboxing: Carrier Board - Side View

image

Azure Sphere MT3620 Starter Kit - Unboxing: Kit - Full View


     Below is the unboxing video of the Azure Sphere MT3620 Starter Kit,

 

Out of the Box Demo

    Microsoft and Avnet have done excellent documentation of how to get started with the Azure Sphere MT3620 Starter Kit. Also, there are lots of blogs in Azure Sphere and some AVNET Azure Sphere MT3620 Starter Kit road test reviews detailing the process. So I don't want to repeat the same again. Rather I choose to explain just the Blink demo.

 

Blink Demo -

 

     As I always say, there is no joy equivalent to blinking a new kit's LED! Visual Studio after Azure Sphere SDK installed will have an example Blink Project which makes it, even more, easier to attain the joy of blinking the LED. Below is an image of the Azure Sphere MT3620 Starter Kit's RGB LED light up after I programmed it with the Blink example (Forget the kitty in the background!).

 

image

     The following are the steps to program your kit with the Blink example. The steps may be different for Visual Studio 2017 (but should be a similar process).

    • Click 'File' -> 'New' -> 'Project'. A 'New Project' Window will open.
    • Select 'Visual C++' -> 'Azure Sphere'.
    • Select 'Azure Sphere Blink' example and give it a name, location and then give 'OK'

image

    • The solution file will load. Make sure you have connected your kit using the USB cable.
    • Click 'Remote GDB Debugger'. Voila! your board will be blinking now.

image

 

Machine Learning

    Overview

         

          The prime motive/ objective of this project is to use the Azure Machine Learning capability through the Azure Sphere MT3620 Starter Kit. The flow is as follows,

      • Dataset to be prepared for machine learning
      • Select the Algorithm
      • Train the model
      • Create a predictive web service
      • Connect the kit to the cloud through Azure IoT Central
      • Set rules to trigger an Azure function which in turn will make a request to the predictive web service
      • The response is then passed to the device

 

     Azure Machine Learning Studio

                    The Azure Machine Learning Studio is a code-less workspace for developing machine learning solutions. To start, I chose this weather dataset available in the UCI repository - https://archive.ics.uci.edu/ml/datasets/SML2010 Then dataset has temperature, humidity data with date, time and day of the week. Since this is a learning experiment, I chose the day of the week to be the predicted output. So when a particular temperature is reached at a particular time, the day of the week is predicted.

 

image

          As you can see in the screenshot below, the machine learning experiment is built from the dataset to model. The dataset we chose is then subjected to the 'Linear Regression' model and trained. Then we need to set up a web service that will receive data input and output from our application (in our case Azure Sphere MT3620 Starter Kit). So I set up a predictive web service.

image

          Once the predictive web service is up and running, we can see the sample request/ response page, which has a sample C# code. I have created a console application using that and modified as required.

image

          Once we build and run this console application, we will receive output as shown in the screenshot below which is a decimal value of the day of the week. So, in this case, it can be approximated to 2.

image

 

     Azure IoT Central

 

 

     The advanced demo provided here - https://www.element14.com/community/groups/azuresphere/blog/2019/08/01/azure-sphere-starter-kit-advanced-tutorial#commen… can be used for this project. Navigate to the Rules section and create a rule with action as a webhook. Though we use Azure functions, we are creating a webhook here because we can use the URL provided by Azure function in the webhook.

image

          When things were going good, then came the OS update. Because of this, the demo solution is now throwing many errors (see screenshot below). So, unfortunately, I have to stop here for now. I'll update once the issues are fixed with the outcome.

image

    

Issue(s)

Issue #1 - SDK Installation

     The Azure Sphere SDK took a long time to be installed in my machine. It appeared to be stuck at one point while being installed that I had to cancel the process. Unfortunately, this uninstalled the Visual Studio 2017 that I've installed already. Because of this, I had to repeat the process of installing VS 2017 followed by the SDK (since the SDK required VS 2017 version 5.9 or above to be present). This stretched the getting started time to more than 3-4 hours than what it would have been 1-2 hours at the maximum.

 

Issue #2 - Azure Sphere Communication Service - not running

Link - https://www.element14.com/community/thread/73292/l/error-could-not-connect-to-the-azure-sphere-device-communication-service

error: Could not connect to the Azure Sphere Device Communication Service. If this issue persists, try uninstalling and reinstalling the Azure Sphere SDK.

image

     I successfully pinged the contest server (for the Azure Sphere design challenges) in the morning and when I tried to connect the kit in the evening, I received an error "error: Could not connect to the Azure Sphere Device Communication Service. If this issue persists, try uninstalling and reinstalling the Azure Sphere SDK.". Because of this, I had to reinstall the Azure Sphere SDK again and also changed the Azure Sphere Communication Service's log on as my user which resolved the issue.

 

Issue #3 - OS Update

     I was almost on the verge of completing my project which was built on top of 'Advanced Demo' example code. But an OS update (to 19.09) introduced errors that have to be fixed in order to complete. I know this is expected, but this has caused a delay in completing my project.

image

 

Summary/ Conclusion

    Avnet's Azure Sphere MT3620 Starter Kit is the perfect blend of hardware and software. Microsoft Azure provides numerous capabilities and security which is the most concerning factor when it comes to IoT. The carrier board built around MediaTek's MT3620 provides a perfect base for rapid prototyping with Click boards, Grove connectors, OLED interface, and Pmod connectors.

 

Pros

  • I have never seen documentation better than Microsoft's. A lot of getting started blogs, code from Avnet has made the journey smooth and enjoyable.
  • Connecting to Microsoft Azure opens the gateway to almost all the cloud services available and creates new possibilities.
  • The carrier board has all that is required for prototyping - LEDs (RGB as well), buttons, Click board headers, Grove connector pin, etc.

 

Cons

  • Shaky Standoffs - The plastic standoffs provided were not tight enough such that the board shook every time I touched it, creating a fear that the board might break apart if I exert more pressure in the center.
  • Getting Started is quite a long process with hurdles at times and getting used to the ecosystem takes a while.

 

   The road test review may end here, but my journey won't stop until the possibilities of creating with Avnet's Azure Sphere MT3620 runs out of stock.

 

 

DescriptionLink
Road Test PageAVNET Azure Sphere MT3620 Starter Kit
Azure Sphere SpaceAzure Sphere
Webinar(s)

IoT Skills: Learn How To Rapidly Secure Your IoT Design with Azure Sphere

https://events.hackster.io/azurespherewebinar

https://gateway.on24.com/wcc/gateway/eliteMSFTMaster/1808992/1879529/introducing-azure-sphere

https://gateway.on24.com/wcc/gateway/eliteMSFTMaster/1808992/1879519/unboxing-azure-sphere

https://event.on24.com/eventRegistration/eventRegistrationServlet?sourcepage=lobby&eventid=1970905&partnerref=null&key=0…

Technical Training(s)

https://www.hackster.io/workshops/azure-sphere-course

Azure IoT Hub - Pluralsight Course - https://www.pluralsight.com/courses/azure-iot-hub-developers-getting-started

Product Page(s)

Azure Sphere Starter Kit - Azure Sphere Starter Kit

Buy - https://in.element14.com/avnet/aes-ms-mt3620-sk-g/starter-kit-arm-cortex-a7-cortex/dp/3106884?COM=referral-cmty-noscript…

Azure Sphere Module - Azure Sphere Module

Buy - https://www.avnet.com/shop/us/products/avnet-engineering-services/aes-ms-mt3620-m-g-3074457345636825675?CMP=GL-Avnet-E14…

Azure Sphere Starter Kit User Guide (v1.5)

Block Diagram - Azure Sphere MT3620 Starter Kit (v2).pdf

Datasheet and User Manual AES-MS-MT3620-M-G Module (v1_3).pdf

Getting Started

https://azure.microsoft.com/en-us/services/azure-sphere/get-started/

https://docs.microsoft.com/en-us/azure-sphere/

[PROJECT] Part 1... Getting Started With Microsoft Azure Guide, and a Simple Azure Sphere Sensor Project

Demo/ Examples

Avnet's Azure Sphere Starter-Kit (Out of Box Demo) Part 1 of 3

Avnet's Azure Sphere Starter-Kit (Out of Box Demo) Part 2 of 3

Avnet's Azure Sphere Starter-Kit (Out of Box Demo) Part 3 of 3

Implementing Direct Methods in Azure Sphere

 

GitHub

https://github.com/Avnet/AvnetAzureSphereStarterKitReferenceDesign

https://github.com/CloudConnectKits/Azure_Sphere_SK_ADC_RTApp

https://github.com/Azure/azure-sphere-samples

 

Youtube Videos

Blink Example - https://www.youtube.com/watch?v=1ZzvajkElSw

Getting Started Projects - https://www.youtube.com/watch?v=_wa0SYnIRpc

Control Relays - https://www.youtube.com/watch?v=F9lKjjZwlsU

Microsoft Page(s)

Azure

Azure Sphere - https://azure.microsoft.com/en-in/services/azure-sphere/

Azure IoT Hub - https://azure.microsoft.com/en-in/services/iot-hub/

Azure IoT Central - https://apps.azureiotcentral.com/create

 

Forum - https://social.msdn.microsoft.com/Forums/en-US/home?forum=azuresphere

Software

Windows 10 OS - Anniversary Update or Later - https://blogs.windows.com/windowsexperience/2016/08/02/how-to-get-the-windows-10-anniversary-update/#LGMbLygM5QtpeVCY.97

Azure Sphere SDK - https://aka.ms/AzureSphereSDKDownload

Visual Studio 2017 or 2019 -  https://visualstudio.microsoft.com/

OS Update Blogs

19.09

Azure Sphere OS 19.09 - New Capabilities for your Starter Kit!

Useful Blogs, Videos/ Reference Projects

Brian Willess Blogs

The specified item was not found.

Troubleshooting Azure IoT Hub Connection Issues

MT3620 (Non-NDA) Datasheet Avaliable

Avnet Azure Sphere Resources

Azure Sphere (MT3620)

New Avnet (MT3620) Azure Sphere Starter Kit

 

Peter Fenn Blogs

Avnet Azure Sphere Starter-Kit: Advanced Tutorial

Azure Sphere - Tips to max-out your Starter Kit hardware! (Part 1)

Azure Sphere - Tips to max-out your Starter Kit hardware! (Part 2)

 

 

* Information/ content provided in this road test review is as-is obtained during the time of writing this review and is subjected to change when the respective body owning the product/ service/ application, changes the information/ content. So please refer to the official pages (links available in the 'Useful Links/ Reference' section at the bottom of this review page) for the latest information/ content.

Anonymous