This document describes how to set the ATWINC3400 evaluation boards for various example applications
supported by the Atmel Studio. This document also provides the list of supported hardware platforms and
IDEs to be used in conjunction with the ATWINC3400 evaluation board (see Table 2-1).
Note: All the example applications are included in the software package.
This chapter describes the functional overview of all the applications that are pre-defined in Atmel Studio.
1.1 Proximity Reporter Application
The Proximity profile is defined by the Bluetooth® SIG to enable proximity monitoring between two
Bluetooth Low Energy (BLE) devices. The Proximity Monitor (a Generic Attribute (GATT) client)
configures the behavior of the peer Proximity Reporter device (a GATT server) based on the link
conditions. The configuration includes setting the alert level, which triggers on the Link Loss or based on
a different threshold of the Path Loss. The Path Loss determines the quality of the connection and it is
derived out of the Received Signal Strength Indicator (RSSI). The Proximity Monitor continuously
evaluates the Path Loss and creates an immediate alert in the Proximity Reporter device when the Path
Loss crosses threshold values.
On-Board LED Status
The on-board LED is configured to notify the user about the alerts received. The different alerts for the
Link Loss and Immediate Alert services are explained in the following subsections.
ATWINC3400
Functional Overview
Link Loss
On the Link Loss, the LED blinks according to the alert level set by the Proximity Monitor. The alert levels
are:
•NO_ALERT for No alert level
•MILD_ALERT for Mild alert level
•HIGH_ALERT for High alert level
Based on the alert level configuration set by the Proximity Monitor, the LED blinks at different rates:
•If the alert level is “HIGH_ALERT” then the LED blinks faster (1 second interval)
•If the alert level is “MILD_ALERT” then the LED blinks moderately (2 second interval)
•If the alert level is “NO_ALERT” the LED must be off
Alert on Path Loss (Immediate Alert)
This alert is applicable when the “Immediate Alert” service is implemented. The example application relies
on the Path Loss configuration done by the Proximity Monitor and notifies accordingly. The alert levels
are:
•NO_ALERT for No alert level
•MILD_ALERT for Mild alert level
•HIGH_ALERT for High alert level
Based on the alert level configuration set by the Proximity Monitor, the LED blinks at different rates:
•If the alert level is “HIGH_ALERT” then the LED blinks faster (3 second interval)
•If the alert level is “MILD_ALERT” then the LED blinks moderately (5 second interval)
•If the alert level is “NO_ALERT” the LED must be off
1.2 Battery Service Application
The Battery Service application is used for reporting the battery level of the device using the battery
characteristics. Any application discovering the database can access the battery service instance during
discovery services. This example application simulates the device battery level from 0% to 100%, with the
step of 1% every second.
1.3 Custom Serial Chat Profile Application
The Custom Serial Chat application is used for sending and receiving data between the boards (SAM
D21) and the Microchip SmartConnect mobile application. This is a custom profile example application
implemented over GATT. The user can send the information to the mobile phone using the console
terminal that is configured with the board and vice versa.
1.4 Heart Rate Profile Application
The Heart Rate Profile application is used for enabling the collector device (GATT client) to connect and
interact with a heart rate sensor (GATT server) to be used in the fitness applications. The heart rate
sensor sends the heart rate measurement in bpm (beats per minute), energy expended in kJ (kilojoules),
and R-R intervals in seconds. In addition to the heart rate service, this profile also implements the Device
Information Service, which provides information about the heart rate sensor device.
The heart rate profile provided by Bluetooth SIG defines three characteristics for the exchange of heart
rate parameters between the sensor and monitor. The characteristics of the profile are used to transfer
heart rate parameters like bpm, R-R interval measurements, and other parameters like body sensor
location and energy expended values. The optional “Heart Rate Control Point characteristic” is used by
the heart rate monitor to reset the energy expended in the heart rate sensor.
ATWINC3400
Functional Overview
The heart rate sensor, which is the GATT server, holds the characteristics and sends the measurement
values to the heart rate monitor.
•The heart rate, R-R interval, and energy expended are sent using the heart rate measurement
characteristics.
•The heart rate measurements are sent to the monitor on a value change if the monitor has enabled
the notifications.
•The body sensor location is read by the monitor by its body sensor location characteristic. The
energy expended sent in the heart rate measurement can be reset by the monitor by writing to the
heart rate control point characteristic.
Note: The example application simulates the sensor measurements and sends them to the heart rate
collector.
1.5 Transparent Service Application
The Transparent Service is used as a data exchange method between the client and the server.
•Transparent Tx characteristic is used for data transmission by the server or client. Once the Client
Characteristic Configuration Descriptor of Transparent Tx is enabled, the server sends data to the
client by this channel. The client also can send the data through this channel.
•Transparent Rx characteristic is used for data transmission by the client. The client can send data
to the server by this channel.
•Transparent Control Point characteristic: To ensure successful operation, this Client Characteristic
Configuration Descriptor of Transparent Control Point (TCP) must be enabled to notify. The client
must perform a write to the TCP to execute a desired procedure at the server. The Transparent
Control Point is used by a client to control certain behaviors of the server. The procedures are
triggered by writing a value that includes an Op code specifying the operation and the server
notifies of the result of the operations.
When enable credit-based flow control Op code is written to the TCP, the server responds with the
maximum MTU size and available credit to the client. The number of credits are checked by the client to
know how many data lists can be transmitted to the server. The number of credits are decreased by the
list of data sent by client. The client can only send data while the number of credits is non-zero. The
server returns the credit to the client after the server finishes dealing with the received data.
1.6 On-chip Provisioning Application
The On-chip Provisioning application is used for receiving Wi-Fi provisioning data via Bluetooth and then
triggering a Wi-Fi connection. The majority of the provisioning functionality is performed by the BLE
Cortus of ATWINC3400, with the host application performing some helper functions via dedicated
libraries. This application triggers a Wi-Fi scan and lists the scanned APs on the receiver. On receiving
the Wi-Fi configuration data (which is passed to the host application where it is fed into the BLE Cortus
provisioning API), it validates the data and starts the connection process. On successful connection, the
Bluetooth connection is terminated. If the connection is not successful with received configuration, the
provisioning process restarts and lists the latest scanned APs again.
2.Install the standalone Advanced Software Framework (ASF) package.
3.Android™ Application Installation – The android applications for testing BLE profiles are available in
the following locations of the BLE application examples.
3.1.BLE Provisioning application – This application supports BLE Provisioning. This app is
available in “provision_ap_with_ble_on_chip_profile_example” at
3.3.Microchip SmartConnect Application – This application is used to test all the BLE profiles.
Download and install the Microchip SmartConnect app on the mobile phone, available in
the Google Play™ Store for Android.
ATWINC3400
Software Setup
Note: Atmel Studio offers predefined example projects for the SAM D21 extension boards.
4.2 Build Procedure
Perform the following steps to build an example project using Atmel Studio IDE. This example build
procedure is developed using the SAM D21 + ATWINC3400 Xplained Pro board.
1.Open the Atmel Studio and select File > New > Example Project.
Figure 4-1. Example Project from ASF
2.In the New Example Project from ASF or Extensions window:
5.To build the solution, go to Build > Build Solution. Alternatively, press <F7> to build the
solution.
Figure 4-4. Building the Solution
6.The generated solution is downloaded into the SAM D21 Xplained Pro board through the USB
cable. To program the board, go to Tools > Device Programming. Alternatively, press <Ctrl+Shift+P> to program the board.
8.After flashing/programming the example application into SAM D21 Xplained Pro board, it is ready to
be used as a BLE device that supports the selected application example.
Supported by the Microchip
SmartConnect application for
Android devices to trigger scan for
Wi-Fi APs and send the
configuration (Provision) data of the
selected AP
User Guide
Supported by the ATWINC3400
extension board and
microcontroller to act as On-chip
Provisioning application
DS50002706A-page 16
5.1 Initializing the Device
Perform the following steps to initialize the device:
1.Open any Terminal Application (for example, TeraTerm). Select the COM port enumerated on the
PC and set the following parameters:
–Baudrate 115200
–Parity None
–One Stop bit
–One Start bit
–No Hardware Handshake
2.After loading the example application, press the Reset button on the SAM D21 Xplained Pro (XPro)
board. The application starts running and initial output shows on the terminal.
3.On start of the application the initial output on the terminal/console display the information such as,
driver version, driver HIF level, FW version, FW HIF level and Build data/time, and MAC address.
Wifi BLE Provisioning demo with Application
SAMD21_XPLAINED_PRO
<APP><INFO>Chip ID 3400d1
<APP><INFO>Curr driver ver: 1.0.7
<APP><INFO>Curr driver HIF Level: <2> 1.2
<APP><INFO>Fw HIF 8102
<APP><INFO>Firmware HIF <2> : 1.2
<APP><INFO>Firmware ver : 1.1.5
<APP><INFO>Firmware Build Apr 27 2017 Time 13:46:34
<APP><INFO>Ota HIF : 0000
<APP><INFO>No valid Ota image
<APP><INFO>OTP MAC
<APP><INFO>MAC Address: F8:F0:05:F2:52:6A
<APP><INFO>M2M_No_PS
<APP><INFO>POWER SAVE 0
<APP><INFO>Reset provision data
<APP><INFO>BLE provisioning started
ATWINC3400
Running Example Applications
4.If BLE provisioning is added to the example BLE profile, the application starts BLE provisioning.
Otherwise the application starts directly the BLE profile specific steps.
Note: BLE Provisioning Procedure is required only when provisioning is enabled in the BLE profile
example.
5.2 BLE Provisioning Procedure
Perform the following steps to pair the device with the mobile phone application:
1.Open the BLEProvisioner application on a BLE compatible Android phone. Click SCAN and select
“3400 DEMO” from the list for the ATWINC3400.
2.The application triggers to scan ATWINC3400 and displays the scanned list of APs. Select the AP,
enter the security details, and click Provision to start provisioning process.
Figure 5-3. Provisioning Process
3.On successful connection with the AP, the provision process completes.
After successful initialization and starting of the application, the BLE device starts advertising.
1.On the Android phone, open the Microchip SmartConnect application and click the Bluetooth
Smart in the application dashboard as illustrated in the following figure.
Figure 5-4. Dashboard of Microchip SmartConnect Application
ATWINC3400
Running Example Applications
2.To scan for finding BLE devices, click the START SCAN option available in scanning page. The
device name (for example, ATMEL-PXP when running Proximity Reporter application and ATMELBAS when running Battery Service application) is displayed among the list of scanned devices.
3.Select the device name in the scan results, which initiates the pairing procedure with the
ATWINC3400. Enter the pass-key “123456” in the Bluetooth Pairing Request window and click
Pair. The mobile app displays "Successful connection" upon successful completion of pairing.
Figure 5-6. Pairing Request
4.On the device side, the console displays the successful completion of the pairing procedure.
5.On the Microchip SmartConnect app, the supported services are displayed for the device.
Figure 5-7. Display of Services Supported by the Proximity Reporter Application
Perform the following steps to run the Proximity Reporter application demo:
1.Establish the connection between the device and mobile phone using the procedure listed in
Initializing the Device and BLE Provisioning Procedure (if provisioning is enabled).
2.Select the desired service (Link Loss or Immediate Alert) for alert level characteristics configuration.
Choose a value from the following:
–HIGH ALERT
–MILD ALERT
–NO ALERT
Figure 5-8. Configuring Alert Level Settings
ATWINC3400
Running Example Applications
3.After configuration of the desired alert levels, click Immediate Alert service and then move the
mobile phone away from the Proximity Reporter. Based on the distance of separation, Path Loss is
plotted on the zone radar (using RSSI values received from the Proximity Reporter). Based on the
zone, the Proximity Monitor sends the corresponding alert level. The console log on the Proximity
Reporter displays the corresponding alerts and on-board status LED behavior.
Figure 5-9. Proximity Reporter Path Loss Plot Across Safe, Mid, and Danger Zone
Figure 5-10. Proximity Reporter Path Loss Console Log Alerts Notification
4.After configuration of the desired alert levels, click on the Link Loss service and then move the
mobile phone away from the reporter. Based on the distance of separation, the Proximity Reporter
receives the path loss notifications based on the alert settings. Keep moving until the “Link Loss”
pop-up appears. The console log on the Proximity Reporter displays the corresponding alerts and
when Link Loss occurs, it reports the disconnection and the on-board status LED behavior. The
lock screen emulates a common use-case application where the Link Loss service is used (for
example, key fob). When the user is in close proximity, the lock remains open. Subsequently, the
user moving out of range can be triggered to close the lock.
Figure 5-11. Link Loss Pop-up on Proximity Monitor
ATWINC3400
Running Example Applications
Figure 5-12. Proximity Reporter Console Log for Link Loss
5.After Link Loss, the mobile application attempts to reconnect to the Proximity Reporter. The
connection is re-established by moving the mobile phone closer to the reporter.
6.The Tx Power service is used to retrieve the Tx Power of the Proximity Reporter. Click the Tx
Power Service icon in the services screen. The Proximity Monitor reads the Tx Power value from
the Proximity Reporter and displays the TX POWER LEVEL as shown in the following figure.
Figure 5-13. Proximity Monitor – Reading Tx Power Service
5.5 Battery Service Application
Perform the following steps to run the Battery Service Application demo:
1.Establish the connection between the device and mobile phone using the procedure listed in
Initializing the Device and BLE Provisioning Procedure (if provisioning is enabled).
2.When paired, the application displays the Battery Service and the Generic Information service.
3.Select “Battery Service” to receive notifications for the battery level characteristic. The user can
stop receiving the notifications by disabling notifications, as shown in the following figure.
Perform the following steps to run the Custom Serial Chat Profile application demo:
1.Establish the connection between the device and mobile phone using the procedure listed in
Initializing the Device and BLE Profile Scan and Connect.
2.Once pairing is complete, the Custom Serial Chat icon appears on the service list page.
3.Click the Custom Serial Chat icon. The chat screen appears, and the user can type the text that is
to be sent to the remote device and also see the text coming from the remote device.
1.Establish the connection between the device and mobile phone using the procedure listed in
Initializing the Device and BLE Profile Scan and Connect.
2.After the device is connected, the application displays the Heart Rate and the Device Information
Service.
3.When notifications are enabled, the HRM values, Sensor Location and Energy Expended are
displayed in the console and the corresponding mobile app. The LED on the SAM D21 board starts
blinking while sending notifications.
Notification Enabled
Heart Rate: 70 bpm RR Values:<900,1100>msec User Status:Idle
Heart Rate: 325 bpm RR Values:<100,300>msec User Status:Idle
Heart Rate: 580 bpm RR Values:<500,700>msec User Status:Idle
Heart Rate: 835 bpm RR Values:<900,1100>msec User Status:Idle
Heart Rate: 1090 bpm RR Values:<100,300>msec User Status:Idle
Heart Rate: 1345 bpm RR Values:<500,700>msec User Status:Idle
Heart Rate: 1600 bpm RR Values:<900,1100>msec User Status:Idle
Heart Rate: 1855 bpm RR Values:<100,300>msec User Status:Idle
Heart Rate: 2110 bpm RR Values:<500,700>msec User Status:Idle
Heart Rate: 2365 bpm RR Values:<900,1100>msec User Status:Idle
Energy Expended :9KJ
Figure 5-17. Displaying Heart Rate Measurements
4.When the user disables with Stop Notify, the notifications are displayed in the console logs as:
Notification Disabled
5.8 Transparent Service Application
Perform the following steps to run the Transparent Service application demo:
1.Follow all the steps from Initializing the Device.
2.On a BLE-compatible Android phone, enable Bluetooth in the Settings page. Open the Microchip
SmartConnect mobile application. In application click Scan to start scanning for the BLE devices.
5.When paired, the application displays the “Transfer data to device” on the service page.
6.Click Transfer data to device. The chat screen appears where the user can type the text that is to
be sent to the remote device, and also see the text coming from the remote device.
7.Chat text “Hello” to the remote device. The data/text sent is displayed on the console/terminal for
the device connected.
3.The application triggers a scan to ATWINC3400 and displays the scanned list of APs. Select the AP
and enter the security details and click Provision to start provisioning process.
Figure 5-24. On-chip Provisioning Process
4.On successful connection with given AP, the provision process is completed.
5.If the connection is not successful with given AP, the application returns to BLE scan state, scans
for the “3400 DEMO”, and then the provisioning process is started again.
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
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, BeaconThings,
BitCloud, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq, KeeLoq logo,
Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR, MOST, MOST logo, MPLAB,
OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, RightTouch, 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,
chipKIT, chipKIT logo, CodeGuard, CryptoAuthentication, CryptoCompanion, CryptoController,
dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial
Programming, ICSP, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, Mindi, MiWi,
motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient
Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PureSilicon, QMatrix, RightTouch logo, 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.
All other trademarks mentioned herein are property of their respective companies.
2017, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.
ISBN: 978-1-5224-2536-6
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.