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:
2.To download the demo code as it is, click Download Selected Example. To make modifications to
the code, click Open Selected Examples.
3.To make changes to the configuration, such as Wi-Fi credentials or Google Cloud project details,
scroll down the page to the AVR-IoT WG Sensor Node panel, as shown in Figure 2-12.
4.Once these changes are made, the following options are available: preview the code, save the
configuration for later use, or export the project to a selected development environment. To select
one of the options, click the corresponding tab on the top of the page shown in Figure 2-13.
II. Generate AVR-IoT WG Sensor Node with supported mikroElektronika Click Boards
Atmel START can also generate example codes for two supported MikroElektronika Click Boards:
Weather Click and Air Quality Click. To generate code for either of these, select the corresponding project
in the examples list in Atmel START and follow steps 2 to 4 to regenerate the AVR-IoT WG development
demo code. Additional code examples will be posted in future releases of the Atmel START tool.
III. Exporting AVR-IoT WG START Project to Atmel Studio
After generating an AVR-IoT WG project in Atmel START, export it to Atmel Studio to be compiled, linked
and eventually programmed into the AVR microcontroller. For instructions on how to import Atmel START
projects into Atmel Studio and program them onto the board, refer to the Atmel START User Guide.
The AVR-IoT development board can be forced to enter one of a few advanced modes of operation at
start-up. These modes can be entered by pressing one or a combination of the push buttons that are
present on the board, labeled Switch 0 (SW0) and Switch 1 (SW1). Table 2-2 enumerates these
advanced modes, descriptions, physical indicators of entering a specific mode, and how to enter them.
The AVR-IoT WG development board can be accessed through a Wi-Fi access point enabled by the
Software-Enabled Access mode of the WINC1510. This can be another way to connect the board to a
Wi-Fi network. To enter Soft AP mode, press and hold the SW0 push button before plugging the board.
When connecting to this access point for the first time, the user will need to set the SSID and password of
the network to which they are connected, as shown in Figure 2-14. The user should enter these details
and then press the Connect button. The board is now connected to the network.
Figure 2-14. Connecting to the network using Soft AP mode
AVR-IoT WG User Guide
Chapter 2: Getting Started
2.4 Migrating to a private Google Cloud account
Once the user is satisfied with the features and capabilities demonstrated by the AVR-IoT WG board,
more information can be obtained by accessing the AVR-IoT WG sandbox. At the bottom of the avr-
iot.com webpage, under the “What’s Next” section, the user can find the “Graduate to the full Cloud IoT
Core” experience option. Clicking the Graduate button unregisters the board from the Microchip sandbox
account and transfers the users to a GitHub repository, containing the tutorials and files needed to
connect the AVR-IoT WG board to the user’s own Google Cloud account.
nEDBG LED is On but
the Curiosity Drive is not
found
Faulty USB connection•Replace the USB
User Guide
Download image .hex
file from the Downloads
section at the bottom of
the Microsite page.
connection.
•Replace the
board.
connector
•Check PC Device
Manager.
DS50002809A-page 19
4. Appendix A: Hardware Components
The AVR-IoT WG board features the following hardware components:
•ATmega4808 Microcontroller
•WINC1510 Wi-Fi Module
•Light and Temperature Sensors
•Four Light Emitting Diodes (1 each of Blue, Green, Yellow and Red)
•Two Mechanical Buttons
•mikroBUS Header Footprint
•nEDBG Programmer/Debugger
4.1 ATmega4808
The ATmega4808 is a microcontroller featuring the 8-bit AVR® processor with hardware multiplier running at up to 20 MHz and with up to 48 KB Flash, 6 KB SRAM and 256 bytes of EEPROM in 28- and
32-pin packages. The series uses the latest Core Independent Peripherals (CIPs) with low-power
features, including event system, intelligent analog and advanced peripherals.
AVR-IoT WG User Guide
Appendix A: Hardware Components
Figure 4-1. ATmega4808
4.2 ATWINC1510
Microchip's WINC1510 is a low-power consumption 802.11 b/g/n IoT (Internet of Things) module,
specifically optimized for low-power IoT applications. The module integrates the following: Power
Amplifier (PA), Low-Noise Amplifier (LNA), switch, power management, and a printed antenna or a micro
co-ax (u.FL) connector for an external antenna, resulting in a small form factor (21.7 x 14.7 x 2.1 mm)
design. It is interoperable with various vendors’ 802.11 b/g/n access points. This module provides SPI
ports to interface with a host controller. The WINC1510 provides internal Flash memory as well as
multiple peripheral interfaces, including UART and SPI. The only external clock source needed for the
WINC1510 is the built-in, high-speed crystal or oscillator (26 MHz). The WINC1510 is available in a QFN
package or as a certified module.
The ATECC608A is a secure element from the Microchip CryptoAuthentication™ portfolio with advanced
Elliptic Curve Cryptography (ECC) capabilities. With ECDH and ECDSA being built right in, this device is
ideal for the rapidly growing IoT market, by easily supplying the full range of security such as
confidentiality, data integrity, and authentication to systems with MCUs or MPUs running encryption/
decryption algorithms. Similar to all Microchip CryptoAuthentication products, the new ATECC608A
employs ultra-secure, hardware-based cryptographic key storage and cryptographic countermeasures,
which eliminates any potential backdoors linked to software weaknesses.
AVR-IoT WG User Guide
Appendix A: Hardware Components
Figure 4-3. ATECC608A
4.4 MCP9808 Temperature Sensor
The MCP9808 digital temperature sensor converts temperatures between -20°C and +100°C to a digital
world with ±0.25°C/±0.5°C (typical/maximum) accuracy.
The AVR-IoT WG board contains an Embedded Debugger (nEDBG) for on-board programming and
debugging. The nEDBG is a composite USB device of several interfaces: a debugger, a mass storage
device, a data gateway and a Virtual COM port. Together with Atmel Studio, the nEDBG debugger
interface can program and debug the ATmega4808. The Virtual COM port is connected to a UART on the
ATmega4808 and provides an easy way to communicate with the target application through terminal
software. It offers variable baud rate, parity, and Stop bit settings. The nEDBG controls one power and
status LED on the AVR-IoT WG board. The table below shows how the LED is controlled in different
operation modes.
The virtual COM port in the nEDBG requires the terminal software to set the Data Terminal Ready (DTR)
signal to enable the UART pins connected to the ATmega4808. If the DTR signal is not enabled, the
UART pins on the nEDBG are kept in high-Z (Tri-state) rendering the COM port unusable. The DTR
signal is automatically set by some terminal software, but it may have to be manually enabled in your
terminal.
The following list contains links to the most relevant documents and software for the AVR-IoT WG board.
For those accessing the electronic version of this document, the underlined labels are clickable and will
redirect to the appropriate website.
•Atmel Studio - Free IDE for the development of C/C++ and assembler code for microcontrollers.
•MPLAB® X IDE - Free IDE to develop applications for Microchip microcontrollers and digital signal
controllers.
•IAR Embedded Workbench® for AVR® - This is a commercial C/C++ compiler that is available for 8bit AVR microcontrollers. There is a 30-day evaluation version as well as a 4 KB code-size-limited
kick-start version available on their website.
•Atmel START - Atmel START is an online tool that helps the user select and configure software
components and tailor their embedded application in a usable and optimized manner.
•MPLAB® Code Configurator (MCC) - a free, graphical programming environment that generates
seamless, easy-to-understand C code to be inserted into the project. Using an intuitive interface, it
enables and configures a rich set of peripherals and functions specific to the application.
•Microchip Sample Store - Microchip sample store where you can order samples of devices.
•Data Visualizer - Data Visualizer is a program used for processing and visualizing data. The Data
Visualizer can receive data from various sources such as the Embedded Debugger Data Gateway
Interface found on Xplained Pro boards and COM ports.
Microchip provides online support via our web site at http://www.microchip.com/. This web site is used as
a means to make files and information easily available to customers. Accessible by using your favorite
Internet browser, the web site contains the following information:
•Product Support – Data sheets and errata, application notes and sample programs, design
resources, user’s guides and hardware support documents, latest software releases and archived
software
•General Technical Support – Frequently Asked Questions (FAQ), technical support requests,
online discussion groups, Microchip consultant program member listing
•Business of Microchip – Product selector and ordering guides, latest Microchip press releases,
listing of seminars and events, listings of Microchip sales offices, distributors and factory
representatives
Customer Change Notification Service
Microchip’s customer notification service helps keep customers current on Microchip products.
Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata
related to a specified product family or development tool of interest.
To register, access the Microchip web site at http://www.microchip.com/. Under “Support”, click on
“Customer Change Notification” and follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
•Distributor or Representative
•Local Sales Office
•Field Application Engineer (FAE)
•Technical Support
Customers should contact their distributor, representative or Field Application Engineer (FAE) for support.
Local sales offices are also available to help customers. A listing of sales offices and locations is included
in the back of this document.
Technical support is available through the web site at: http://www.microchip.com/support
1.Tape and Reel identifier only appears in the catalog part number description. This identifier is used
for ordering purposes and is not printed on the device package. Check with your Microchip Sales
Office for package availability with the Tape and Reel option.
2.Small form-factor packaging options may be available. Please check http://www.microchip.com/
packaging for small-form factor package availability, or contact your local Sales Office.
Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip devices:
•Microchip products meet the specification contained in their particular Microchip Data Sheet.
•Microchip believes that its family of products is one of the most secure families of its kind on the
market today, when used in the intended manner and under normal conditions.
•There are dishonest and possibly illegal methods used to breach the code protection feature. All of
these methods, to our knowledge, require using the Microchip products in a manner outside the
operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is
engaged in theft of intellectual property.
•Microchip is willing to work with the customer who is concerned about the integrity of their code.
•Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their
code. Code protection does not mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the
code protection features of our products. Attempts to break Microchip’s code protection feature may be a
violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software
or other copyrighted work, you may have a right to sue for relief under that Act.
Legal Notice
Information contained in this publication regarding device applications and the like is provided only for
your convenience and may be superseded by updates. It is your responsibility to ensure that your
application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY
OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS
CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE.
Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life
support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend,
indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting
from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual
property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, AnyRate, AVR, AVR logo, AVR Freaks, BitCloud,
chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq,
Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR, MOST, MOST logo, MPLAB,
OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, SAM-BA, SpyNIC, SST,
SST Logo, SuperFlash, tinyAVR, UNI/O, and XMEGA are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
ClockWorks, The Embedded Control Solutions Company, EtherSynch, Hyper Speed Control, HyperLight
Load, IntelliMOS, mTouch, Precision Edge, and Quiet-Wire are registered trademarks of Microchip
Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BodyCom,
CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM,
dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming,
ICSP, INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain, Mindi, MiWi,
motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient
Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE,
Ripple Blocker, SAM-ICE, Serial Quad I/O, SMART-I.S., SQI, SuperSwitcher, SuperSwitcher II, Total
Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are
trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of
Microchip Technology Inc., in other countries.
2018, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.
ISBN: 978-1-5224-3574-7
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex,
DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore,
Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, µVision, Versatile
are trademarks or registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
Quality Management System Certified by DNV
ISO/TS 16949
Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer
fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC
DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design and manufacture of development
systems is ISO 9001:2000 certified.