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™.
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 WiFi 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
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-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.
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
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 IDavr-iot
Regionus-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
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 Rate9600
Data8-bit
Parity BitNone
Stop Bit1 bit
Flow ControlNone
Additional SettingsLocal Echo: On
Transmit to the MicrocontrollerCR+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
CommandArgumentsDescription
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:
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: