Important: This document is applicable for two different products; AVR-IoT WG (AC164160) and AVR-
IoT WA (EV15R70A). Both variants are referred to as AVR-IoT Wx in this document, and both products
have identical hardware. AVR-IoT WG is preconfigured to send data through Google Cloud IoT Core, and
AVR-IoT WA is preconfigured to send data through Amazon Web Services (AWS). Both products can be
reconfigured to send data to different cloud providers.
Introduction
The AVR-IoT Wx 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 is 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 ATWINC1510 Wi-Fi controller module
The AVR-IoT Wx Development Board features the following elements:
• The on-board debugger (PKOB nano) supplies full programming and debugging support through Atmel Studio/
MPLAB X IDE. It also provides access to a serial port interface (serial to USB bridge) and two logic analyzer
channels (debug GPIO).
• The on-board debugger enumerates on the PC as a mass storage interface device for easy ‘drag and drop’
programming, Wi-Fi configuration, and full access to the microcontroller application Command Line Interface
(CLI)
• A mikroBUS™ socket allows for the ability to expand the board capabilities with the selection from 450+ sensors
and actuators options offered by MikroElektronika (www.mikroe.com) via a growing portfolio of Click boards
• A light sensor used to demonstrate published data
• Microchip MCP9808 high-accuracy temperature sensor used to demonstrate published data
• Microchip MCP73871 Li-Ion/LiPo battery charger with power path management
8.4.Getting Started with IAR.............................................................................................................28
The Microchip Website.................................................................................................................................31
• Preconfigured for Microchip Accounts with Different Cloud Providers
– Google Cloud IoT Core
– Amazon Web Services (AWS)
• Four User LEDs
• Two Mechanical Buttons
• TEMT6000 Light Sensor
• MCP9808 Temperature Sensor
• mikroBUS Socket
• On-board Debugger
– Board identification in Atmel Studio and Microchip MPLAB X
– One green board power and status LED
– Virtual serial port (USB CDC)
– Two logic analyzer channels (debug GPIO)
• USB and Battery Powered
• MCP73871 Li-Ion/LiPo Battery Charger
• Fixed 3.3V
AVR-IoT Wx Hardware User Guide
Introduction
1.2 Board Overview
The AVR-IoT Wx development board is a hardware platform to evaluate and develop IoT solutions with the Microchip
ATmega4808 AVR microcontroller, ATECC608A secure element, and WINC1510 Wi-Fi controller module.
The preprogrammed demo application publishes data from the on-board light and temperature sensor read by the
ATmega4808 every second to the cloud. Any data received from the cloud over the subscribed topic is sent to the
virtual serial port and can be displayed in a serial terminal application. The WINC1510 needs a connection to a Wi-Fi
network with an internet connection. The ATECC608A is used to authenticate the hardware with the cloud to uniquely
identify every board. The demo application source code can be modified to publish data to a personal cloud account
to get started with a custom cloud application.
The figure below shows the main features and pinout of the board.
2.Open the “CLICK-ME.HTM” file on the “CURIOSITY” mass storage disk and follow the instructions.
2.1.Download the latest application .hex firmware.
2.2.Download the Wi-Fi configuration file "WIFI.cfg".
3.Drag and drop the application .hex file on the "CURIOSITY" drive.
4.Drag and drop the “WIFI.cfg” configuration file on the “CURIOSITY” drive.
The board will now connect to your Wi-Fi network and send data to the website opened in step 2 through a cloud
provider.
2.2 Design Documentation and Relevant Links
The following list contains links to the most relevant documents and software for the AVR-IoT Wx.
Getting Started
• AVR-IoT WG website - Find schematics, design files, and purchase the board. Set up for Google Cloud IoT
Core.
• AVR-IoT WG on microchipDIRECT - Purchase this board on Microchip Direct.
• AVR-IoT WA website - Find schematics, design files, and purchase the board. Set up for Amazon Web
Services.
• AVR-IoT WA on microchipDIRECT - Purchase this board on Microchip Direct.
• MPLAB Data Visualizer - MPLAB Data Visualizer is a program used for processing and visualizing data. The
Data Visualizer can receive data from various sources such as serial ports and on-board debugger’s Data
Gateway Interface, as found on Curiosity Nano and Xplained Pro boards.
• Atmel Studio - Free IDE for the development of C/C++ and assembler code for microcontrollers.
• MPLAB® X IDE - MPLAB X IDE is a software program that runs on a PC (Windows®, Mac OS®, Linux®) to
develop applications for Microchip microcontrollers and digital signal controllers. It is called an Integrated
Development Environment (IDE) because it provides a single integrated “environment” to develop code for
embedded microcontrollers.
• IAR Embedded Workbench® for AVR® - This is a commercial C/C++ compiler that is available for AVR
microcontrollers. There is a 30-day evaluation version as well as a 4 KB code-size-limited kick-start version
available from their website.
• Atmel START - Atmel START is an online tool that helps the user to select and configure software components
and tailor your embedded application in a usable and optimized manner.
• Microchip Sample Store - Microchip sample store where you can order samples of devices.
The ATmega4808 mounted on AVR-IoT Wx is preprogrammed with an application ready to publish data to a
Microchip account with a cloud provider, and subscribe to data sent from https://avr-iot.com through the cloud
provider. AVR-IoT WA is preconfigured for Amazon Web Services (AWS), and AVR-IoT WG is preconfigured for
Google Cloud IoT Core. The data is read from the cloud and presented to the user on https://avr-iot.com.
AVR-IoT WA
The application publishes data through Amazon Web Services, and the firmware is available on GitHub: https://
For in-depth information about the preprogrammed demo application and how to develop your application, see the full
AVR-IoT WG Application User Guide: https://www.microchip.com/mymicrochip/filehandler.aspx?
ddocname=en607553.
Setup for Different Cloud Accounts
Any AVR-IoT Wx kit can be reprovisioned to publish data to either Microchips sandbox account at Amazon Web
Services, Microchips sandbox account at Google Cloud IoT Core, or to a personal account.
Download the IoT Provisioning Tool package, compatible with Windows, Mac and Linux to get started: https://
AVR-IoT Wx contains an on-board debugger for programming and debugging. The on-board debugger is a composite
USB device consisting of several interfaces:
• A debugger that can program and debug the ATmega4808 in Atmel Studio/MPLAB X IDE
• A mass storage device that allows drag-and-drop programming of the ATmega4808
• A virtual serial port (CDC) that is connected to a Universal Asynchronous Receiver/Transmitter (UART) on the
ATmega4808, and provides an easy way to communicate with the target application through terminal software
• A Data Gateway Interface (DGI) for code instrumentation with logic analyzer channels (debug GPIO) to visualize
program flow
The on-board debugger controls a Power and Status LED (marked PS) on the AVR-IoT Wx Board. The table below
shows how the LED is controlled in different operation modes.
Table 4-1. On-Board Debugger LED Control
Operation ModePower and Status LED
AVR-IoT Wx Hardware User Guide
Hardware User Guide
Boot Loader modeThe LED blinks slowly during power-up
Power-upThe LED is ON
Normal operationThe LED is ON
ProgrammingActivity indicator: The LED blinks slowly during programming/debugging
Drag-and-drop
programming
FaultThe LED blinks rapidly if a power Fault is detected
Sleep/OffThe LED is OFF. The on-board debugger is either in a sleep mode or powered down.
4.1.1 Debugger
The on-board debugger on the AVR-IoT Wx Board appears as a Human Interface Device (HID) on the host
computer’s USB subsystem. The debugger supports full-featured programming and debugging of the ATmega4808
using Atmel Studio/MPLAB X IDE, as well as some third-party IDEs.
Success:The LED blinks slowly for 2 sec.
Failure:The LED blinks rapidly for 2 sec.
This can occur if the board is externally powered.
Info: Slow blinking is approximately 1 Hz, and rapid blinking is approximately 5 Hz.
Remember: Keep the debugger’s firmware up-to-date. Firmware upgrades are done automatically when
using Atmel Studio/MPLAB X IDE.
4.1.2 Virtual Serial Port (CDC)
The virtual serial port (CDC) is a general purpose serial bridge between a host PC and a target device.
The on-board debugger implements a composite USB device that includes a standard Communications Device Class
(CDC) interface, which appears on the host as a virtual serial port. The CDC can be used to stream arbitrary data in
both directions between the host computer and the target: All characters sent through the virtual serial port on the
host computer will be transmitted as UART on the debugger’s CDC TX pin, and UART characters captured on the
debugger’s CDC RX pin will be returned to the host computer through the virtual serial port.
Figure 4-1. CDC Connection
AVR-IoT Wx Hardware User Guide
Hardware User Guide
Info: As shown in Figure 4-1, the debugger’s CDC TX pin is connected to a UART RX pin on the target
for receiving characters from the host computer. Similarly, the debugger’s CDC RX pin is connected to a
UART TX pin on the target for transmitting characters to the host computer.
4.1.2.2 Operating System Support
On Windows machines, the CDC will enumerate as Curiosity Virtual COM Port and appear in the Ports section of the
Windows Device Manager. The COM port number can also be found there.
Info: On older Windows systems, a USB driver is required for CDC. This driver is included in installations
of Atmel Studio/MPLAB X IDE.
On Linux machines, the CDC will enumerate and appear as /dev/ttyACM#.
Info: tty* devices belong to the “dialout” group in Linux, so it may be necessary to become a member of
that group to have permissions to access the CDC.
On MAC machines, the CDC will enumerate and appear as /dev/tty.usbmodem#. Depending on which terminal
program is used, it will appear in the available list of modems as usbmodem#.
Info: For all operating systems: Be sure to use a terminal emulator that supports DTR signaling. See
Section 3.1.2.4 “Signaling”.
4.1.2.3 Limitations
Not all UART features are implemented in the on-board debugger CDC. The constraints are outlined here:
• Baud rate: Must be in the range of 1200 bps to 500 kbps. Any baud rate outside this range will be set to the
closest limit, without warning. Baud rate can be changed on-the-fly.
• Character format: Only 8-bit characters are supported.