Microchip Technology AVR-IoT WG User Manual

AVR-IoT WG User Guide
AVR-IoT WG Development Board User Guide

Preface

The AVR-IoT WG development board is a small and easily expandable demonstration and development platform for IoT solutions, based on the AVR® microcontroller architecture using Wi-Fi® technology. It was designed to demonstrate that the design of a typical IoT application can be simplified by partitioning the problem into three blocks:
Smart - represented by the ATmega4808 microcontroller
Secure - represented by the ATECC608A secure element
Connected - represented by the WINC1510 Wi-Fi controller module
The AVR-IoT WG development board features a USB interface chip Nano Embedded Debugger (nEDBG) that provides access to a serial port interface (serial to USB bridge), a mass storage interface for easy ‘drag and drop’ programming, configuration and full access to the AVR microcontroller UPDI interface for programming and debugging directly from Microchip MPLAB® X IDE and the Atmel® Studio 7.0 IDE. The AVR-IoT WG development board comes preprogrammed and configured for demonstrating connectivity to the Google Cloud IoT Core.
The AVR-IoT WG development board features two sensors:
A light sensor
A high-accuracy temperature sensor - MCP9808
Additionally, a mikroBUS™ connector is provided to expand the board capabilities with 450+ sensors and actuators offered by MikroElektronika (www.mikroe.com) via a growing portfolio of Click boards™.
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 1
AVR-IoT WG User Guide

Table of Contents

Preface............................................................................................................................ 1
1. Chapter 1: Overview..................................................................................................3
1.1. Board Layout................................................................................................................................3
1.2. LED Indicators..............................................................................................................................3
2. Chapter 2: Getting Started.........................................................................................4
2.1. Connecting the board to the PC................................................................................................... 4
2.2. AVR-IoT Development on START.............................................................................................. 10
2.3. Advanced Modes........................................................................................................................16
2.4. Migrating to a private Google Cloud account............................................................................. 17
3. Chapter 3: Troubleshooting..................................................................................... 19
4. Appendix A: Hardware Components....................................................................... 20
4.1. ATmega4808..............................................................................................................................20
4.2. ATWINC1510............................................................................................................................. 20
4.3. ATECC608A...............................................................................................................................21
4.4. MCP9808 Temperature Sensor..................................................................................................21
4.5. nEDBG....................................................................................................................................... 22
5. Appendix B: Board Layout.......................................................................................24
6. Appendix C: Firmware Flowchart............................................................................ 25
7. Appendix D: Relevant Links.................................................................................... 26
8. Document Revision History..................................................................................... 27
The Microchip Web Site................................................................................................ 28
Customer Change Notification Service..........................................................................28
Customer Support......................................................................................................... 28
Product Identification System........................................................................................29
Microchip Devices Code Protection Feature................................................................. 29
Legal Notice...................................................................................................................30
Trademarks................................................................................................................... 30
Quality Management System Certified by DNV.............................................................31
Worldwide Sales and Service........................................................................................32
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 2

1. Chapter 1: Overview

1.1 Board Layout

The AVR-IoT WG development board layout can be seen below.
AVR-IoT WG User Guide
Chapter 1: Overview

1.2 LED Indicators

The development board features four LEDs that the demo code uses to provide diagnostic information as represented in the table below.
Table 1-1. LED Indicators
LED Color Label System Element
Blue
Green
Yellow
Red
Details
Monitored
WIFI Wi-Fi® Network Connection Indicates a successful connection to
the local Wi-Fi® network.
CONN Google Cloud Connection Indicates a successful connection to
the Google Cloud servers.
DATA Data Publication to Servers Indicates that a packet of sensor data
has been successfully published to the Google Cloud MQTT servers.
ERROR Error Status Indicates that an error happened after
the last step.
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 3

2. Chapter 2: Getting Started

2.1 Connecting the board to the PC

First, connect the AVR-IoT WG development board to the computer using a standard micro-USB cable. Once plugged in, the LED array at the top right-hand corner of the board should flash in the following order twice: Blue->Green->Yellow->Red. If the board is not connected to Wi-Fi, the Red LED will light up. The board should also appear as a Removable Storage Device on the host PC, as shown in the figure below. Double click the CURIOSITY drive to open it and get started.
Note:  All procedures are the same for Windows®, Mac OS®, and Linux® environments.
Figure 2-1. Curiosity Board as Removable Storage
AVR-IoT WG User Guide
Chapter 2: Getting Started

2.1.1 The AVR-IoT WG Experience

The CURIOSITY drive should contain the following five files:
CLICK-ME.HTM - redirects the user to the AVR-IoT web demo application
KIT-INFO.HTM- redirects the user to a site containing information about the board
KIT-INFO.TXT - a text file with details about the board like the serial number
PUBKEY.TXT - a text file containing the public key used for data encryption
STATUS.TXT - a text file containing the status condition of the board.
Double click on the CLICK-ME.HTM file to go to the dedicated webpage to access the Google Cloud sandbox account. Figure 2-3 shows an image of the AVR-IoT WG webpage. On this page, the user can quickly see sensor data, reconfigure the Wi-Fi credentials of the board, download additional example codes and customize the application. The status markers at the middle of the page, as shown in Figure
2-2, indicate the progress of the system setup. These markers will light up once each stage is completed
successfully. The leftmost marker indicates if the board is connected to the host PC. Next to this, the Wi­Fi marker lights up once the board is connected to a Wi-Fi network, turning on the Blue LED of the board. To the right of the Wi-Fi marker, the Google Cloud MQTT marker can be found, indicating the status of the connection to the Google Cloud server; this corresponds to the Green LED on the board. Finally, the lighting up of the rightmost marker signifies that data is streaming from the board to the server, by blinking
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 4
AVR-IoT WG User Guide
Chapter 2: Getting Started
the Yellow LED on the board. If there is no data streaming, the lower right-hand side of the page will be showing the video demonstration of the setup instructions.
Figure 2-2. Webpage Status Indicators
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 5
Figure 2-3. AVR-IoT WG Webpage (No Wi-Fi Connection)
AVR-IoT WG User Guide
Chapter 2: Getting Started

2.1.2 Connecting to the Wi-Fi Network

When the connection has not been established, the lower left-hand corner of the Microsite will show a wireless network connection window where the user can enter the credentials for the Wi-Fi network. For this live demonstration, the user needs to fill in the text fields shown in Figure 2-4. These are the details for the Wi-Fi network setup used during the class. For other means of connection to the internet like mobile hotspots, the user may fill these fields with the SSID and password of their own Wi-Fi network .
Note:  The Wi-Fi network SSID and password are limited to 19 characters. Avoid using names or phrases that begin or end in spaces.
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 6
Figure 2-4. Entering Wi-Fi Credentials in Microsite
AVR-IoT WG User Guide
Chapter 2: Getting Started
Once these details are entered, click the Download Configuration button. This will download the WIFI.CFG (text) file on the host PC. From the WIFI.CFG’s download location, drag and drop the file to the CURIOSITY drive to update the Wi-Fi credentials of the board. The Blue LED will light up to show a successful connection. Otherwise, refer to Chapter 3 to troubleshoot any board issues.
Note:  Any information entered in the SSID and password fields is not transmitted over the web, to the Microchip or Google servers. Instead, the information is used locally (within the browser) to generate the WIFI.CFG file.

2.1.3 Security Provisions

The secure element (ATECC608A), present on the AVR-IoT WG boards, comes pre-registered within the MCHP AVR-IoT (sandbox) account on Google Cloud. Each secure element provides an 18-digit hexadecimal Unique Identification Number (UID) and a public or private key pair, pre-generated using Elliptic Curve cryptography. The UID can be seen on the URL of the webpage application or via the serial command line interface (discussed later on in the document). The private key is never revealed by the
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 7
secure element but the public key can be viewed in the PUBKEY.TXT file or through the serial command line interface.
Figure 2-5. Device UID

2.1.4 Visualizing Cloud Data in Real Time

Out of the box, all AVR-IoT development boards are pre-registered to Microchip’s Google Cloud sandbox account. This account is set up for demonstration purposes only. All data gathered by the sensors of the AVR-IoT development boards are published on the Microchip sandbox account and can be identified by the following details:
Project ID avr-iot
Region us-central1
There is no permanent storage or collection of the data published by the boards connected through the Microchip sandbox account. The full storage of the Google Cloud features will be available to the user after the board is removed from the demo environment and migrated to a private account.
AVR-IoT WG User Guide
Chapter 2: Getting Started
Once the board is connected to the Wi-Fi and to the Cloud, the avr-iot.com webpage will show a real-time graph of the data gathered from the on-board light and temperature sensors. Data are transferred and transformed from the sensor to the cloud through a JSON object: an ASCII string formatted as follows: { ‘Light’ : XXX, ‘Temp’: YYY }, where XXX and YYY are numerical values expressed in decimal notation.
Figure 2-6. Real-Time Data on the Microsite

2.1.5 The USB Interface

While the AVR-IoT WG development board comes out of the box fully programmed and provisioned, the user can still access the firmware through the USB interface. There are three methods to do this: through
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 8
AVR-IoT WG User Guide
Chapter 2: Getting Started
drag and drop, the serial command line interface, or through the on-board programmer/debugger using Atmel Studio 7.0.
I. USB Mass Storage (’Drag and Drop’)
One way to program the device is to just drag and drop a .hex file into the CURIOSITY drive. The AVR C compiler tool chain generates a .hex file for each project it builds. This .hex file contains the code of the project. The AVR-IoT WG board facilitates putting code into the board by having this drag and drop feature. This feature does not require any USB driver to be installed and works in all major OS environments. Alternative application example.hex files for the board firmware will be available for download from the downloads section at the bottom of the avr-iot.com webpage.
II. Serial Command Line Interface
The AVR-IoT WG development board can also be accessed through a serial command line interface. This interface can be used to provide diagnostic information. To access this interface, use any preferred serial terminal application (i.e. Teraterm, Coolterm, PuTTy) and open the serial port labeled Curiosity Virtual COM port, with the following settings:
Baud Rate 9600
Data 8-bit
Parity Bit None
Stop Bit 1 bit
Flow Control None
Additional Settings Local Echo: On
Transmit to the Microcontroller CR+LF (Carriage Return + Line Feed)
Note:  For users of the Windows environment, the USB serial interface requires the installation of an USB serial port driver.
The user can control the board by typing the command keywords, listed in Table 2-1.
Table 2-1. Serial Command Line Commands
Command Arguments Description
reconnect - Re-establish connection to the
Cloud
wifi (see Figure 2-8 for example) <Network SSID>, <Password>,
<Security Option*>
key - Print the public key of the board
device - Print the unique device ID of the
Enter Wi-Fi®network authentication details
board
version - Print the firmware version of the
serial port user interface
*- Type in one of these three numbers to choose among the following security options:
1. Open
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 9
2. WPA/WPA2
3. WEP
Figure 2-7. Serial Command Line Interface
Figure 2-8. Wi-Fi Authentication Example
AVR-IoT WG User Guide
Chapter 2: Getting Started
III. USB Programmer/Debugger interface
For users familiar with the Atmel Studio interface, the AVR microcontroller can also be programmed and debugged directly via the Atmel Studio 7.0 IDE. The AVR-IoT development board is automatically detected by the Atmel Studio IDE, enabling full programming and debugging through the on-board nEDBG interface.

2.2 AVR-IoT Development on START

Atmel START, a quick development tool, can be used to select and customize additional code examples including single-click support for 100+ Click sensor boards (out of the 450 models available so far). The codes can be downloaded by clicking Browse Examples on the Atmel START page, as shown in Figure
2-9.
I. Generate the AVR-IoT Development Board Demo
To generate the microcontroller code used on the AVR-IoT development board, select Browse Examples from the Atmel START home page and follow these simple steps:
© 2018 Microchip Technology Inc.
User Guide
DS50002809A-page 10
Loading...
+ 22 hidden pages