3.3.5 Amazon Alexa Connect Kit (ACK) SDK Port, Smart Applications and Over the Air (OTA)

Firmware Upgrade on SAM D21 Curiosity Nano:

Description

This folder contains the SAM D21 microcontroller port for Amazon's Alexa Connect Kit (ACK) Software Development Kit (SDK) and smart applications demonstrating the port. The folder contains Over the Air (OTA) firmware upgrade feature for the smart Applications.

SAM D21 is an low-power, high-performance Microchip's Arm® Cortex®-M0+ based Flash microcontroller, it is ideal for a wide range of home automation, consumer, metering, and industrial applications. Microchip offers a low cost SAM D21 Curiosity Nano evaluation kit to evaluate SAMD21G17D microcontroller.

Alexa Connect Kit (ACK) is Amazon's managed service that makes it easy to integrate Alexa into the product With ACK, the user does not need to write an Alexa skill, manage a cloud service, or develop complex network and security firmware to connect the product to Alexa. Instead, the user integrates the ACK module into the product. ACK provides the managed services, software, and tools the user can use to develop and manage the Alexa-connected products on an ongoing basis. Users can benefit from Alexa device control and other features, such as Amazon's Wi-fi Simple Setup (WSS).

The communication interface between SAM D21 and ACK module is through UART.

  • This folder contains a set of applications (under folder applications) which uses Amazon Alexa connect kit (ACK) SDK with host microcontroller SAM D21.
    • The Application "HelloWorld" demonstrates turning ON/OFF of the development device (SAM D21 Curiosity Nano evaluation kit).
    • The Application "SmartLight" demonstrates controlling of smart light (LED0) on development device (SAM D21 Curiosity Nano evaluation kit).
    • The Application "Microwave" demonstrates controlling of a Microwave oven.
    • The Application "DashReplenishment" demonstrates dashboard replenishment.
  • The folder contains a folder bootloader. The bootloader helps demonstrate OTA firmware upgrade feature.

This following bullet points provides links to the detailed topics:

  • Modules/Technology Used
  • Hardware Used
  • Software/Tools Used
  • Hardware Setup
  • Setting up the build platform
  • Project file structure
  • Steps to program the hex file
  • Programming/Debugging Application Projects
  • Register the device
  • Running the demo
  • OTA Architecture
  • Setting up environment for OTA update
  • Building and upgrading the OTA application
  • Comments

Modules/Technology Used

Refer the documentation in individual application folder.

Hardware Used

Software/Tools Used

This project has been verified to work with the following versions of software tools:

Refer Demo Application specific Project Manifest present in harmony-manifest-success.yml under the project folder firmware/src/config/default.

  • Refer the Release Notes to know the MPLAB X IDE and MCC Plugin version.

Because Microchip regularly updates tools, occasionally issue(s) could be discovered while using the newer versions of the tools. If the project does not seem to work and version incompatibility is suspected. It is recommended to double-check and use the same versions that the project was tested with. To download original version of MPLAB Harmony v3 packages, refer to document How to Use the MPLAB Harmony v3 Project Manifest Feature (DS90003305).

Hardware Setup

Refer the documentation in individual application folder.

Setting up the Build Platform

  • Download and extract ACK Device SDK 4.2 from Amazon developer website.
  • Copy and paste extracted SAM D21 ACK port folder "samd21_amazon_ack" into ACK device SDK's user platform folder.
    <Your ACK SDK Downloaded
          folder>/ACK_Device_SDK_4.2.202201251359/user/platform
Note:
  • Make sure the user create amazon.com account for downloading the SDK. The user would use the Amazon credentials to register the development device (amazon.com account provides an option to register the development device.)
  • ACK Module with Espressif chipset is used in these demo's. Make sure the user downloads proper ACK SDK from the Amazon website.
  • Create Product and add device capabilities to the product once product is created.
  • Download the product configuration file from created product and provision the Ack module using CLI command.

Project File Structure

  • ACK SDK file/directory structure, refer "Readme.txt" in:

    <Your ACK SDK Downloaded folder>\ACK_Device_SDK_4.2.202201251359\

  • SAM D21 ACK port file/directory is as follows:
    • user/platform/samd21_amazon_ack/
      • applications: Contains all the ACK host sample applications built on MPLABX Tools and xc32 compiler
      • bootloader: Contains bootloader for over-the-air(OTA) firmware upgrade feature
      • hmcu_port: Contains shared host specific platform and OTA files
      • ota: Contains OTA source, config and header files
      • ack_samd21_cutom_loader.c: Contains bootloader specific code
      • ack_samd21_platform.c: Contains SAMD21 platform specific code

Programming Hex File

Refer the documentation in individual application folder.

Programming/Debugging Application Projects

Refer the documentation in individual application folder.

Register the Device

Refer the documentation in individual application folder.

Running the Demo

Refer the documentation in individual application folder.

OTA Architecture

Refer the documentation in individual application folder.

Setting up Environment for OTA Update

Refer the documentation in individual application folder.

Building and Upgrading the OTA Application

Refer the documentation in individual application folder.

Comments