ATBTLC1000 BluSDK Example Profiles Application User's
Guide
Introduction
This document describes how to set the ATBTLC1000-MR/ZR evaluation boards for various example applications
supported by the Advanced Software Framework (ASF). This also provides the list of supported hardware platforms
and IDEs to be used in conjunction with the ATBTLC1000-MR/ZR evaluation boards (see Table 2-1). The part
number of the BTLC1000-ZR Xplained Pro (XPro) board is ATBTLC1000ZR-XPRO, and the part number of the
BTLC1000-MR Xplained Pro board is ATBTLC1000MR-XPRO.
Note: All the example applications are included in BluSDK software package.
Figure 1. ATBTLC1000 Extension Boards
Features
• Observer Application
• Proximity Monitor Application:
– Device discovery and disconnection
– Services and characteristics discovery
– Services – Link Loss service, Immediate Alert service, and Tx Power service
– Setting up Path Loss and Link Loss
– Received Signal Strength Indicator (RSSI) sampling
• Proximity Reporter Application:
– Advertisement
– Pairing/bonding
– Services – Link Loss service (mandatory), Immediate Alert service, and Tx Power service
• Apple® Notification Center Service (ANCS) Application
• Scan Parameters Service Application
• Time Information Profile Application:
– Device discovery and disconnection
– Pairing/bonding
– BLE time client
• HID Mouse Device and HID Keyboard Device Applications:
– Advertisement
– Pairing
– Services: HID service and Device Information service
– Report mode (mouse)/Report mode (keyboard)
• Battery Service Application
• Simple Broadcaster Application
• Device Information Service
• Custom Serial Chat (CSC) Profile Application:
– Device discovery and disconnection
– Pairing/bonding
– Send and receive messages
• L2CAP Throughput Application:
– L2CAP central
– L2CAP peripheral
– Used LE L2CAP connection oriented channel for data communication
• Health Thermometer Profile (HTP) Application:
– Advertisement
– Pairing/bonding
– RSSI sampling
– Health thermometer service
– Health thermometer profile app for iOS/Android
The Microchip Website.................................................................................................................................82
This chapter describes the functional overview of all the applications that are pre-defined in Atmel Studio.
1.1 Observer Application
The Observer application is used for continuously listening to the advertisement data over the air. This application
supports the following advertisement data types:
• Incomplete list of 16-bit service class UUIDs
• Complete list of 16-bit service class UUIDs
• Incomplete list of 32-bit service class UUIDs
• Complete list of 32-bit service class UUIDs
• Incomplete list of 128-bit service class UUIDs
• Complete list of 128-bit service class UUIDs
• Shortened local name
• Complete local name
• Appearance
• Manufacturer specific data
• Tx Power
• Advertisement interval
ATBTLC1000
Functional Overview
1.2 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) and transmits the
power. 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.
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.3 Proximity Monitor Application
The Proximity profile is defined by the Bluetooth SIG to enable proximity monitoring between two BLE devices. The
Proximity Monitor (a GATT client) configures the behavior of a peer Proximity Reporter device (a GATT server) based
on the link conditions. The Proximity Monitor configures the desired behavior of the peer device through setting alert
levels on the Link Loss and the Path Loss. In addition, it also maintains the connection with the Proximity Reporter
and monitors the link quality of the connection based on RSSI reporting from the peer device.
1.4 ANCS Profile Application
The Apple® Notification Center Service (ANCS) is used to enable a device to access notifications from an iOS device
that exposes ANCS.
The ANCS profile defines the following roles:
• Notification Provider (NP) is a device that provides the iOS notification
• Notification Consumer (NC) is a device that receives the iOS notifications and notification related data from
Notification Provider
ATBTLC1000
Functional Overview
Incoming Call Notification
The programmed SAM L21 or the other supported hardware platforms (Notification Consumer) must be paired with
an iPhone® to display the received incoming call notification on a console.
The Bluetooth SIG defined Alert Notification profile provides similar functionality for Android™ devices. ANCS is a
variant of the Alert Notification profile customized by Apple. For more details on Alert Notification, refer to the Alert
Notification Profile Application.
1.5 Scan Parameters Service Application
The Scan Parameter service is an example application that demonstrates how to retrieve scan interval window
information from a peer device. The Scan Parameter service must be implemented on a peer device to retrieve scan
interval information. This application implements a GATT server role. This application can be used for obtaining the
updated scan interval window value by configuring the scan refresh characteristic for notification.
1.6 Time Information Profile Application
The Time Information Profile is an example application for a compatible Android/iPhone® device for implementing the
BLE time service, such as current time, date and day, and displaying it on the console.
The profile defines the following roles:
• Time client, a device in a peripheral role to read the time, date, and day information
• Time server, a device to provide the time-related information
Note: This application is supported in iOS 7.0 and above or a BLE compatible Android device which has the
Microchip SmartConnect mobile application installed.
1.7 HID Mouse Device or HID Keyboard Device Application
The HID Over GATT Profile (HOGP) is defined by the Bluetooth SIG to enable HID services support over a BLE
protocol stack using the GATT profile. This allows devices like a keyboard or mouse to implement HOGP and to
connect with a compatible HOGP/BLE host device, such as mobile phone, tablet, TV, and so on.
The HID Mouse device or HID Keyboard device application supports the following characteristics:
This example application simulates a function of a mouse or keyboard. Once the connection procedure is
implemented between a mobile phone and the ATBTLC1000-MR/ZR board, the board can act as a mouse or a
keyboard.
In the case of a HID Mouse device application, a mouse cursor, visible in the mobile screen, can be moved as per the
predefined pattern by pressing the SW0 button on the board.
In the case of a HID keyboard device application, the predetermined text is sent to the mobile phone by pressing the
SW0 button on the board. This can be viewed in any standard text editor in the mobile phone.
1.8 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.
ATBTLC1000
Functional Overview
1.9 Simple Broadcaster Application
The Simple Broadcaster application is used for continuously broadcasting the advertisement data over the air. This
application supports the following advertisement data types:
• Incomplete list of 16-bit service class UUIDs
• Complete list of 16-bit service class UUIDs
• Incomplete list of 32-bit service class UUIDs
• Complete list of 32-bit service class UUIDs
• Incomplete list of 128-bit service class UUIDs
• Complete list of 128-bit service class UUIDs
• Shortened local name
• Complete local name
• Appearance
• Manufacturer specific data
1.10 Device Information Service Application
The Device Information Service (DIS) application is used for providing a setup for the user to define and use the BLE
DIS service. Any application discovering the database can access the DIS service instance during discovery
services. This application supports the following characteristics:
• Manufacturer name string
• Model number string
• Serial number string
• Hardware revision string
• Firmware revision string
• Software revision string
• System ID
• IEEE® 11073-20601 regulatory certification data list
The Custom Serial Chat application is used for sending and receiving data between the boards (see Table 2-1) 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.
Note: For more information on Custom Serial Chat service, refer to Custom Serial Chat Service Specification.
1.12 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 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.
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 via 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.
ATBTLC1000
Functional Overview
1.13 Blood Pressure Profile Application
The Blood Pressure Profile (BLP) application is used for connecting to and interacting with a device with a blood
pressure sensor device to be used in consumer and professional health care applications. This application enables
the device to obtain blood pressure measurement and other data from a non-invasive blood pressure sensor that
exposes the Blood Pressure service. For example, a nurse or doctor could use a non-invasive blood pressure sensor
on a patient that sends blood pressure measurements to a laptop or other hand held device.
Blood Pressure Measurements
The blood pressure measurement characteristic can be used to send blood pressure measurements.
• Flags field (containing units of blood pressure and used to show the presence of optional fields)
• Blood pressure measurement compound value field and, depending upon the contents of the Flags field
• Timestamp (time of the measurement)
• Pulse Rate
• User ID
• Measurement status fields
The intermediate cuff pressure characteristic may be sent frequently during the course of a measurement, so that a
receiving device can effectively update the display on its user interface during the measurement process.
When the client characteristic configuration descriptor is configured for indications and a blood pressure
measurement is available, this characteristic is indicated while in a connection. When the client characteristic
configuration descriptor is configured for indications and a blood pressure measurement is available, this
characteristic is indicated while in a connection.
• The blood pressure measurement characteristic is used to send blood pressure measurements
• The intermediate cuff pressure characteristic is used to send current cuff pressure values to a device to display,
while the measurement is in progress
• The blood pressure feature characteristic is used to describe the supported features of the blood pressure
sensor
The ATBTLC1000-MR/ZR together with the host MCU simulates a blood pressure sensor (GATT server role) and
sends simulated values to the blood pressure monitor (Microchip SmartConnect mobile application).
1.14 Find Me Profile Application
The Find Me Profile (FMP) application is used to define the device to create an alert signal behavior when a button is
pressed on one device to cause an alerting signal on a peer device.
Find Me Target
The FMP defines the behavior when a button is pressed on a device to cause an immediate alert on a peer device.
This can be used to allow users to find devices that have been misplaced.
The Find Me Target application, which is the GATT server, holds the alert level characteristics and waits for the Find
Me locators alert and performs the following alert level characteristic:
• When the Find Me locator device wishes to cause an alert on the Find Me Target device, it writes the specific
alert level (High, Mild and No alert) in the alert level characteristic.
ATBTLC1000
Functional Overview
1.15 Phone Alert Status Profile Application
The Phone Alert Status (PAS) profile is used to obtain the phone alert status exposed by the phone alert status
service on a mobile phone. The alert status and ringer setting information of a mobile phone can be received and
modified by the phone alert status service. The device can also use this profile to configure the ringer status on the
mobile phone.
Phone Alert Status Notifications
This profile defines two roles:
• Phone alert server – device that originates the alerts
• Phone alert client – device that receives the alerts and alerts the user
The phone alert client (a GATT client) configuration is implemented on the ATBTLC1000-MR/ZR along with a few
other supported hardware platforms and IDEs (see Table 2-1). The example application utilizes the SW0 button on
the supported hardware platform to demonstrate the notification use-cases. A BLE compatible Android device that
contains the Microchip SmartConnect mobile application provides the phone alert server functionality in this example.
On the application, once the service is discovered and the user can click on the PAS service to enable the
notifications.
1.After connecting with the mobile phone, press the SW0 button once to set the PAS server to “Silent” mode.
2.In the second SW0 button press, the device is set to “Mute” mode.
3.In the third SW0 button press, the device is returns to “Normal” mode.
4.In the fourth SW0 button press, a “Read Characteristic” request is issued that reads the characteristics of
“Alert Status”, “Ringer Settings”, and “Ringer Control Point”.
Note: The PAS profile application is not supported in iOS devices. This example works only with BLE compatible
Android devices that contain the Microchip SmartConnect mobile application.
1.16 Alert Notification Profile Application
The Alert Notification Profile allows a device to obtain information from a mobile phone about incoming calls, missed
calls, and SMS/MMS messages. The information includes the caller ID for an incoming call or the sender ID for an
email/SMS/MMS, but not the message text. This profile also enables the client device to get information about the
number of unread messages on the server device.
Note: This example application only works with BLE compatible Android devices that contain the Microchip
SmartConnect mobile application.
The Microchip SmartConnect mobile application is used for implementing the Alert Notification service and can be
used for demonstrating an example application. This example application supports missed call alert notification and
SMS alert notification.
The device implements the GATT client, which reads (or notifies) about the characteristic values received from the
GATT server (the mobile phone). The device must be paired with an Android phone. A missed call or SMS alert
notifications can be enabled/disabled, once connection is established. The Microchip SmartConnect application
notifies a missed call or SMS alert, which are then displayed on the terminal console on the device side.
The “SW0” user button on the supported platform is programmed in such a way that each successive button press
either enables or disables the notifications.
Note: The SAM L21 or supported platforms (see Table 2-1) + ATBTLC1000-MR/ZR is referred as “device”.
The Multi-Role Peripheral Multi-Connect application demonstrates the ATBTLC1000-MR/ZR to have eight
simultaneous active connections. The ATBTLC1000-MR/ZR supports multiple roles such as GAP peripheral device
with battery service and GAP central device with a Find Me locator profile at the same time. It also supports multiple
connection such as a GAP peripheral device with battery service that can connect with seven GAP central devices
simultaneously.
The Multi-Role Peripheral Multi-Connect application initially starts advertising using connectable advertisement
packets as a GAP peripheral and if any device sends a connection request, the application gets connected to the
remote device and exchanges the data on the link established. If the connection request from the device is not sent
within a minute, then the application scans the devices and initiates a connection to the peripheral device, which
advertises using connectable advertisement packets. The ATBTLC1000-MR/ZR is exchanging the data as a GAP
central once the link is established. Again, the Multi-Role application is started to advertise using connectable
advertisement packets as a GAP peripheral and gets connected to the remote device, which sends a connection
request, and exchanges the data on the new link established. The process continues until the Multi-Connection
application reaches eight connections.
ATBTLC1000
Functional Overview
1.18 L2CAP Throughput Application
The L2CAP Throughput example application supports the L2CAP central feature and the L2CAP peripheral feature.
1.19 Health Thermometer Profile Application
The Health Thermometer Profile (HTP) enables the data collection device to obtain data from a thermometer sensor
that exposes the health thermometer service. The profile defines the following roles:
• Thermometer – Device to measure temperature
• Collector – Device to receive temperature measurement and other data from a thermometer
The thermometer implements only one Health Thermometer service in addition to the Device Information Service to
display the information about the thermometer device. The current HTP application implements the following
characteristics:
The iBeacon application is used to advertise iBeacon specific packets that include UUID, major and minor numbers.
Any beacon scanner application can be used for finding the beacon device. The iOS Microchip SmartConnect app
can be used to find the beacon devices in the vicinity.
This profile defines the following roles:
• Monitor – Device (iOS/Android) to search for beacon packets
• Reporter – Device that continuously advertises the beacon packet as a part of advertisement data
1.21 AltBeacon Application
The AltBeacon application advertises packets that include MFG ID, Beacon code, Beacon ID, Reference RSSI, and
MFG reserved value. Any AltBeacon scanner application can be used to find the AltBeacon device based on the
beacon code. The supplied iOS demo app can be used to find the AltBeacon devices in the vicinity. The profile
defines the following roles:
• Monitor – Device (iOS/Android) to search for AltBeacon packets
• Reporter – Device that continuously advertises the AltBeacon packet as part of advertisement data
ATBTLC1000
Functional Overview
1.22 Eddystone Beacon Application
The Eddystone™ is an open Bluetooth Smart beacon format from Google that works across Android and iOS
devices. The Microchip SmartConnect BLE BluSDK software solution provides full support for this beacon format on
the ATBTLC1000-MR/ZR devices.
The Eddystone beacon application supports UID, URL, and TLM frame types. The application can be configured as
follows using the APP_TYPE define:
• Set APP_TYPE to EDDYSTONE_UID_APP to send UID and TLM beacon frames at regular beacon intervals
• Set APP_TYPE to EDDYSTONE_URL_APP to send URL and TLM frames. This also supports the URL
configuration service that enables the beacon to be configured dynamically from a mobile application
The Eddystone application is completely configurable using the conf_eddystone.h file. The #defines present in
the conf_eddystone.h file are supplied with default values, which can be changed by the user to meet the
requirements. In addition to this compile time configuration, the frame fields like the UID value, URL, transmit power
at 0 meters, and so on can be changed using the APIs provided in eddystone.h file.
1.23 Direct Test Mode Application
The Direct Test Mode (DTM) application is used to establish and test the Direct Test mode between two
ATBTLC1000-MR/ZR modules. Windows-based ATBTLC1000-MR/ZR characterization software is used at both ends.
The ATBTLC1000-MR/ZR Xplained Pro extensions are connected to a compatible MCU host device such as the
SAM L21, SAM D21, SAM G55 or SAM 4S. The Performance Analyzer (PC tool) communicates with the
ATBTLC1000 using a serial bridge application running on the MCU.
Serial Bridge Application
Sends the DTM commands to the ATBTLC1000-MR/ZR to enable the DTM performance analyzer application. The
supported hardware platforms (see Table 2-1) can act as a serial bridge between the ATBTLC1000-MR/ZR and Atmel
Studio performance analyzer tool. Once the SAM L21 (or other supported hardware platforms) is powered on or
Reset, it initializes the Wake-up and Chip Enable to download the patch file into the ATBTLC1000-MR/ZR and
completes the initialization procedure of the BLE module. After the ATBTLC1000-MR/ZR initialization, the application
initializes the SAM L21 to act as a serial bridge.
Figure 3-3. ATBTLC1000-MR Xplained Pro Extension Connected to the SAM L21 Xplained Pro
Note: Refer to the following section for the ATBTLC1000-ZR Xplained Pro Extension Board configuration.
3.3 SAM D21 Xplained Pro Setup
The following figures illustrate the connection between the ATBTLC1000-MR and ATBTLC1000-ZR Xplained Pro
Extension Boards connected to the SAM D21 Xplained Pro.
Figure 3-4. ATBTLC1000-MR Xplained Pro Extension Connected to the SAM D21 Xplained Pro
Figure 3-5. ATBTLC1000-ZR Xplained Pro Extension Connected to the SAM D21 Xplained Pro
Note: The connection for the SAM L21 Xplained Pro with the ATBTLC1000-ZR Xplained Pro Extension Board is
similar to the preceding figure.
3.4 SAM G55 Xplained Pro Setup
The following figures illustrate the connection between the ATBTLC1000-MR and ATBTLC1000-ZR Xplained Pro
Extension Boards connected to the SAM G55 Xplained Pro Board.
Figure 3-6. ATBTLC1000-MR Xplained Pro Extension Connected to the SAM G55 Xplained Pro
1.The SAM G55 Xplained Pro is connected to the ATBTLC1000-MR Xplained Pro through the ATBTLC1000
XPRO adapter board.
2.For a jumper connection on 4-wire and 6-wire connections, refer to the ATBTLC1000-XPRO-ADAPTER
marking label.
Figure 3-7. ATBTLC1000-ZR Xplained Pro Extension Connected to the SAM G55 Xplained Pro
Note: The connection for the SAM 4S Xplained Pro with the ATBTLC1000-ZR Xplained Pro Extension Board is
similar to the preceding figure.
3.5 SAM 4S Xplained Pro Setup
The following figure illustrates the connection between the ATBTLC1000-MR Xplained Pro Extension Board and the
SAM 4S Xplained Pro Board. These two devices are connected using the ATBTLC1000-XPRO-ADAPTER Board.
Figure 3-8. ATBTLC1000-MR Xplained Pro Extension Connected to the SAM 4S Xplained Pro
Note: For a jumper connection on 4-wire and 6-wire connections, refer to the ATBTLC1000-XPRO-ADAPTER
marking label.
3.6 SAM R34 Xplained Pro Setup
The SAM R34 SERCOM5 is used for the UART connection to the EXT1 header. This UART port does not support
CTS/RTS hardware flow-control needed for BTLC1000 operation. To connect SAMR34-XPRO to BTLC1000ZRXPRO, use SERCOM 5 for the console UART and SERCOM 0 to connect to BTLC1000. The connection mapping is
shown in the following table.
Table 3-1. SAMR34-XPRO to BTLC1000ZR-XPRO Connection Mapping
2.Install the standalone Advanced Software Framework (ASF) package.
3.Download and install the Microchip SmartConnect App on the mobile phone, available in the Apple Store® for
iPhone and in the Google Play™ Store for Android.
Note: Atmel Studio offers predefined example projects for the SAM L21, SAM D21, SAM G55 and SAM 4S
extension boards.
Note: For more information on the previous releases, refer to the Atmel Studio Release Notes available on the
Microchip web page.
4.2 Build Procedure
Perform the following steps to build an example project. This example build procedure is developed using the SAM
L21 Xplained Pro Board, which is also valid for the other supported hardware platforms and IDEs (see Table 2-1).
1.Open Atmel Studio and select File > New > Example Project.
Figure 4-1. Creating a New Project
ATBTLC1000
Software Setup
2.In the New Example Project from ASF or the Extensions window:
2.1.Enter the application specific keyword in the search box; for example, Scan Parameter, Battery
Figure 4-4. Configuring the UART Flow Compiler Symbols
ATBTLC1000
Software Setup
6.For the Time Information Profile application, the user must select the compiler symbol based on the following:
– For Android devices: TP_ANDROID
– For iOS devices: NTP_ANDROID
Note: This step is applicable only for the Time Information Profile application.
Figure 4-5. Configuring the UART Flow Compiler Symbols for the Time Information Profile
Note: iOS requires a device supporting the Time Information Profile to include the service solicitation
advertisement type in the advertisement data. The above setting provides the configuration to build the Time
Information Profile for iOS or Android. The iOS natively supports Time Server and does not require a specific
mobile application. To enable the devices that are displayed on the iOS BLE devices page, the service
solicitation advertisement data type configuration is necessary.
7.To build the solution, go to Build > Build Solution.
Figure 4-6. Building Solution for Selected Application Example
8.The generated solution is downloaded into the SAM L21 XPro board through the USB cable. To program the
board, go to Tools > Device Programming.
Figure 4-7. Selecting Device Programming
9.In the EDBG (XXXXXXXX) Device Programming window, perform the following steps:
9.1.Select EDBG in Tool.
9.2.Click Apply and then click Read to read the Device Signature.
9.3.After reading the Device, click Program to program the device.
10. After flashing the example application into the SAM L21 Xpro board, it is ready to be used as a BLE device
that supports the selected application example.
Note:
1.To run the profile application, refer to Running the Demo.
2.In the case of HID and Broadcaster applications, refer to the following configuration sections.
4.2.1 HID Mouse and HID Keyboard Application Configuration
The user needs to modify a few macros in hid_device.h (HID profile) for configuring the profile for HID Mouse and
HID Keyboard applications as per the desired application use case.
2.The user must configure the desired number of reports in the application. Currently, a maximum of 10 reports
are supported.
#define HID_NUM_OF_REPORT (1)
3.The user must configure the desired number of service instances. Currently, a maximum of two services are
supported.
#define HID_SERV_INST (1)
Note: After configuring the profiles for HID Mouse and HID Keyboard, follow the steps mentioned in HID Mouse
Device and HID Keyboard Device, respectively.
4.2.2 Configuration of the Simple Broadcaster Application
• Simple Broadcaster application advertises the default configuration provided as follows:
– Non-connectable undirected advertisement event
– Broadcasts data in advertisement data packets only
– Broadcasts the following advertisement data types:
• Complete list of 16-bit service class UUIDs
• Complete local name
• Appearance
• The configuration and advertisement data types listed above can be changed by using the macros provided in
the simple_broadcaster_app.h file that is available in the \src\config\ directory.
Note: After configuration, follow the steps mentioned in 1.9 Simple Broadcaster Application.
4.2.3 Configuration of Observer Application
The default scanning parameters of Observer application are:
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as HID Mouse
Device application
DS50002640B-page 28
...........continued
Applications (Keywords)BLE Node 1BLE Node 2
ATBTLC1000
Application Demo
HID Keyboard Device ApplicationSupported by the Microchip
SmartConnect application only for
Android devices to act as Notepad text
editor app (HOGP Host role)
Battery Service ApplicationSupported by the Microchip
SmartConnect application for iPhone/
Android devices
Simple Broadcaster ApplicationSupported by the ATBTLC1000-MR/ZR
extension board and microcontroller to
act as Simple Broadcaster application
Device Information ServiceSupported by the Microchip
SmartConnect application for iPhone/
Android devices
Custom Serial Chat Profile
Application
Heart Rate Profile ApplicationSupported by the Microchip
Supported by Custom Serial Chat
(CSC) application for iPhone/Android to
send and receive data
SmartConnect application for iPhone/
Android devices to act as a Heart Rate
Data Collector
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as HID
Keyboard Device application
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Battery
Service application
Supported by Scanner application on
a mobile phone
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Device
Information Service application
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller with CSC application
to send and receive data
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Heart Rate
Sensor
Blood Pressure Profile ApplicationSupported by the Microchip
SmartConnect application for iPhone/
Android devices to act as a Blood
Pressure Monitor
Find Me Profile ApplicationSupported by the Microchip
SmartConnect application for iPhone/
Android devices to act as a Find Me
Locator
Phone Alert Status Profile
Application
Alert Notification Profile
Application
Multi-Role Peripheral MultiConnect Application
L2CAP Throughput ApplicationSupported by the ATBTLC1000-MR/ZR
Supported by the Microchip
SmartConnect application only for
Android devices to act as a Phone Alert
Status server
Supported by the Microchip
SmartConnect application only for
Android devices to act as a Notification
Provider
Supported by the ATBTLC1000-MR/ZR extension board, microcontroller, and
Microchip SmartConnect application to act as Peripheral or Central. This
supports maximum of eight connections
extension board and microcontroller to
act as L2CAP Central
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Blood
Pressure Sensor
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Find Me
Target
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Phone Alert
Status client
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Notification
Consumer
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as L2CAP
Peripheral
Eddystone Beacon ApplicationSupported by the Microchip
Direct Test Mode (DTM)
Application
Supported by the Microchip
SmartConnect application for iPhone/
Android devices to act as a Health
Thermometer Collector
SmartConnect application for iPhone/
Android devices to act as Beacon
Monitor
SmartConnect application for iPhone/
Android devices act as a AltBeacon
App (Monitor)
SmartConnect application for iPhone/
Android devices
Supported by the ATBTLC1000-MR/ZR
extension board and microcontroller to
act as a Transmitter (Tx) Test Board.
BLE performance analyzer tool
connected with target board using COM
port
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as HTP
application
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Beacon
Reporter
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Reporter
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as Eddystone
Beacon Application
Supported by the ATBTLC1000MR/ZR extension board and
microcontroller to act as a Receiver
(Rx) Test Board. BLE performance
analyzer tool connected with target
board using COM port
5.2 Console Logging
For the purpose of debugging, a logging interface can be implemented in the applications.
The logging interface utilizes the same EDBG port that connects to a supported Xplained Pro (XPro) platform. A
serial port monitor application (for example, TeraTerm) is opened and attached to the appropriate COM port
enumerated by the device on the PC.
5.3 Running the Demo
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.Press the Reset button on the supported Xplained Pro (XPro) platforms (see Table 2-1).
Note: The device is now ready to be used as selected application and starts to scan or advertise on the
button press. This button must be pressed only when the “Press button” is displayed on the console log
window. The same button is pressed to stop the device scan or advertise.
3.The device is in advertising mode and the device initialization message is displayed on the console window.
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 onboard status LED behavior.
Figure 5-8. Proximity Reporter Path Loss Plot Across Safe, Mid, and Danger Zone
Figure 5-9. Proximity Reporter Path Loss Console Log Alerts Notification
ATBTLC1000
Application Demo
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-10. Link Loss Pop-up on Proximity Monitor
ATBTLC1000
Application Demo
Figure 5-11. 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 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-12. Proximity Monitor – Reading Tx Power Service
ATBTLC1000
Application Demo
5.3.3 Proximity Monitor Application
Perform the following steps to run the Proximity Monitor application demo:
1.Connect one ATBTLC1000-MR/ZR device loaded with the Proximity Monitor example application code. Follow
the steps (1 and 2) from Initializing the Device.
2.Setup another ATBTLC1000-MR/ZR device with the Proximity Reporter application. Follow all the steps from
Initializing the Device. The device starts advertising.
3.The Proximity Monitor device then starts scanning for available devices in the vicinity and displays its
Bluetooth Device Address (BD) in the console window. The Proximity Reporter device found during the scan is
displayed in the console log window (refer to the following figure). Select the index number of that device to
establish connection with it.
Figure 5-13. Proximity Monitor Connection with a Proximity Reporter
4.When the connection is established, the Proximity Monitor sets the link loss alert value to “HIGH ALERT” at
the Proximity Reporter device. The Proximity Monitor also monitors the path loss, if the Proximity Reporter
device supports the optional “Immediate Alert” service and “Tx Power” service. The Proximity Reporter
example application supports both of these optional services.
The default alert settings are as follows:
– For HIGH ALERT, set high alert RSSI to -91dBm and above, alert status is indicated by LED, which must
be ON.
– For MILD ALERT, set RSSI to -70dBm to -90dBm, alert status is indicated by LED, which must be
toggling.
– For NO ALERT, set RSSI to -69dBm and below, alert status is indicated by LED, which must be OFF.
If the reporter device moves out of the proximity of the monitor device, the path loss crosses the threshold
values and the corresponding alert value is set; the alert notification is displayed on the console as shown
below.
4.Enter the pass-key displayed in the console log on the Bluetooth Pairing Request window of the iPhone and
click Pair. After the device is connected, “ATMEL-ANCS” appears in the MY DEVICES section on the iPhone.
Figure 5-17. Pairing and Connecting iPhone to ATMEL-ANCS
5.Now, the user can initiate a mobile terminated call to the iPhone. When the iPhone receives a call, the
corresponding incoming call alert is indicated on the device side console log window. Once the call is
terminated, the device waits for a new alert to occur, as shown in the following screen.
Figure 5-18. Console Display for Notification Received as Incoming Call Alert
5.3.5 Scan Parameters Application
Perform the following steps to run the Scan Parameters application demo:
1.Establish the connection between the device and mobile phone using the procedure listed in Running the
Demo.
2.When paired, the application displays the Scan Parameters and the Generic Information service.
Perform the following steps to run the Time Information Profile application demo for Android devices:
1.Establish the connection between the device and mobile phone using the procedure listed in Running the
Demo.
2.After the device is connected, the application displays Continuous Time Service, Next DST Change Service,
and Reference Time Update Service.
3.The user has to click on the services to read the characteristic values.
4.Press the SW0 button on the supported platform device to read the internally supported characteristic values
from the Android device.
5.The console log on the device side displays the values for all the characteristics supported by the device.
Figure 5-22. Console Display - All Supported Characteristic Values
5.3.7 HID Mouse Device Application
Perform the following steps to run the HID Mouse Device application demo:
1.Follow the steps from Initializing the Device.
2.In this demonstration, an Android device supporting HOGP is used. The HOGP profile is natively supported in
Android version 4.4 (Android KitKat) and higher. The mobile phone must include a Bluetooth chipset
supporting Bluetooth 4.0 or higher. On the mobile phone, enable Bluetooth in the Settings page to scan for the
devices. “ATMEL-HID” appears among the list of scanned devices. Select ATMEL-HID to connect to the
supported platform device.
Figure 5-23. HID (Mouse) Device Discovery on Bluetooth Settings Page
ATBTLC1000
Application Demo
3.Click ATMEL-HID to start the pairing procedure. A pop-up requesting the pass-key appears. Enter pass-key
4.After pairing is complete, the connected device is listed under Paired device.
Figure 5-25. Paired Devices
ATBTLC1000
Application Demo
5.The HID device side for the pairing and connection procedure is shown in the console log.
Figure 5-26. HID Mouse Device Console Log
6.After the device is connected to the mobile phone, the user can click on the SW0 button to simulate mouse
movement.
7.For every press of the button, the user can see a corresponding cursor movement on the HID host as
described below:
– First 5 button presses – cursor moves right
– Next 5 button presses – cursor moved down
– Next 5 button presses – cursor moves left
– Next 5 button presses – cursor moved up
The same sequence is repeated based on user input. The console log is shown in the following screen.
Perform the following steps to run the HID Keyboard device application demo:
1.Follow the steps from Initializing the Device.
2.In this demonstration, an Android device supporting HOGP is used. The HOGP profile is natively supported in
Android version 4.4 (Android KitKat) and higher. The mobile phone must include a Bluetooth chip-set
supporting Bluetooth 4.0 or higher. On the mobile phone, enable Bluetooth in the Settings page to scan for the
devices. “ATMEL-HID” appears among the list of scanned devices. Select ATMEL-HID to connect to the
supported platform device.
4.When the user disable on Stop Notify, the notifications are displayed in the console logs as:
Notification Disabled
5.During the connection, the SW0 button is used to disconnect the connection. If no connection exists, the SW0
button is used to start advertisement.
5.3.14 Blood Pressure Profile Application
Perform the following steps to run the Blood Pressure Profile application demo:
1.Establish the connection between the device and mobile phone using the procedure listed in Running the
Demo.
2.When the device is connected, the application displays Blood Pressure, Device Information Service and
Generic Information.
3.On entering the Blood Pressure service page, the mobile application enables the notifications and indications
for interim cuff pressure and blood pressure characteristics, respectively. The blood pressure sensor device
simulated by the device, sends the current blood pressure values after receiving the indications enabling
request. The corresponding console logs and mobile application screen are shown in the following screen.
Figure 5-41. Console Log for Blood Pressure Measurements
Figure 5-42. Blood Pressure Service Page after Receiving BP Indications
ATBTLC1000
Application Demo
4.The SW0 button can be used on the SAM L21 to receive updated blood pressure measurements. The blood
pressure sensor first sends the interim cuff pressure values as notifications and then sends the final blood
pressure measurements as indication. The blood pressure measurements sent by the blood pressure sensor
are simulated values. The following figures demonstrate the scenario after a SW0 button press.
Figure 5-43. Console Log for Blood Pressure Values after Button Press
3.Setup another ATBTLC1000-MR/ZR device with the Find Me application example loaded. Follow the steps (1
through 3) from Running the Demo. The device starts advertising.
4.The GAP Central (Find Me Locator) scans and then displays the list of all BLE devices that are advertising.
Find Me Target devices (GATT server role) are indicated with tag “---FMP”. Select the appropriate index
number for the Find Me Target. GAP Central (Find Me Locator) connects to the selected peer device.
Figure 5-52. Connecting GAP Central (Find Me Locator) with GAP Peripheral (Find Me Target)
5.The ATBTLC1000 as a GAP Central pairs with the connected peripheral. The ATBTLC1000-MR/ZR then acts
as a GAP Peripheral by advertising with Battery Service UUID in the advertisement data. Now the
ATBTLC1000-MR/ZR sends alert levels as a GAP Central, sends battery level notifications to the device
connected as a GAP Peripheral and also starts advertising with Connectable advertisement packets.
Figure 5-53. Device acting as Multi-Role to accept connections from GAP Central devices (Mobile)
6.The ATBTLC1000-MR/ZR acting as a GAP Peripheral (BAS) can connect to seven GAP central devices
(mobile devices through the Microchip SmartConnect application). Now, the ATBTLC1000-MR/ZR continues to
behave as Find Me Locator (GAP Central) and Battery Service Application (GAP Peripheral) simultaneously
with eight active connections. Continuous data transfer happens on all the links by the ATBTLC1000-MR/ZR
and even if one link gets disconnected, the data transfer happens on the other links.
5.3.19 L2CAP Throughput Application
This demonstration requires two ATBTLC1000-MR/ZR devices. Program one ATBTLC1000-MR/ZR device with the
L2CAP Peripheral and another one with the L2CAP Central application example. Perform the following steps to run
the Throughput application demo:
1.Follow the steps (1 and 2) from Initializing the Device for both devices.
2.The device initializes and start-up.
3.The Central device starts scanning and subsequently connects with the desired peripheral device. The
following log shows that both devices connected to confirm the connection status.
Figure 5-54. L2CAP Central Connection with L2CAP Peripheral
ATBTLC1000
Application Demo
Figure 5-55. L2CAP Peripheral Connection with a L2CAP Central
4.Once the connection is established, the peripheral device keeps sending the specified data and the central
device receives the same data in a given time. Eventually, calculated Throughput is displayed on the console
for both central and peripheral.
Figure 5-62. Beacon Radar Application in Distance Mode
5.Inside the proximity mode, if the scanner device is very near to the beacon. The user can see the product
information when the user is in close proximity to a given beacon device. When the user moves away from the
beacon device information content is not shown any more. It is an indication that the user is moved away from
the beacon device. The user can optionally close the message by clicking on close.
Figure 5-63. Beacon Radar Application in Proximity Mode
5.3.22 AltBeacon Application
Perform the following steps to run the AltBeacon application demo:
1.Follow the steps (1 and 2) from Running the Demo.
2.The beacon application initialization is displayed in the console.
Initializing AltBeacon Application
BLE AltBeacon Advertisement started
3.Start the Beacon application on the mobile phone (see Figure 5-50). In this demonstration, an iPhone is used
4.Tap on the AltBeacon icon for Major, Minor and UUID Value. The RSSI values are automatically updated
based on the movement of the scanner device. For more details about the AltBeacon device, the user can tap
on the pop-up message (which shows UUID, ID1 and ID2 values), as shown in the following figures.
Figure 5-64. AltBeacon Radar Application in Distance Mode
5.In proximity mode, the application opens the configured URL whenever the user comes in close proximity to
the configured beacon device. When the user moves away from the beacon device, the configured beacon is
not shown. It is just an indication that the user moved away from beacon device.
Figure 5-65. AltBeacon Radar Application in Proximity Mode
6.A new AltBeacon can be added to the Beacon list using the add button, as illustrated in the following figure.
4.Open the Beacons navigation tab to view the ranging screen. The Eddystone beacon device is shown on the
ranging screen with the Eddystone icon. The position of the beacon is based on the strength of the signal
received from RSSI. Click the Beacon icon to see a pop-up window showing the identity of the frame; in the
case of the EDDYSTONE_URL_APP, the shortened URL value is shown and in the case of the
EDDYSTONE_UID_APP, Namespace ID and Instance ID is shown.
Figure 5-68. Eddystone Beacons (both UID and URL beacons) ranged by Microchip SmartConnect
Application
5.Click the beacon pop-up window to view detailed information. The detailed view shows UID/URL and
telemetric information like battery voltage, beacon temperature, time since power-on, etc.. This telemetric
information is obtained from the Eddystone-TLM frames which are interleaved with Eddystone identifying
frames (UID/URL).
Figure 5-69. Detailed view of the Eddystone URL and UID beacon
6.In the EDDYSTONE_URL_APP, the detailed beacon information screen shows a Configure button. Click the
Configure button. It requests that the user puts the beacon into Configuration mode. The SW0 hardware
button present on the SAM L21 Xplained Pro board has to be long pressed (around 3 seconds) to enter into
Configuration mode.
7.Connect to the beacon in Configuration mode as shown in Figure 5-70. Once connected, the configurable
beacon parameters are listed out as shown in Figure 5-71.
Figure 5-70. Connecting to Beacon in Configuration Mode
Figure 5-71. Beacon Configuration Screen
8.Update the URL, Tx Power mode, beacon period, etc. and then save. Now, disconnect from the beacon and
enter the ranging screen. Once disconnected, the beacon device (ATBTLC1000-MR/ZR) enters into Beacon
mode and start sending Eddystone URL frames with the updated values. The ranging console log screen
shows the beacon with new URL value.
9.The beacon configuration page also provides a reset button that can set all the parameters to its default
factory settings.
5.3.23.1 Demo with Physical Web Application
Eddystone is the backbone of the Physical Web initiative from Google. For more information on the Physical Web,
refer to https://google.github.io/physical-web/.
The following demo shows how the Eddystone application running on an ATBTLC1000-MR/ZR device works
seamlessly with the Physical Web Android application.
1.Install the Physical Web Android application in a BLE compatible android device.
2.Build and run the EDDYSTONE_URL_APP in the hardware setup.
3.Open the Physical Web app to detect the URL emitted by the beacon node, as shown in the following figure.
Figure 5-73. Physical Web App Detecting Eddystone-URL
ATBTLC1000
Application Demo
4.Click the Menu button to open the “Edit URL” option; this requests that the user to put the beacon in
Configuration mode. Pressing the SW0 button on the Xplained Pro board for 3 seconds (long press) puts the
beacon device in Configuration mode.
5.The URL configuration window will pop-up once the Android device establishes connection with the beacon’s
configuration service, as shown in the following figure. Change the URL value to a different one; make sure to
use a shortened URL as the size of encoded URL is limited to 17 bytes. Google’s URL shortener can be used
for this purpose https://goo.gl/.
Figure 5-74. URL Configuration on Physical Web App
5.3.24 Direct Test Mode Application
This demonstration requires two ATBTLC1000-MR/ZR devices loaded with the Direct Test Mode example application
code. Perform the following steps to run the DTM with the Performance Analyzer tool.
3.Start the Direct Test Mode, configure one board as Tx and the other one as Rx. Make sure to select the same
RF Channel for both Rx and Tx during the test and start the Rx test before the Tx test in order not to miss any
packets. The user must see non-zero packets received at the Rx side notifying successful transmission and
reception.
Note: Any side can be replaced by standard compliant test equipment.
4.Select Tx Power (dBm) other than -55 dBm, if the devices are relatively far from each other.
The user can add another service such as the "Device Information Service" or "Battery Service" to the application by
using the ASF wizard as mentioned in the following screen:
1.Go to the Atmel Studio ASF > ASF Wizard as shown in the following figure.
Figure 6-1. Invoking ASF Wizard
ATBTLC1000
Adding a BLE Standard Service
2.In the ASF Wizard window, enter “BLE” in the search box, as shown in the following figure.
Figure 6-2. ASF BLE Services and Components Window
3.Select the required BLE Services/Profiles Component, as shown in the following figure.
Figure 6-3. Adding BLE-Device Information Service and its Component
4.Newly added BLE service component must be available in the following directory: src\thirdparty
\wireless\ble_sdk\ble_services\device_information, as shown in the following figure.
Figure 6-4. Hierarchy of Newly Added Service Component
5.Use the APIs, as mentioned in the Device Information Service (device_info.h), for incorporating this
functionality, if required in the application.
/**@brief Update the DIS characteristic value after defining the services using
dis_primary_service_define
*
* @param[in] dis_serv dis service instance
* @param[in] info_type dis characteristic type to be updated
* @param[in] info_data data need to be updated
* @return @ref AT_BLE_SUCCESS operation completed successfully.
* @return @ref AT_BLE_FAILURE Generic error.
*/
at_ble_status_t dis_info_update(dis_gatt_service_handler_t *dis_serv , dis_info_type
info_type,
dis_info_data* info_data, at_ble_handle_t conn_handle);
/**@brief DIS service and characteristic initialization (Called only once by user).
*
* @param[in] device_info_serv dis service instance
*
* @return none
*/
void dis_init_service(dis_gatt_service_handler_t *device_info_serv );
/**@brief Register a dis service instance inside stack.
*
* @param[in] dis_primary_service dis service instance
*
* @return @ref AT_BLE_SUCCESS operation completed successfully
The Custom Serial Chat profile consists of a custom serial chat service. Both the mobile app and the host (HOST
MCU + ATBTLC1000-MR/ZR) need to expose this service. The custom serial chat service is instantiated as a primary
service.
The UUID value assigned to custom serial chat service is: fd5abba0-3935-11e5-85a6-0002a5d5c51b.
7.2 Service Characteristic
The following characteristics are exposed in the Custom Serial Chat service. Only one instance of each characteristic
is permitted within this service.
Table 7-1. Custom Serial Chat Service Characteristics
ATBTLC1000
Characteristic NameRequirementMandatory
EndpointMNotifyDepend on BLE_PAIR_ENABLE
Client characteristic configuration
descriptor
Note:
1.The security permission depends on the BLE_PAIR_ENABLE macro, defined inside the ble_manager.h.
2.If BLE_PAIR_ENABLE is set true, then the security permission of the Endpoint characteristic is readable with
authentication and writable with authentication.
3.If BLE_PAIR_ENABLE is set false, then the security permission of Endpoint characteristic is none.
7.3 Endpoint
The Endpoint characteristic is used to transmit the chat data provided by the user on the terminal (device side) and
on the mobile chat screen (mobile side).
The UUID value assigned to Endpoint characteristic is fd5abba1-3935-11e5-85a6-0002a5d5c51b.
7.3.1 Characteristic Behavior
When the client characteristic configuration descriptor is configured for the notification by a remote device, the user
can send chat text message to the remote device.
Note: The chat text is sent as a notification from the sender (mobile app or ATBTLC1000-MR/ZR based device).
Hence, the client characteristic configuration descriptor is always configured for notifications (in the Custom Serial
Chat service instance on the mobile application and host).
The following diagram illustrates the various layers in the BluSDK Architecture for implementing various applications.
The External host can be supported hardware platforms and IDEs (see 2. Supported Hardware Platforms and IDEs).
9. Hardware Flow Control for 4-Wire Mode eFuse Write Procedure
This procedure is applicable only for the MR/CSP/QFN packages. The ATBTLC1000-ZR module comes with a 4-wire
mode eFuse by default from the factory.
While writing data to the eFuse, the data written can never be changed (that is, if a value of '1' is written to
a specific eFuse, those contents can never be reverted back to its original value). To configure the eFuse
controller for accessing the eFuse contents, the user must enter the valid arguments for eFuse
configuration.
1.Connect the SAM-ICE to the J108 header and the ATBTLC1000 XPRO to any MCU board to power it up. For
the J108 location, refer to the following assembly drawing. Ensure that the “ATBTLC1000 chip enable” and
“Wakeup pin” are driven high throughout the eFuse process.
Note: For the ATBTLC1000 UART hardware flow control 4-wire mode, Bank-5 and Block-3 are
configured.
5.2.To enable the ATBTLC1000 UART hardware flow control eFuse configuration, use command
EfuseBlockProgram.exe –v 5 3. The example output shown in following figure is for reading
the eFuse.
Figure 9-4. Reading eFuse Values
6.Writing and verifying the ATBTLC1000 eFuse value:
6.1.When writing the data to eFuse, the data written can never be changed (that is, if a value '1' is written
to a specific eFuse, those contents can never be reverted back to its original value. To configure the
6.3.To enable the ATBTLC1000 UART hardware flow control 4-wire mode, Bank-5 and Block-3 must be
written as “10000000” (inputs are in hex). The example write configuration to enable the hardware
flow control is shown in following figure.
Microchip provides online support via our website at http://www.microchip.com/. This website is used to make files
and information easily available to customers. Some of the content available includes:
• 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 (FAQs), technical support requests, online
discussion groups, Microchip design partner 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
Product Change Notification Service
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will
receive email notification whenever there are changes, updates, revisions or errata related to a specified product
family or development tool of interest.
To register, go to http://www.microchip.com/pcn and follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Embedded Solutions Engineer (ESE)
• Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to
help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website 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, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime,
BitCloud, chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox,
KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST,
MOST logo, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer,
QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon,
TempTrackr, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, FlashTec, Hyper Speed Control,
HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus,
ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider,
Vite, WinPath, and ZL 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, BlueSky, 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, 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.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks 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.