BM70/71 Bluetooth Low Energy Module User's Guide Bm70 User
User Manual:
Open the PDF directly: View PDF .
Page Count: 238 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Table of Contents
- Preface
- Introduction
- Document Layout
- Conventions Used in this Guide
- Recommended Reading
- BM70/71 Data Sheet (DS60001372)
- Bluetooth Core Specification
- The Microchip WebSite
- Development Systems Customer Change Notification Service
- Customer Support
- Document Revision History
- Revision A (October 2016)
- Chapter 1. Overview
- 1.1 Operation Overview
- Figure 1-1: BM70/71 Module Operation Overview
- Figure 1-2: State Machine Diagram
- Figure 1-3: BM70/71 Module System operation
- Table 1-1: Functionality and Configuration options (Continued)
- Table 1-2: Status Indication Pins
- Table 1-3: Configuration of Status Indication Pins
- Table 1-4: Pins for Flow Control Functionality
- Table 1-5: Pins for Pairing Key Functionality
- Table 1-6: Pins For Link Drop Functionality
- Table 1-7: Battery Level Functionality
- Table 1-8: Pins For LOW_BATTERY_IND Functionality
- Table 1-9: Configuration Range
- Table 1-10: Pins for RSSI_IND Functionality
- Table 1-11: BM70/71 Configuration Range
- Table 1-12: Pins for RF_ACTIVE_IND Functionality
- Table 1-13: Configuration values for Discoverability
- Table 1-14: Configuration values for Connections
- Table 1-15: States and Applicable Modes of the BM70/71 Module
- Table 1-16: Pins for General I/O Functionality
- Table 1-17: Analog Pin Functionality
- Table 1-18: Analog Channel Functionality
- Table 1-19: PWM Channel Pin Functionality
- Table 1-20: Bm70/71 Command Set protocol Messages
- Table 1-21: LED Indication Configuration (Continued)
- Table 1-22: LED Indication Functionality
- Table 1-23: Battery Level Functionality
- Table 1-24: Pins for LED Indication
- Table 1-25: Battery Level Functionality
- Table 1-26: Wake-up Indication Functionality
- Table 1-27: Pin for Wake-up Indication
- Table 1-28: UART Transmit Functionality
- Table 1-29: Pins for UART Transmit
- Table 1-30: UART Receive Indication Functionality
- Table 1-31: Pins for UART Receive Indication
- Table 1-32: Reference for determining Pairing method
- Table 1-33: Configuration Parameters (Continued)
- Chapter 2. Operating Modes, Configuration and Control
- 2.1 Hardware Interface
- 2.2 BM70/71 Mode Selection
- 2.3 Command Set Protocol
- Table 2-2: General Message format of the Command Set protocol
- Table 2-3: Example of the Checksum Value
- Table 2-4: Hardware Pin Functionality for UART Communication
- Table 2-5: Command format, Host to BM70/71 module
- Table 2-6: Response format, BM70/71 module to Host
- Table 2-7: Parameter Values and Lengths
- Table 2-8: Command Format, Host to BM70/71 module
- Table 2-9: Command Format, Host to BM70/71 module
- Table 2-10: Response format, BM70/71 module to Host
- Table 2-11: Command Format, Host to BM70/71 module
- Table 2-12: Parameter Values and Lengths
- Table 2-13: Response format, BM70/71 module to Host
- Table 2-14: Parameter Values and Lengths
- Table 2-15: Command Format, Host to BM70/71 module
- Table 2-16: Response format, BM70/71 module to Host
- Table 2-17: Parameter Values and Lengths
- Table 2-18: Status Report Response format
- Table 2-19: Command Format, Host to BM70/71 module
- Table 2-20: Response format, BM70/71 module to Host
- Table 2-21: Parameter Values and Lengths
- Table 2-22: Command Format, Host to BM70/71 module
- Table 2-23: Parameters Values and Lengths
- Table 2-24: Command Format, Host to BM70/71 module
- Table 2-25: Command Format, Host to BM70/71 module
- Table 2-26: Response format, BM70/71 module to Host
- Table 2-27: Parameters Values and Lengths
- Table 2-28: Command Format, Host to BM70/71 module
- Table 2-29: Parameters Values and Lengths
- Table 2-30: Command Format, Host to BM70/71 module
- Table 2-31: Response format, BM70/71 module to Host
- Table 2-32: Parameter Values and Lengths
- Table 2-33: Command Format, Host to BM70/71 module
- Table 2-34: Parameter Values and Lengths
- Table 2-35: Command Format, Host to BM70/71 module
- Table 2-36: Parameter Values and Lengths
- Table 2-37: Response format, BM70/71 module to Host
- Table 2-38: Parameter Values and Lengths
- Table 2-39: Command Format, Host to BM70/71 module
- Table 2-40: Parameters Values and Lengths
- Table 2-41: Command Format, Host to BM70/71 module
- Table 2-42: Response format, BM70/71 module to Host
- Table 2-43: Parameter Values and Lengths
- Table 2-44: Command Format, Host to BM70/71 module
- Table 2-45: Parameter Values and Lengths
- Table 2-46: Command Format, Host to BM70/71 module
- Table 2-47: Parameter Values and Lengths
- Table 2-48: Command Format, Host to BM70/71 module
- Table 2-49: Parameter Values and Lengths
- Table 2-50: Command Format, Host to BM70/71 module
- Table 2-51: Parameter Values and Lengths
- Table 2-52: Command Format, Host to BM70/71 module
- Table 2-53: Parameter Values and Lengths
- Table 2-54: Command Format, Host to BM70/71 module
- Table 2-55: Parameter Values and Lengths
- Table 2-56: Command Format, Host to BM70/71 module
- Table 2-57: Command Format, Host to BM70/71 module
- Table 2-58: Parameter Values and Lengths
- Table 2-59: Command Format, Host to BM70/71 module
- Table 2-60: Command Format, Host to BM70/71 module
- Table 2-61: Parameter Values and Lengths
- Table 2-62: Command Format, Host to BM70/71 module
- Table 2-63: Parameter Values and Lengths
- Table 2-64: Response format, BM70/71 module to Host
- Table 2-65: Parameter Values and Lengths
- Table 2-66: Command Format, Host to BM70/71 module
- Table 2-67: Parameter Values and Lengths
- Table 2-68: Command Format, Host to BM70/71 module
- Table 2-69: Parameter Values and Lengths
- Table 2-70: Command Format, Host to BM70/71 module
- Table 2-71: Parameter Values and Lengths
- Table 2-72: Response format, BM70/71 module to Host
- Table 2-73: Parameter Values and Lengths
- Table 2-74: Command Format, Host to BM70/71 module
- Table 2-75: Parameter Values and Lengths
- Table 2-76: Response format, BM70/71 module to Host
- Table 2-77: Parameter Values and Length
- Table 2-78: Command Format, Host to BM70/71 module
- Table 2-79: Parameter Values and Lengths
- Table 2-80: Command Format, Host to BM70/71 module
- Table 2-81: Parameter Values and Lengths
- Table 2-82: Command Format, Host to BM70/71 module
- Table 2-83: Parameter Values and Lengths
- Table 2-84: Command Format, Host to BM70/71 module
- Table 2-85: Parameter Values and Lengths
- Table 2-86: Command Format, Host to BM70/71 module
- Table 2-87: Parameter Values and Lengths
- Table 2-88: Response format, BM70/71 module to Host
- Table 2-89: Parameter Values and Lengths
- Table 2-90: Command Format, Host to BM70/71 module
- Table 2-91: Command Format, Host to BM70/71 module
- Table 2-92: Parameter Values and Lengths
- Table 2-93: Command Format, Host to BM70/71 module
- Table 2-94: Parameter Values and Lengths
- Table 2-95: Command Format, Host to BM70/71 module
- Table 2-96: Parameter Values and Lengths
- Table 2-97: Command format, Host to BM70/71 module
- Table 2-98: Parameter Values and Lengths
- Table 2-99: Command format, Host to BM70/71 module
- Table 2-100: Parameter Values and Lengths
- Table 2-101: Command format, Host to BM70/71 module
- Table 2-102: Parameter Values and Lengths
- Table 2-103: Command format, Host to BM70/71 module
- Table 2-104: Parameter Values and Lengths
- Table 2-105: Event format, BM70/71 module to Host
- Table 2-106: Event format, BM70/71 module to Host
- Table 2-107: Parameter Values and Lengths
- Table 2-108: Event format, BM70/71 module to Host
- Table 2-109: Parameter Values and Lengths
- Table 2-110: Event format, BM70/71 module to Host
- Table 2-111: Parameter Values and Lengths
- Table 2-112: Event format, BM70/71 module to Host
- Table 2-113: Parameter Values and Lengths
- Table 2-114: Event format, BM70/71 module to Host
- Table 2-115: Parameter Values and Lengths
- Table 2-116: Event format, BM70/71 module to Host
- Table 2-117: Parameter Values and Lengths
- Table 2-118: Event Format, BM70/71 module to Host
- Table 2-119: Parameter Values and Lengths (Continued)
- Table 2-120: Event format, BM70/71 module to Host
- Table 2-121: Parameter Values and Lengths
- Table 2-122: Event format, BM70/71 module to Host
- Table 2-123: Parameter Values and Lengths
- Table 2-124: Event format, BM70/71 module to Host
- Table 2-125: Parameter Values and Lengths
- Table 2-126: Event format, BM70/71 module to Host
- Table 2-127: Parameter Values and Lengths
- Table 2-128: Event format, BM70/71 module to Host
- Table 2-129: Parameter Values and Lengths
- Table 2-130: Event format, BM70/71 module to Host
- Table 2-131: Parameter Values and Lengths
- Table 2-132: Event format, BM70/71 module to Host
- Table 2-133: Parameter Values and Lengths
- 2.4 Configuration Protocol
- 2.5 Programming Protocol
- 2.6 Direct Test Protocol
- Chapter 3. BM70/71 PICtail™/PICtail Plus EVB
- 3.1 Kit Contents
- 3.2 BM70/71 EVB Features Overview
- 3.3 Hardware Features
- Figure 3-5: BM70 EVB block diagram
- Figure 3-6: BM71 EVB block diagram
- Figure 3-7: UART connection to BM70 EVB DUT
- Table 3-5: usb to uart interface u10 (Header J3)
- Table 3-6: VBAT and Ground connector (J10 and J2)
- Table 3-7: GPIO Functionality of USB to UART (Header JP10)
- Table 3-8: I2C interface (Header jp12)
- Table 3-9: connector jp13
- Table 3-10: Power Source option connector
- Table 3-11: Serial Flash Interface J4 (BM70 only)
- 3.4 Getting Started - BM70/71 EVB Example Configuration
- Figure 3-9: Configuration Tool Window
- Figure 3-10: Loading Option Window
- Figure 3-11: Open Dialog Box
- Figure 3-12: Configuration Tool Window
- Figure 3-13: Main Feature Window
- Figure 3-14: Configuring PARAMETERS - System Setup
- Figure 3-15: Advertising Data Setting
- Figure 3-16: Configuration Tool Main Window
- Figure 3-17: SW7 in Test Mode
- Figure 3-18: Jumper and BM70 EVB connection Details
- Figure 3-19: Configuration Setup
- Figure 3-20: Read/Write Flash
- Figure 3-21: Message Box
- Figure 3-22: SW7 in Application Mode
- Figure 3-23: Power-On BM70 EVB
- Figure 3-24: Enabling Bluetooth and mBIoT Application
- Figure 3-25: Select BM70/BM71 BLE UART
- Figure 3-26: Discovered Devices View
- Figure 3-27: Connected Device View
- Figure 3-28: Device Information
- Figure 3-29: Device Information
- Figure 3-30: BLE Link Connection
- 3.5 Firmware Programming Procedure
- Figure 3-31: SW7 in Test Mode
- Figure 3-32: Firmware Programming Setup
- Figure 3-33: Firmware Update Tool Window - Port Connect
- Figure 3-34: Firmware Update Tool Window
- Figure 3-35: Selecting the Flash Code Files
- Figure 3-36: Firmware Update
- Figure 3-37: Firmware Update Finish
- Figure 3-38: Entering Parameters
- Figure 3-39: Verify Firmware Version
- Appendix A. BM70 EVB Schematics
- A.1 BM70 EVB Reference Schematics
- Appendix B. BM71 EVB Schematics
- B.1 BM71 EVB Reference Schematics
- Appendix C. Commands Summary Quick Reference
- C.1 Quick Reference of Host to BM70/71 Module Commands
- C.2 Quick Reference of BM70/71 Module to Host Event Responses
- Worldwide Sales and Service

2016 Microchip Technology Inc. DS50002542A
BM70/71 Bluetooth®
Low Energy Module
User’s Guide

DS50002542A-Page 2 2016 Microchip Technology Inc.
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.
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.
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.
QUALITY MANAGEMENT S
YSTEM
CERTIFIED BY DNV
== ISO/TS 16949 ==
Trademarks
The Microchip name and logo, the Microchip logo, AnyRate,
dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq,
KeeLoq logo, Kleer, LANCheck, LINK MD, MediaLB, MOST,
MOST logo, MPLAB, OptoLyzer, PIC, PICSTART, PIC32 logo,
RightTouch, SpyNIC, SST, SST Logo, SuperFlash and UNI/O
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.
Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut,
BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM,
dsPICDEM.net, Dynamic Average Matching, DAM, ECAN,
EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip
Connectivity, JitterBlocker, KleerNet, KleerNet logo, MiWi,
motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB,
MPLINK, MultiTRAK, NetDetach, Omniscient Code
Generation, PICDEM, PICDEM.net, PICkit, PICtail,
PureSilicon, RightTouch logo, REAL ICE, Ripple Blocker,
Serial Quad I/O, 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 trademarks 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.
© 2016, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
ISBN: 978-1-5224-1022-5

2016 Microchip Technology Inc. DS50002542A-page 3
Object of Declaration: BM70/71 Bluetooth® Low Energy Module

DS50002542A-page 4 2016 Microchip Technology Inc.
NOTES:

BM70/71 BLUETOOTH® LOW ENERGY
MODULE USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 5
Table of Contents
Chapter 1. Overview
1.1 Operation Overview ...................................................................................... 15
Chapter 2. Operating Modes, Configuration and Control
2.1 Hardware Interface ....................................................................................... 63
2.2 BM70/71 Mode Selection ............................................................................. 64
2.3 Command Set Protocol ................................................................................ 66
2.4 Configuration Protocol ................................................................................ 190
2.5 Programming Protocol ................................................................................ 191
2.6 Direct Test Protocol .................................................................................... 192
Chapter 3. BM70/71 PICtail™/PICtail Plus EVB
3.1 Kit Contents ................................................................................................ 193
3.2 BM70/71 EVB Features Overview .............................................................. 194
3.3 Hardware Features ..................................................................................... 199
3.4 Getting Started - BM70/71 EVB Example Configuration ............................ 208
3.5 Firmware Programming Procedure ............................................................ 223
Appendix A. BM70 EVB Schematics
A.1 BM70 EVB Reference Schematics ............................................................ 231
Appendix A. BM70 EVB Schematics
B.1 BM71 EVB Reference Schematics ............................................................ 233
Appendix A. BM70 EVB Schematics
C.1 Quick Reference of Host to BM70/71 Module Commands ........................ 235
C.2 Quick Reference of BM70/71 Module to Host Event Responses .............. 237

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 6 2016 Microchip Technology Inc.

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 7
Preface
INTRODUCTION
This chapter contains general information that will be useful to know before using the
BM70/71 module. Items discussed in this chapter include:
•Document Layout
•Conventions Used in this Guide
•Recommended Reading
•The Microchip WebSite
•Development Systems Customer Change Notification Service
•Customer Support
•Document Revision History
DOCUMENT LAYOUT
This document describes how to use the BM70/71 module, as a development tool to
emulate and debug firmware on a target board. This user’s guide is composed of the
following chapters:
•Chapter 1. “Overview” provides an overview of the BM70/71 module and its
features.
•Chapter 2. “Operating Modes, Configuration and Control” describes the mini-
mum hardware interface required for configuring and controlling the BM70/71
module and the protocols used to communicate with the BM70/71 module.
•Chapter 3. “BM70/71 PICtail™/PICtail Plus EVB” provides information about
various steps involved in configuring the BM70/71 module mounted on the Evalu-
ation Board (EVB) hardware and setting up a connection between the BM70/71
EVB and a smartphone using the Bluetooth Low Energy (BLE) link. It also
describes various steps involved in downloading the Firmware into the BM70 or
BM71 module.
NOTICE TO CUSTOMERS
All documentation becomes dated, and this manual is no exception. Microchip tools and
documentation are constantly evolving to meet customer needs, so some actual dialogs
and/or tool descriptions may differ from those in this document. Please refer to our website
(www.microchip.com) to obtain the latest documentation available.
Documents are identified with a “DS” number. This number is located on the bottom of each
page, in front of the page number. The numbering convention for the DS number is
“DSXXXXXXXXA”, where “XXXXXXXX” is the document number and “A” is the revision level
of the document.
For the most up-to-date information on development tools, see the MPLAB® X IDE online help.
Select the Help menu, and then Topics to open a list of available online help files.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 8 2016 Microchip Technology Inc.
•Appendix A. “BM70 EVB Schematics” provides the BM70 EVB reference
schematics.
•Appendix B. “BM71 EVB Schematics” provides the BM71 EVB reference
schematics.
•Appendix C. “Commands Summary Quick Reference” provides the quick
references of commands used to/from the host and the BM70/71 module.

Preface
2016 Microchip Technology Inc. DS50002542A-Page 9
CONVENTIONS USED IN THIS GUIDE
This manual uses the following documentation conventions:
DOCUMENTATION CONVENTIONS
Description Represents Examples
Italic characters Referenced books MPLAB IDE User’s Guide
Emphasized text ...is the only compiler...
Initial caps A window the Output window
A dialog the Settings dialog
A menu selection select Enable Programmer
Quotes A field name in a window or
dialog
“Save project before build”
Underlined, italic text with
right angle bracket
A menu path File > Save
Bold characters A dialog button Click OK
A tab Click the Power tab
Text in angle brackets < > A key on the keyboard Press <Enter>, <F1>
Plain Courier New Sample source code #define START
Filenames autoexec.bat
File paths c:\mcc18\h
Keywords _asm, _endasm, static
Command-line options -Opa+, -Opa-
Bit values 0, 1
Constants 0xFF, ‘A’
Italic Courier New A variable argument file.o, where file can be any
valid filename
Square brackets [ ] Optional arguments mcc18 [options] file
[options]
Curly brackets and pipe
character: { | }
Choice of mutually exclusive
arguments; an OR selection
errorlevel {0|1}
Ellipses... Replaces repeated text var_name [, var_name...]
Represents code supplied by
user
void main (void)
{ ...
}
Notes A Note presents information
that we want to re-emphasize,
either to help you avoid a
common pitfall or to make you
aware of operating differences
between some device family
members. A Note can be in a
box, or when used in a table
or figure, it is located at the
bottom of the table or figure.
Note 1: This is a note used in a
table.
Note: This is a standard
note box.
CAUTION
This is a caution note.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 10 2016 Microchip Technology Inc.
RECOMMENDED READING
This user’s guide describes how to use the BM70/71 module. The following Microchip
document is available and is recommended as a supplemental reference resource.
BM70/71 Data Sheet (DS60001372)
Refer to this document for detailed information on the BM70/71 module. Reference
information found in this data sheet includes:
• BM70/71 module features and pin configurations
• Electrical specifications
• Reference circuits
Bluetooth Core Specification
Refer to this web page for detailed information on Bluetooth Core Specifications at:
https://www.bluetooth.com/specifications/bluetooth-core-specification
THE MICROCHIP WEBSITE
Microchip provides online support via our website at: http://www.microchip.com. This
website makes files and information easily available to customers. Accessible by most
Internet browsers, the website 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 (FAQs), technical
support requests, online discussion groups, Microchip consultant program
member listings
•Business of Microchip – Product selector and ordering guides, latest Microchip
press releases, listings of seminars and events; and listings of Microchip sales
offices, distributors and factory representatives

Preface
2016 Microchip Technology Inc. DS50002542A-Page 11
DEVELOPMENT SYSTEMS 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 website at www.microchip.com, click on Customer
Change Notification and follow the registration instructions.
The Development Systems product group categories are:
•Compilers – The latest information on Microchip C compilers and other language
tools
•Emulators – The latest information on the Microchip in-circuit emulator, MPLAB®
REAL ICE™
•In-Circuit Debuggers – The latest information on the Microchip in-circuit
debugger, MPLAB ICD 3
•MPLAB X IDE – The latest information on Microchip MPLAB X IDE, the
Windows® Integrated Development Environment for development systems tools
•Programmers – The latest information on Microchip programmers including the
PICkit™ 3 development programmer
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 website at: http://support.microchip.com.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 12 2016 Microchip Technology Inc.
DOCUMENT REVISION HISTORY
Revision A (October 2016)
• Original release of this document.

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 13
Chapter 1. Overview
Microchip’s BM70 and BM71 modules are fully certified Bluetooth Low Energy (BLE)
modules. The BM70 and BM71 modules use Microchip’s IS1870 and IS1871 chips,
respectively. These chips or Integrated Circuits (IC) include the BLE RF transceiver,
and a certified Bluetooth 4.2 BLE software stack. The BM70/71 module is designed to
work with a host microcontroller, generating flexible BLE-based functionality to the end
target application. The BM70/71 module's operation or behavior is controlled through
a set of communication protocols over a UART interface. The target application can
gain the following BLE-related functionality to control the BM70/71 module by using the
commands in these communication protocols:
• Bluetooth core 4.2 specification support with LE Secure Connection (LESC)
pairing and LE Data Length Extension:
- Supports LESC pairing methods such as “Just Works”, “Passkey Entry”, and
“Numeric Comparison”. The I/O capabilities of the module are configurable to
fit with the end target application requirements. The I/O capabilities determine
the actual method used for LESC pairing
- Supports LE Data Length extension for up to 104 bytes
• BLE Capability – Generic Access Profile (GAP) Roles:
- Broadcaster
- Observer
- Peripheral
-Central
• BLE Capability – GAP Modes:
- Broadcast
- Discoverable
- Non-connectable, Directed-connectable, Undirected-connectable
- Bondable
• BLE Capability – GAP Procedures:
- Observation
- General-connection establishment
- Connection parameter update
- Terminate connection
- Bonding
• BLE Capability – Generic Attribute (GATT) Profile, both GATT Client/Server roles
are supported:
- Server configuration
- Service discovery
- Characteristic discovery
- Characteristic descriptor discovery
- Read/Write a characteristic value
- Notification/Indication of a characteristic value
- Reading/Writing a characteristic descriptor

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 14 2016 Microchip Technology Inc.
In addition to the BLE-related functionality, the module provides a peripheral and gen-
eral I/O functionality, which can be controlled by using the applicable commands over
the UART interface. The available I/O and peripheral features are determined by the
specific module being used.
The hardware features enabled by the end target application are determined by the
configuration settings applied in the module. This document provides the details
regarding various protocols used to configure, control the behavior and program the
module.
At a high level, a designer can implement the following work flow when developing a
host application with the BM70/71 module:
• If applicable, program the BM70/71 module with the latest firmware (optional,
based on end target application requirements)
• To help verify the module placement on a PCB, a designer can invoke the
module's test mode to confirm BLE output power, as per the BLE specification
• Configure the BM70/71 module functionality for the application's requirements
• Once configured, control the BM70/71 BLE and hardware behavior by sending the
appropriate commands from the host
• During the production stage, a designer can invoke the module's test mode to
confirm BLE output power, as per the BLE specification in their end product
Overall, the designer of the target application is responsible for determining the
section(s) of the customizable BLE and hardware functionality to be used in the
BM70/71 module. Some BLE devices are “sources” of data/information while others
are “users” of this data/information. The flexibility of the BM70/71 BLE solution allows
master-central/slave-peripheral devices to be designed and implemented.
Note: For more information on the I/O and peripheral features of the module, refer
to the “BM70/71 Data Sheet” (DS60001372), which is available for down-
load from the Microchip website: www.microchip.com/BM70.

Overview
2016 Microchip Technology Inc. DS50002542A-Page 15
1.1 OPERATION OVERVIEW
It is possible to build a BLE product by using multiple different stack splits. The firmware
programmed into (or provided for) the BM70/71 module enable users to partition their
system so that the embedded application can run on a separate microcontroller (MCU).
In this design, the BLE controller and host (which runs the BLE stack) are in the
IS1870/71 chip on the BM70/71 module. Figure 1-1 illustrates an overview of system
partitioning with the application running on another chip or microcontroller. Advantages
of system partitioning are that the application chip can be very small (i.e, 8-bit micro-
controller with a small memory footprint and few resources), or can be a low-powered
microcontroller. The interface between the external host chip and the BM70/71 module
is a simple UART interface. The communication occurs over the UART through a set
of protocols.
FIGURE 1-1: BM70/71 MODULE OPERATION OVERVIEW
The BM70/71 module has configurable hardware and BLE functionality. The user can
configure the functionality required from the BM70/71 module to meet the end target
application's requirements. The BM70/71 module operation is governed by the config-
uration settings applied by the host. This section provides the details of all the possible
functions that the host can apply to the BM70/71 module.
Note: In this document, the term “host” will be used to refer to the
chip/microcontroller which runs the applications. The term “host” does not
mean the internal BLE host controller of the IS1870/71 already present in
the IC.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 16 2016 Microchip Technology Inc.
1.1.1 Configuration Overview
Configuring the BM70/71 module involves putting the device in Configure mode, and
sending commands over the UART interface from the configuration protocol to
enable/disable functionality. This configuration is stored in non-volatile memory, so the
settings are retained even after a power cycle and they remain in effect until there is a
change. After configuring the BM70/71 module, the host will need to put the module in
Application/Run mode, and send commands over the UART interface from the “Com-
mand Set” protocol to control the BLE and hardware functions over the UART interface.
For more information on switching between modes and communication protocols, refer
to Chapter 2. “Operating Modes, Configuration and Control”.
1.1.2 System Operation
The BM70/71 module has two main configuration options which affect the overall BLE
and hardware behavior available to the host. The two configurations are:
• Auto Operation Configuration: Auto Operation restricts the available BLE
operation by only allowing the BLE peripheral to act as a raw data pipe. This is
compatible with hosts who only require the BM70/71 module to act as a virtual
UART cable between the host and the remote peer device
• Manual Operation Configuration: Manual Operation provides the host the most
functionality and control over the BM70/71 BLE protocol and operation. This
configuration is used by a host to leverage the flexibility and feature set offered by
both the BLE protocol and the BM70/71 module

Overview
2016 Microchip Technology Inc. DS50002542A-Page 17
Figure 1-2 illustrates the internal logic of the BM70/71 module as a state machine with
three states. Each state handles a specific portion of the overall BLE operation. When
the host chooses Auto Operation or Manual Operation, the following occurs:
• The number of events processed by the BM70/71 module in each state is
determined
• The way events are generated by the host is determined
Auto Operation has a reduced number of events in each state because the available
BLE functionality is restricted. The events are generated by the host indirectly through
values, which are setup in Configuration mode.
Manual Operation allows more events to occur in each state because more BLE func-
tionality is available. The events are directly generated by the host through commands
sent over the UART.
FIGURE 1-2: STATE MACHINE DIAGRAM

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 18 2016 Microchip Technology Inc.
The designer of the end target application selects the applicable configuration: Auto
Operation or Manual Operation. The designer also determines the available hardware
functionality to be used. This complete configuration is programmed into the BM70/71
module by the host. Once configured, the host can switch the module to Run mode and
perform the BLE operations. Figure 1-3 illustrates the overview of the BM70/71 module
system operation.
FIGURE 1-3: BM70/71 MODULE SYSTEM OPERATION
For additional information about the BLE and hardware-related functions, refer to
1.1.2.1 “Auto Operation” and 1.1.2.2 “Manual Operation”.

Overview
2016 Microchip Technology Inc. DS50002542A-Page 19
1.1.2.1 AUTO OPERATION
Auto Operation limits the available BLE and hardware functionality, but is the simplest
configuration to use. The intended target application Auto Operation is a raw data pipe
between the host and the BLE central/master device (peer device). Before two devices
can exchange data, they must first find each other and connect. In BLE, the GAP layer
defines how two devices find each other, discover what each device can do, and how
they are able to repeatedly find and connect with each other. Using the roles defined
by the GAP layer, the BM70/71 module will only behave as a peripheral advertising,
using connectable advertising packets. The BM70/71 module uses the Limited-Discov-
erable mode and General-Discoverable mode defined in the GAP to make its presence
known while Auto Operation is active. Once connected, a private GATT service called
“Transparent UART” is used to exchange data with the peer device. This simplifies the
tasks a host has to do when trying to communicate data over BLE. Auto Operation
works well for hosts who do not care about the BLE protocols, but want the BM70/71
module to act as a virtual UART pipe between the host and the BLE central/master.
When Auto Operation is active, any data sent over the UART interface is transmitted to
the connected device. Any data received by the BM70/71 module from the connected
device is sent over the UART interface to the host. This means the “Command Set” pro-
tocol, used to control the BM70/71 module operation, is ignored. When Auto Operation
is active, any “Command Set” protocol messages sent by the host will not be inter-
preted. Instead, the data will be transmitted to the connected BLE device.
Because Auto Operation does not accept the “Command Set” protocol message over
the UART, there are additional configuration options available. These additional options
allow the host to get the BM70/71 module status and to generate events to gain some
control over the BM70/71 module behavior.
Ta b l e 1 - 1 provides the BM70/71 functionality and configuration options available when
used in Auto Operation.
TABLE 1-1: FUNCTIONALITY AND CONFIGURATION OPTIONS
Configuration
Item Related Parameters Related
Hardware Pins Section Reference
Description
Status
Indication
N/A Status1_IND
Status2_IND 1.1.2.1.2 “Auto
Operation – Status
Indication”
Run Time
Configuration
Window
Configuration Timeout N/A 1.1.2.1.3 “Auto
Operation – Config-
uration Timeout”
UART Flow
Control
N/A RTS
CTS
1.1.2.1.4 “Auto
Operation – UART
Flow Control”
Connection
Settings
Minimum Connection Interval
Maximum Connection Interval
Slave Latency
Supervision Timeout
N/A 1.1.2.1.11 “Auto
Operation – Con-
nections”
Discoverability
Settings
Fast Advertising Interval
Reduced Power Advertising
Interval
Fast Advertising Timeout
Reduced Power Advertising
Timeout
Standby Period after Power On
Standby Period after Disconnect
N/A 1.1.2.1.10 “Auto
Operation – Discov-
erability”

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 20 2016 Microchip Technology Inc.
Some of the configuration options (Ta ble 1-1) are available for the host to control in
Manual Operation through the “Command Set” protocol. The options listed in Tab l e 1- 1
are available when the Auto Operation configuration is chosen.
The internal logic of the BM70/71 module executes as a state machine (refer to
1.1.2 “System Operation”). Each state has parameters, which can be configured (see
Ta b l e 1 - 1 ), to determine the behavior in Auto Operation. These configuration options
allow the host to perform the following:
• Instruct when transitions between the states will occur
• Force transitions to different states by using hardware pins to generate events
• Indicate when a state transition occurs
Advertising
Data
Manufacture data
Device Name
UUIDs
N/A
Scan Response
Data
Manufacture Data
Battery Level Indication
TX Power Setting
User Specific Data
N/A
Link Quality
Indication
Normal Received Signal Strength
Indication (RSSI) Threshold Level
Weak RSSI Threshold Level
RSSI_IND 1.1.2.1.8 “Auto
Operation – Link
Quality Indication”
Low Battery
Indication
Low Battery Level
Battery Detection Threshold
Normal Battery Level
Low Battery Timeout Period
LOW_BATTERY
_IND
1.1.2.1.7 “Auto
Operation – Low
Battery Indication”
BM70/71 Active
Indication
Indication Type RX_ACTIVE
_IND
1.1.2.1.9 “Auto
Operation –
BM70/71 Active
Indication”
Disconnect Link
Enter Standby
N/A PAIRING_KEY 1.1.2.1.5 “Auto
Operation – Pairing
Key”
Disconnect Link
Enter Shutdown
N/A LINK_DROP 1.1.2.1.6 “Auto
Operation – Link
Drop”
TABLE 1-1: FUNCTIONALITY AND CONFIGURATION OPTIONS
Configuration
Item Related Parameters Related
Hardware Pins Section Reference
Description

Overview
2016 Microchip Technology Inc. DS50002542A-Page 21
Figure 1-4 illustrates the state machine diagram behavior when Auto Operation is
active.
FIGURE 1-4: STATE MACHINE IN AUTO OPERATION MODE
The host should be aware of the logic in each state which is automatically executed by
the BM70/71 module while Auto Operation is active. The BM70/71module does not
wait for the host to control this behavior. The following is a description of each state:
• Standby state – This state is where the BM70/71 module is in Bluetooth
discoverable and connectable mode. The module enables Undirected Advertising,
and can be paired by another device as long as the module remains in
Discoverable and Connectable mode. The information sent in the Advertising
packets and Scan Response packets are determined at the time of configuration.
The pairing process takes place in this state and, if successful, the BM70/71
module will transition to the Link state.
• Link state – In this state the BM70/71 module has an active connection with a
Remote BLE device. The host can send/receive data to/from the remote device
• Shutdown state – This state is where the BM70/71 module enters a deep-sleep
power mode. There is no active RF communication taking place and the current
draw by the BM70/71 module is the lowest. The host must bring the BM70/71
module out of this state if the host wants to communicate with a remote device.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 22 2016 Microchip Technology Inc.
1.1.2.1.1 Auto Operation – Transparent UART
When Auto Operation is active, the BLE capabilities of the BM70/71 module are
reduced to simplify the operation. The BM70/71 module can only take on the GAP role
of the peripheral and, once connected, the module can only become a slave. In this
role, it can operate as a “raw data exchanger” between the host and remote central BLE
device. The BM70/71 module will format the received UART data from the host as ATT
packets, send them to the remote device, and the data from the peer device is
unpacked by the module. This data exchange protocol will go through a proprietary
service, referred to as the “Transparent UART Service”. From the host point of view,
data can be sent and received over the UART directly (without being processed by the
Bluetooth module), once the “Transparent UART Service” is enabled. This is the only
BLE capability available when the BM70/71 module has been configured for Auto
Operation.
Figure 1-5 illustrates the sequence diagram for the flow of data between a Remote BLE
device, the BM70/71 module, and the host.
FIGURE 1-5: TRANSPARENT UART

Overview
2016 Microchip Technology Inc. DS50002542A-Page 23
1.1.2.1.2 Auto Operation – Status Indication
The host can no longer send or receive a “Command Set” protocol message to find out
the BM70/71 module’s BLE status because the UART interface becomes a data pipe
between the host and BLE central/master. To overcome this issue when using Auto
Operation, two hardware pins can take on the functionality to indicate the BM70/71
module’s status to the host. The logic level on these two hardware pins can be sampled
by the host to gain the BLE status information (see Figure 1-6). Ta b l e 1 - 2 provides the
details of the Status indication pins.
FIGURE 1-6: STATUS INDICATION
TABLE 1-2: STATUS INDICATION PINS
Status1_IND/
Status2_IND Status Description
H/H Shutdown mode The BM70/71 module is in shutdown mode; the
module enters into a deep-sleep mode. For more
details, refer to 1.1.2.3.2 “General Operation –
Low Power Control”
H/L Standby mode The BM70/71 module is sending advertising pack-
ets and is waiting for a connection. The module is
discoverable and connectable
L/L BLE connected mode The BLE link is established and the Client Charac-
teristic Configuration Descriptor (CCCD) of “ISS-
C_Transparent_TX” characteristic is disabled
L/H Data Session open The BLE link is established and the CCCD of “ISS-
C_Transparent_TX” characteristic is enabled

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 24 2016 Microchip Technology Inc.
Ta b l e 1 - 3 provides the list of the pins in the BM70/71 module which can be configured
to operate with this functionality.
TABLE 1-3: CONFIGURATION OF STATUS INDICATION PINS
Functionality BM70 PINS BM71 PINS
Status1_IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)
Status2_IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

Overview
2016 Microchip Technology Inc. DS50002542A-Page 25
1.1.2.1.3 Auto Operation – Configuration Timeout
When Auto Operation is active, the “Command Set” protocol will be ignored. In order
to make changes to some of the features in the BM70/71 module behavior (available
in Auto Operation mode), before the module enters the Auto operation mode, a window
of time, called the Configuration Timeout, is provided. This Configuration Timeout value
is set in Configuration mode. During this time period, the host can send applicable
“Command Set” protocol messages over the UART to alter the BM70/71 BLE behavior.
Figure 1-7 illustrates system operation when the BM70/71 module has been configured
to have a “Configuration Window” open before Auto Operation becomes active.
FIGURE 1-7: BM70/71 MODULE CONFIGURATION TIMEOUT
The configuration option is an 8-bit value and each bit represents a unit of 640 ms. A
value of “0” disables the “Configuration Window”. The following formula can be used to
calculate the timeout period of the “Configuration Window”:
Timeout Value = (x * 0.640), where x is the programmable value in the range 1 to 255.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 26 2016 Microchip Technology Inc.
FIGURE 1-8: CONFIGURATION TIMEOUT DISABLED
If the configuration timeout window is enabled by the host, the host can also command
the BM70/71 module to exit the configuration period early, if necessary. Figure 1-9
illustrates the sequence diagram (for more information on “Command Set” protocol
messages, refer to 2.3.3 “Commands and Event Responses”).

Overview
2016 Microchip Technology Inc. DS50002542A-Page 27
FIGURE 1-9: CONFIGURATION ENDED BY HOST
1.1.2.1.4 Auto Operation – UART Flow Control
The BM70/71 module supports UART flow control. When flow control is enabled, the
CTS and RTS pins become active. Flow control is used to prevent temporary UART
buffer overrun in the host and/or the BM70/71 module. If the UART buffer of the
BM70/71 module is full, RTS will be raised by the module. If the UART buffer of the host
is full, CTS of the module (RTS pins of the host) will be raised by the host. At most two
bytes are sent after CTS is raised.
Figure 1-10 and Figure 1-11 illustrate the functionality of UART CTS flow control and
UART RTS flow control.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-page 28 2016 Microchip Technology Inc.
FIGURE 1-10: UART CTS FLOW CONTROL
FIGURE 1-11: UART RTS FLOW CONTROL

Overview
2016 Microchip Technology Inc. DS50002542A-Page 29
Ta b l e 1 - 4 provides the list of the available BM70/71 module pins that can be used for
the flow control functionality.
1.1.2.1.5 Auto Operation – Pairing Key
When the BM70/71 module is connected to a remote device and in the Link state, the
host can use the pairing key to force the module to disconnect the link and go back to
the Standby state. In the Standby state, the module effectively starts to advertise again.
All the timeouts associated with the Standby state restart at their configured value and
become active.
The Pairing Key is a configurable hardware pin that the host can use to indicate to the
BM70/71 module to exit the Link state and return to the Standby state. Figure 1-12
illustrates how the host can use this functionality.
FIGURE 1-12: PAIRING KEY
The host must drive the configured pin to be the Pairing Key to a logic level of “0” for
>= 160 ms (TPAIRING_KEY). Ta b le 1-5 provides the list of the hardware pins available for
the Pairing Key functionality.
TABLE 1-4: PINS FOR FLOW CONTROL FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
CTS P00 P00
RTS P13 P36
TABLE 1-5: PINS FOR PAIRING KEY FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
Pairing Key P00 (if CTS disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS disabled)
P00 (if CTS disabled)
P12
P13
P16
P17
P36 (if RTS disabled)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 30 2016 Microchip Technology Inc.
1.1.2.1.6 Auto Operation – Link Drop
When the BM70/71 module is connected to a remote device and is in the Link state,
the host can use Link Drop to force the module to disconnect the link and transition to
the Shutdown state. In the Shutdown state, the BM70/71 module enters into a
deep-sleep mode, there is no RF activity and then the UART is disabled. The module
will remain in this state until a power loss event or the host wakes the BM70/71 module.
Figure 1-13 illustrates how the host can use this functionality.
FIGURE 1-13: LINK DROP
The host must drive the pin configured to be the Link Drop to a logic level of “0” for >=
10 ms (TLINK_DROP). Tab l e 1- 6 provides the details of the hardware pins available for
this functionality.
TABLE 1-6: PINS FOR LINK DROP FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
Link Drop P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

Overview
2016 Microchip Technology Inc. DS50002542A-Page 31
1.1.2.1.7 Auto Operation – Low Battery Indication
Because the host cannot get a status from the BM70/71 module regarding the battery
voltage level over the UART, the host can configure the module to use a hardware pin
to indicate when certain voltage thresholds have been detected on the BAT_IN pin of
the module. The voltage thresholds used by this function are configurable. Figure 1-14
illustrates how the host can use the Low Battery Indication pin to detect the configured
battery voltage levels.
FIGURE 1-14: LOW BATTERY INDICATION
When the BM70/71 module detects that the battery voltage is lower than the “Low
Battery Level” threshold, LOW_BATTERY_IND will be driven to logic level “0”. When
the BM70/71 module detects the battery voltage is >= “Normal Battery Level” threshold,
LOW_BATTERY_IND will be driven to logic level “1”. The BM70/71 module can be
configured to enter the Shutdown state if the battery voltage is lower than the “Low
Battery Level” threshold for a certain time period. This time period is referred to as Low
Battery into Shutdown time. The rate at which the BM70/71 module samples the battery
voltage level is configurable, and referred to as the Battery Detection Interval. The
following formulas can be used to calculate the associated time periods and voltage
levels:
Battery Detection Interval = (x * 0.08), where x is the programmable value
Low Battery Into Shutdown Time = (x * 0.64), where x is the programmable value
Battery Level (Low, Normal) = (x * 0.1), where x is the programmable value
Ta b l e 1 - 7 provides the information of the battery level functionality.
TABLE 1-7: BATTERY LEVEL FUNCTIONALITY
Functionality Parameter Range Parameter Value
Battery Detection Interval 0x01-0xFF Each bit represents a unit of 80 ms
Interval = x * 80 ms
Low Battery Level 0x00-0x12 Each bit represents a unit of 100 mV
Threshold = x * 100 mV
Normal Battery Level 0x00-0x12 Each bit represents a unit of 100 mV
Threshold = x * 100 mV
Low Battery into Shutdown
Time
0x00-0xFF Each bit represents a unit of 640 ms
Interval = x * 640 ms
A value of “0” disables this functionality

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 32 2016 Microchip Technology Inc.
Ta b l e 1 - 8 provides list of the hardware pins that can be used for the LOW_BAT-
TERY_IND functionality.
1.1.2.1.8 Auto Operation – Link Quality Indication
The BM70/71 module indicates the quality of the RF link by providing a number referred
to as the RSSI value. When Auto Operation is active, the host cannot retrieve this num-
ber because the UART interface becomes a data pipe and all “Command Set” protocol
messages are ignored. If the Link Quality Detection option is enabled by the host during
Configuration mode, the BM70/71 module can indicate the quality of the link using a
hardware pin. The host provides two threshold values, which the module uses to com-
pare against the current RSSI measurement. If the module measured RSSI value is
above or below these two threshold values, then the respective hardware pin is driven
to a logic level of “0” or “1”. This gives the host an idea of the link quality, and deter-
mines a good link and a poor link in the configuration mode.
Figure 1-15 illustrates the sequence diagram of the Link Quality Indication.
FIGURE 1-15: LINK QUALITY INDICATION
The rate at which the BM70/71 module can change the RSSI_IND pin to indicate link
quality is based off of the connection interval controlled by the Remote BLE central
device. Approximately 25 ms is the quickest the BM70/71 module can measure the
RSSI value, then compare it to the configured thresholds, and finally drive the
RSSI_IND pin to the appropriate logic level.
TABLE 1-8: PINS FOR LOW_BATTERY_IND FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
LOW_BATTERY_ IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

Overview
2016 Microchip Technology Inc. DS50002542A-Page 33
Ta b l e 1 - 9 provides the details of the possible configuration ranges the host can set with
the BM70/71 module.
Ta b l e 1 - 1 0 provides the list of the available hardware pins that can be used as the
RSSI_IND pin.
1.1.2.1.9 Auto Operation – BM70/71 Active Indication
The host can get the status of the module when the BM70/71 module internal MCU is
operating and/or when the physical layer (i.e, Radio) is operating. This information is
useful if the host needs to know whether the BM70/71 module is in any of the low-power
modes. When Auto Operation is active, the host cannot retrieve this information using
the “Status Report” command in the “Command Set” protocol. Therefore, the
BM70/71 module provides a way to indicate activity over a hardware pin.
This type of activity is configurable; the host can choose to be notified if the internal
BM70/71 MCU/internal Radio is active, or if just the internal Radio is active. Based on
the activity indication, the BM70/71 module will drive the RF_ACTIVE_IND pin to a
logic level of “1” if the activity indication is “true” (see Figure 1-16), or to a logic level of
“0” if the activity indication is “false” (see Figure 1-17).
TABLE 1-9: CONFIGURATION RANGE
Functionality Parameter Range Parameter Value
Normal RSSI Threshold 0x32-0x5A Represented as a decibel (dB)
Weak RSSI Threshold 0x32-0x5A Represented as a decibel (dB)
TABLE 1-10: PINS FOR RSSI_IND FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
RSSI_IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 34 2016 Microchip Technology Inc.
FIGURE 1-16: BM70/71 ACTIVE INDICATION
FIGURE 1-17: BM70/71 ACTIVE INDICATION
Ta b l e 1 - 11 provides the possible configuration ranges the host can set the BM70/71
module to.
TABLE 1-11: BM70/71 CONFIGURATION RANGE
Functionality Parameter Range Parameter Value
BM70/71 Active Indication 0x00-0x01 Disabled/Enabled
Activity Indication Type 0x00-0x01 RF, Physical Layer Only /
RF, Physical Layer + MCU

Overview
2016 Microchip Technology Inc. DS50002542A-Page 35
Ta b l e 1 - 1 2 provides the list of the available hardware pins that can be used as the
RF_ACTIVE_IND pin.
1.1.2.1.10 Auto Operation – Discoverability
To exchange data over BLE, devices must have the capability of finding each other first.
When Auto Operation is active, the BM70/71 module can only take on the role of a
peripheral (defined in the GAP layer), and a peripheral makes its presence known by
following certain rules in BLE. A device's discoverability refers to how the peripheral
advertises its presence to other devices and what those devices are able to do with the
information. When Auto Operation is active, the BM70/71 module can only use the
GAP layer's defined discoverable modes. It cannot be a scanner and use discovery
procedures. The values provided during the configuration of the BM70/71 module
affects how another device can detect the presence of the BM70/71.
In Auto Operation, the BM70/71 module is in the general discoverable mode. It will
advertise as long as the “advertising time” value is configured for. Advertising packets
ADV_IND are the only type sent. This means the device is in Undirected-Connectable
mode, making itself connectable. The host has no control over this in Auto Operation;
this is the only behavior allowed.
The host has control over the time-related values, like how long and how fast the
BM70/71 module will advertise. These values are set at the time of configuration and
are as follows:
• Fast Advertising Interval – This is the initial advertising interval (Tadvertising_interval)
used when the BM70/71 module enters Standby mode in the Standby state (see
Figure 1-2). The faster the device advertises, the quicker it can be discovered.
However, the device will consume more current since it is actively transmitting
• Fast Advertising Timeout – This is the period of time the BM70/71 module will
send the advertising packets at the Fast Advertising Interval rate
• Reduced Power Advertising Interval – This is the secondary advertising interval
(TReduced_Power_Advertising_Interval). It is meant to allow the device to be discovered,
but sends the advertising packets at a slower rate to help conserve power. This
time interval will only start if the configured “Fast Advertising Timeout” period has
expired. The name of this interval “Reduced Power Advertising” does not change
or alter anything related to transmit power when sending advertising packets. This
term is meant to imply the overall power consumption of the BM70/71 module is
reduced because the rate at which the packets are sent is slower.
TABLE 1-12: PINS FOR RF_ACTIVE_IND FUNCTIONALITY
Functionality BM70 PINS BM71 PINS
RF_ACTIVE_IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 36 2016 Microchip Technology Inc.
• Reduced Power Advertising Timeout – This is the period of time the BM70/71
module will send advertising packets at the “Reduced Power Advertising Interval”
rate. Once this time period expires and if the BM70/71 module has not made a
connection, the BM70/71 module will automatically enter the Shutdown state
where it will be enter into the low-power, “Deep-sleep/Shutdown” mode. This
value is calculated internally by the BM70/71 module. The calculated value is
based on either the “Standby Time” or the “After Disconnect Standby Time”
parameter and the “Fast Advertising Timeout” parameter (for calculating using the
formula, refer to Ta b l e 1 - 1 3 ).
• Standby Time – This is the total period of time the BM70/71 module will advertise.
This value is used after RST_N hardware of a Power-on Reset (POR) event to
determine how long the BM70/71 module will advertise in the Standby state.
• After Disconnect Standby Time – This time period becomes relevant after the
BM70/71 module receives a disconnect event. The BM70/71 module has to be in
the Link state, then must receive a disconnect event (from host or peer device),
and then move into the Standby state (see Figure 1-2). When entering the
Standby state from the Link state, the BM70/71 module is able to use the “After
Disconnect Standby Time” period value to determine the total advertising time.
This value will override the “Standby Time” value that is used when the BM70/71
module enters the Standby state for the first time. If this parameter is non-zero,
and the conditions are met for using this value, the “Reduced Power Advertising
Timeout” value will be calculated using this parameter.
Ta b l e 1 - 1 3 provides the configuration values which impact the BM70/71 module
behavior while sending the advertising packets.
TABLE 1-13: CONFIGURATION VALUES FOR DISCOVERABILITY
Functionality Parameter Range Parameter Value
Fast Advertising Interval 0x0020-0x4000 Each bit represents 625 μs
Interval = x * 0.000625
Fast Advertising Timeout 0x00-0xFF Each bit represents 10.24s
Interval = x * 10.24
A value of 0x00 disables this timeout
period. If disabled, the BM70/71 mod-
ule will never exit the “Fast Advertis-
ing Interval”
Reduced Power Advertising
Interval
0x00-0x04 0x00 = 645 ms
0x01 = 768 ms
0x02 = 961 ms
0x03 = 1065 ms
0x04 = 1294 ms
Reduced Power Advertising
Timeout
N/A, BM70/71
calculated value
Timeout = (Standby Time or After Dis-
connect Standby Time) - Fast Adver-
tising Timeout
Standby Time 0x01-0xFF Each bit represents 10.24s
Time = x * 10.24s
Reduced Power Advertising Timeout
is “disabled” if Time < Fast Advertis-
ing Timeout
After Disconnect Standby
Time
0x01-0xFF Each bit represents 10.24s
Time = x * 10.24s
Reduced Power Advertising Timeout
is “disabled” if Time < Fast Advertis-
ing Timeout

Overview
2016 Microchip Technology Inc. DS50002542A-Page 37
Figure 1-18 illustrates how the host can program these configuration values, and
impact the BM70/71 module behavior while sending advertising packets.
FIGURE 1-18: AUTO OPERATION - DISCOVERABILITY
1.1.2.1.11 Auto Operation – Connections
In general, a BLE device can communicate information with other devices in two ways,
broadcasting or connections. Each of these has its own advantages and
disadvantages, but its operation is governed by the rules and guidelines defined in the
GAP layer of the BLE. A connection is an exchange of data at a certain predetermined
interval or point of time. When these periodic data exchanges occur, they are called
connection events. Based on rules laid out in the BLE specification, one device
manages the connection establishment and the other device accepts it. The device
managing the connection parameters is called the central, and the device accepting the
connection is referred to as the peripheral.
When Auto Operation is active, the BM70/71 module can only take on the role of a
peripheral device (if this behavior is too restrictive, refer to 1.1.2.2 “Manual Opera-
tion”). A peripheral device does not determine the connection parameters but can
request certain limitations are adhered to. It is completely based on the device initiating
the connection to accept this request. There are three connection parameters that are
the key to establishing the connections:
• Connection Interval – This is the time between the start of two consecutive con-
nection events. This value ranges from 7.5 ms to 4s. The BM70/71 module can
support intervals as fast as 20 ms
• Slave Latency – This is the number of connection events that a slave can choose
to skip without disconnecting from the master
• Connections Supervision Timeout – This is the maximum amount of time that can
pass between two received packets before the connection is considered lost

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 38 2016 Microchip Technology Inc.
Figure 1-19 illustrates how these parameters affect the connection events.
FIGURE 1-19: AUTO OPERATION - CONNECTIONS
Since the BM70/71 module only takes on the role of a peripheral device when Auto
Operation is active, the host can configure these parameters, and enable a connection
parameter update request. This does not mean that the central/master device will
accept this request. When this parameter update request is sent, it is based on the
internal logic of the BM70/71 module and the host does not have control over this in
Auto Operation.
Ta b l e 1 - 1 4 provides the configuration values that the host can supply to set up the
BM70/71 module to perform this action.
TABLE 1-14: CONFIGURATION VALUES FOR CONNECTIONS
Functionality Parameter Range Parameter Value
Connection Interval Min 0x0008-0x0C80 Each bit represents 1.25 ms
Interval = x * 0.00125
Connection Interval Max 0x0010-0x0C80 A bit represents 1.25 ms
Interval = x * 0.00125
Slave Latency 0x00-0x03E8 Number of connection events that
can be skipped/ignored
Connections Supervision
Timeout
0x000A-0x0C80 Each bit is worth a value of 10 ms
Timeout = x * 10

Overview
2016 Microchip Technology Inc. DS50002542A-Page 39
1.1.2.2 MANUAL OPERATION
For Manual Operation, the user must have knowledge of the BLE specification and
protocols. In Manual Operation, the host must configure parameters and instruct the
BM70/71 module to perform any type of operation when trying to communicate with
other peripherals through BLE. The configuration parameters and commands are
directly related to the information existing in the BLE specification. This information can
be beneficial to design the host application and to use the BM70/71 module BLE
functionality.
BLE is a means by which many devices can access and exchange data with one
another. Some of these devices have data the others want to use. Within BLE this dis-
tinction is important because it determines the type of device/role/mode the host will set
the BM70/71 module to be.
The most important things to understand in BLE are how two devices find each other,
how they decide what each device can do with one another, and how they then find and
connect with each other repeatedly. In BLE architecture, the GAP layer defines how
devices discover, connect and present useful information to a peer. The ATT protocol
and the GATT profile layers define rules for accessing the data (attributes) on a peer
device, what the types of data are, and how they can be used. All this is grouped
together in characteristic, service, and profile specifications. These specifications gov-
ern the way a device presents information to a peer or gets information from a peer.
The host must decide what type of device the BM70/71 module will be implemented as:
a device that has the data, a device that wants to access data, or both. Understanding
this information is important because it determines what commands (refer to
Section 2.3 “Command Set Protocol”) the host uses to control the behavior of the
BM70/71 module, as well as determines the type of BLE operation necessary.
For the host to control the BM70/71 module behavior, it is best to understand how the
firmware and logic of the IS1870/71 chip within the BM70/71 module is designed. The
host performs the following when interacting with the BM70/71 module:
• Instructs when transitions between the states will occur
• Indicates when a state transition occurs due to an external event.
Each state has a number of parameters which can be configured, and each state can
enter its own state or mode (control points). The host can send commands (Command
Set protocol) causing events to occur, which is processed by the state machine logic of
the IS1870/71 internal firmware on the BM70/71 module. These processed events
result in the BM70/71 module performing the BLE-related operations.
The type of BLE operations and behavior allowed are directly related to the parameters
and modes set by the host with previous commands. For example, while in the Standby
state, the following commands can be sent,
Set_Advertising_Parameter(0x13), and Write_Adv_Data(0x11). Based on
the parameters in these commands, the BM70/71 module may be in Broadcasting
mode and not discoverable when the Set_Adv_Enable(0x1C) command is sent by
the host. This allows the BM70/71 module to stay in the Standby state but to enter into
Broadcast mode sending advertising packets until the host commands otherwise. If the
host changes the Set_Advertising_Parameter(0x13), and
Write_Adv_Data(0x11) command parameters to make the device discoverable,
the BM70/71 module will remain in the Standby state, but will enter Standby mode,
sending advertising packets (ADV_IND type packets) indicating the device is
discoverable when the Set_Adv_Enable(0x1C) command is sent.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 40 2016 Microchip Technology Inc.
Ta b l e 1 - 1 5 provides the different states and applicable modes of the BM70/71 module
state machine.
Figure 1-20 illustrates the different states and applicable modes of the BM70/71
module state machine in Manual Operation configuration.
FIGURE 1-20: MANUAL OPERATION
Using the “Command Set” protocol, the host has full control over the BLE operation and
behavior of the BM70/71 module. Reviewing the description of commands in the “Com-
mand Set” protocol chapter (refer to Section 2.3 “Command Set Protocol”), and hav-
ing a working knowledge of the information in the Bluetooth specification will allow a
designer to quickly implement their host application.
The rest of the sections in Chapter 2. “Operating Modes, Configuration and
Control” describe additional behavior available when Manual Operation is active.
TABLE 1-15: STATES AND APPLICABLE MODES OF THE BM70/71 MODULE
BM70/71 State Modes
Standby state Low-power
Idle
Broadcast
Standby
Scanning
Connecting
Link state Low-power
Connected
Shutdown state Deep-sleep

Overview
2016 Microchip Technology Inc. DS50002542A-Page 41
1.1.2.2.1 Manual Operation – General I/O
The BM70/71 module has a number of general I/O pins that can be used by the host
as digital input/output. These pins can be used as long as they have not been
configured for another function during Configuration mode. When a pin is used as an
output, the host can drive the pin to a logic level of “1” or a logic level of “0” using the
DIO_Control(0x0E) command. When the pin is used as a digital input, the host can
have the BM70/71 module read the digital input value of the pin using the
DIO_Control(0x0E) command.
This gives the host additional flexibility to read and drive various signals through the
BM70/71 module. This can be an advantage if the host pin count is limited, or if there
is a need to combine the logic to reduce the Bill of Material's cost.
If a pin has been configured for another function, the function configured will take
control of the pin. The DIO_Control(0x0E) command parameters for this pin will be
ignored. The acceptable voltage levels and the current that a particular pin can
source/sink are captured in the BM70/71 Data Sheet.
Ta b l e 1 - 1 6 provides the list of the pins available for this functionality.
Note: For more information on the I/O values of the module, refer to “BM70/71
Data Sheet” (DS60001372), which is available for download from the
Microchip website: www.microchip.com/BM70.
TABLE 1-16: PINS FOR GENERAL I/O FUNCTIONALITY
Functionality BM70 PINS(1) BM71 PINS(2)
General I/O P00
P02 (if LED0 is disabled)
P07
P10
P11
P12
P13
P22
P23 (if the WAKEUP_PIN is disabled)
P24
P31
P32
P33
P34
P35
P36
P00
P02
P12
P13
P16
P17
P36
Note 1: Pins P00, P02, P07, P10, P11, P12, P13, P27 can be used as Analog Channels. If
used for this feature, they cannot be used for Digital I/O (refer to 1.1.2.2.2 “Manual
Operation – Analog Pins”).
2: Pins P00, P02, P12, P13, P27 can be used as Analog Channels. If used for this
feature, they cannot be used for Digital I/O (refer to 1.1.2.2.2 “Manual Operation –
Analog Pins”).

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 42 2016 Microchip Technology Inc.
1.1.2.2.2 Manual Operation – Analog Pins
The BM70/71 module has several pins which can have an analog voltage input. Each
analog pin enters its own internal Analog to Digital Converter (ADC) channel, allowing
the BM70/71 module to do an ADC conversion on the pin's voltage. Using the “Com-
mand Set” protocol, the host can command (Read_ADC_Value (0x04)) the
BM70/71 module to do a conversion on a specific pin. The returned value is the digital
representation of the voltage present on the pin.
This gives the host additional flexibility to sample voltage levels on the pins through the
BM70/71 module. This can be an advantage if the host pin count is limited or if there is
a need to combine the logic to reduce the Bill of Material's cost.
The host can only command the conversion; the host cannot supply any parameters
for performing the conversion. All ADC parameters are fixed internally on the BM70/71
module. So when the BM70/71 module returns the conversion value, an associated
resolution value is returned. This allows the host to calculate the value of each bit to
obtain the approximate voltage on the analog pin.
The BM70/71 module has two internal ADC channels which are connected to the inter-
nal VBAT pin and an internal temperature sensor. This gives the host the ability to read
the voltage present on the VBAT input of the BM70/71 module, and to read the ambient
temperature of the BM70/71 module. These measurements are made on two separate
analog channels and do not reduce the ADC channel count for taking measurements
on available analog pins. The host uses the same Read_ADC_Value(0x04) com-
mand to perform the ADC measurement for the temperature sensor and VBAT input.
Ta b l e 1 - 1 7 provides the details of the BM70/71 module hardware pins which can be
used for this functionality. For an analog pin to be available, it cannot be configured for
any other hardware function (UART_RX_IND, LED0, etc.).
Note 1: For more information on the maximum input voltage allowed on any given
pin, refer to the “BM70/71 Data Sheet” (DS60001372), which is available
for download from the Microchip website:
www.microchip.com/BM70.
2: Reference the “BM70/71 Data Sheet” (DS60001372) to check if the
voltage level applied to the pin is within acceptable ranges. If the voltage
level, is higher than the maximum voltage input level of a BM70/71
module pin, an external voltage divider may have to be implemented to
get the voltage within the maximum or minimum input range.
TABLE 1-17: ANALOG PIN FUNCTIONALITY
Functionality BM70 PINS BM71 PINS Host Command
ADC Channel 0 (AD0) P00 P00 Read_AD-
C_Value(0x04)
ADC Channel 2 (AD2) P02 P02
ADC Channel 7 (AD7) P07 N/A
ADC Channel 8 (AD8) P10 N/A
ADC Channel 9 (AD9) P11 N/A
ADC Channel 10 (AD10) P12 P12
ADC Channel 11 (AD11) P13 P13
ADC Channel 14 (AD14) P27 P27

Overview
2016 Microchip Technology Inc. DS50002542A-Page 43
Ta b l e 1 - 1 7 provides the details of the analog channels, the internal temperature sensor
and VBAT input attached.
1.1.2.2.3 Manual Operation – Pulse Width Modulation (PWM) Output
The BM70/71 module has the capability of using an internal timer/compare circuit to
drive a PWM waveform on certain general I/O pins. The host can control this
functionality using the PWM Control(0x0F) command while the BM70/71 module is
in Manual Operation. The timer and the associated counter are 16 bits, and the full
range of the timer and timer counter is 0x0001-0XFFFF. The timer starts incrementing
the “timer counter” starting from value 0x0001. The timer increments the counter until
the counter equals the compare value. When this happens, the applicable digital
general I/O pin's output logic level is toggled. The timer continues to increment the
counter until it reaches the top end of its range. Once the counter reaches the top, the
applicable digital general I/O pin's output logic level is toggled again. The timer resets
the timer counter back to 0x0001, and the process repeats. The top of the range for the
timer counter can be any value between 0x00001-0XFFFF; the default value is
0xFFFF. The only rule is that the compare value has to be less than the top range of
the timer counter.
The rate at which the timer increments the counter is based on the timer's clock source.
The BM70/71 module has three clocks and the host can choose from 32 kHz, 1 MHz,
and 16 MHz. The amount of the time taken for the timer to increment the counter until
it equals the compare value, or until it reaches the top of its range, is directly related to
the speed of the clock. The following formula is used to calculate these amounts of
time:
Period Compare = (1/clock source) * Compare value
Period Timer Range = (1/clock source) * (Timer Range value - Compare value)
This means the applicable PWM channel output pin's logic level will be toggled at a rate
of the “Period” values calculated. Once enabled, the PWM output will continue until the
user disables or changes the PWM function.
TABLE 1-18: ANALOG CHANNEL FUNCTIONALITY
Functionality BM70 PINS BM71 PINS Host Command
ADC Channel 16 (AD16) N/A
used for internal
VBAT pin measure-
ment
N/A
used for internal
VBAT pin
measurement
Read_AD-
C_Value(0x04)
ADC Channel 17 (AD17) N/A
used for internal tem-
perature sensor
measurement
N/A
used for internal
temperature sensor
measurement

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 44 2016 Microchip Technology Inc.
Figure 1-21 illustrates the logic of the PWM output.
FIGURE 1-21: MANUAL OPERATION – PWM OUTPUT
Ta b l e 1 - 1 9 provides the number of hardware pins and the number of PWM channels
that can be configured for PWM output. The pins are available if they are not used for
any other hardware functions.
1.1.2.2.4 Manual Operation – GATT Services
To exchange the data between two peer devices in BLE, the devices have to follow the
rules defined in the GATT and the ATT protocol layers. At a high level, the GATT layer
establishes how to exchange all the profiles and the user data over a connection. The
client-server architecture is one of the fundamental design elements which accom-
plishes this functionality. The terms client and server are defined in the ATT protocol
layer. Using these terms, the server holds the data, and clients send requests to the
server for this data. The server is told what to do; the client has the job of discovering
what data the server has and how to use that data. Due to this client-server architec-
ture, separate documents can be created to describe the behavior on the server and a
client. The server's behavior is defined in a service specification, whereas the client's
behavior is defined in a profile specification. Together with the definitions of the GATT
layer, BLE specification documents create rules to define behavior on a server, how
information is exposed, and what it means. Creating these service specification and
profiles helps to ensure interoperability between devices using BLE.
The BM70/71 module operates as a GATT-based bridge, allowing devices to interact
with each other and exchange data through these service and profile specifications.
The BLE specification has adopted many different types of service and profile specifi-
cations. The BM70/71 module has the support for many of these public services as well
as allowing a user to define proprietary services. During Configuration mode, the host
can choose the type of services that will be available in Run mode. The following list
captures the supported public services:
• Alert Notification Service
• Battery Service
TABLE 1-19: PWM CHANNEL PIN FUNCTIONALITY
Functionality BM70 PINS BM71 PINS Host Command
PWM Channel 0 (PWM0) P36 (RTS disabled) P36 (RTS disabled) PWM Control
(0x0F)
PWM Channel 1 (PWM1) P22 N/A
PWM Channel 2 (PWM2) P23 (if wake-up
disabled)
N/A

Overview
2016 Microchip Technology Inc. DS50002542A-Page 45
• Blood Pressure Service
• Body Composition Service
• Bond Management Service
• Continuous Glucose Monitoring Service
• Current Time Service
• Cycling Power Service
• Cycling Speed and Cadence Service
• Glucose Service
• Health Thermometer Service
• Heart Rate Service
• HID Service
• Immediate Alert Service
• Link Loss Service
• Location and Navigation Service
• Next DST Change Service
• Phone Alert Status Service
• Reference Time Update Service
• Running Speed and Cadence Service
• Scan Parameters Service
• TX Power Service
• Weight Scale Service
The BM70/71 module has built-in support for default services. These default services
will be included in the type of configuration chosen by the host. The default services
are:
• GAP Service
• Device Information Service
• Proprietary “Transparent UART” Service
Ta b l e 1 - 2 0 provides the relevant “Command Set” protocol message a host will use to
interact with the local services and the services on the remote device.
The GATT and ATT layers define rules for how information is organized and accessed
on a device. The BM70/71 module follows these rules, but this requires memory to
store and organize the data (attributes) in a service. The BM70/71 module has an inter-
nal memory limitation regarding the amount of addressable information (attributes) for
TABLE 1-20: BM70/71 COMMAND SET PROTOCOL MESSAGES
GATT/ATT
Role BM70/71 “Command Set” messages Section
Reference
Client Discover_All_Primary_Services(0x30)
Discover_Specific_Primary_Service_Character-
istics(0x31)
Read_Characteristic_Value(0x32)
Read_Using_Characteristic_UUID(0x33)
Write_Characteristic_Value(0x34)
Enable_Transparent(0x35)
2.3 “Command
Set Protocol”
Server Send_Characteristic_Value(0x38)
Update_Characterisitic_Value(0x39)
Read_Local_Characteristic_Value(0x3A)
Read_Local_All_Primary_Service(0x3B)
Read_Local_Specific_Primary_Service(0x3C)
Send_Write_Response(0x3D)
2.3 “Command
Set Protocol”

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 46 2016 Microchip Technology Inc.
a given service. This stored information can be variable in length so it is difficult to spec-
ify an exact number of services that can be added and stored in the memory of the
BM70/71 module.
Below are rules which can guide a user in regard to how much memory is available for
use:
• An attribute structure is expected to not exceed 28 bytes. (See BLE specification
for the format of an attribute)
- If this is true, the maximum number of attribute structures that can be stored is
100.
• Each service requires some number of attributes. Public services define this in a
service specification. For proprietary ones, the number is based on the application
requirements.
Figure 1-22 illustrates a generic format of an attribute, and some of the more common
types of attributes that are specified. When grouped together, these attribute types
make up a service; understanding this will help determine how many services the
BM70/71 module can support at one time.
FIGURE 1-22: MANUAL OPERATION - GATT SERVICES
Note: The structure of an attribute does not necessarily define a size for the
Permissions field. This is a vendor-specific chosen value. For the attributes
in the BM70/71 module, it takes one byte to hold the permission value.

Overview
2016 Microchip Technology Inc. DS50002542A-Page 47
1.1.2.3 GENERAL OPERATION
The BM70/71 module has configuration options that apply to both Auto Operation and
Manual Operation. These options are considered general operation parameters. Some
of these configurable parameters are related to the BM70/71 module hardware func-
tions and others are related to the BM70/71 module BLE operation. The host chooses
these options based on application requirements. There are exceptions to be noted
with the general operation parameters. In some cases, it is possible for the host to
apply certain values to these parameters, which makes them work only in Manual
Operation or Auto Operation, not both. These exceptions are noted in the applicable
section; attention must be paid to these exceptions. The remaining sections in this
chapter explain the general operation parameters and how a host can use them.
1.1.2.3.1 General Operation – LED Indication
In both Manual Operation and Auto Operation, the BM70/71 module is capable of driv-
ing an LED to give an external visual indication when certain BLE or hardware related
functionality occurs. The BLE functionality is based on the internal state machine the
BM70/71 module uses while Auto Operation or Manual Operation is active (refer to
1.1.2.1 “Auto Operation” and 1.1.2.2 “Manual Operation”). The host configures the
BM70/71 module to indicate what activity must be visually indicated through the LED
by driving the LED off, toggling, or on. Because the BM70/71 module only drives an
LED on one hardware pin, the host must choose a unique pattern for each function so
the function can be visually detected.
When the BM70/71 module is configured to drive an LED when detecting a low battery,
additional configuration information is needed. The host provides the BM70/71 module
three additional parameters. These parameters are used to determine if low battery
voltage thresholds have been detected on the BAT_IN pin of the module. When the
BM70/71 module detects battery voltage lower than the configured “Low Battery Level”
threshold, LED0 will be driven according to the LED parameters. When the BM70/71
module detects that the battery voltage is >= “Normal Battery Level” threshold, LED0
will not be driven. The rate at which the BM70/71 module samples the battery voltage
level is configurable, and referred to as “Battery Detection Interval”.
Ta b l e 1 - 2 1 provides the details of the configurable functionality.
TABLE 1-21: LED INDICATION CONFIGURATION
Functionality Parameter Range Parameter Value
BM70/71 in Standby State See Table 1-22 for LED
parameters
LED Drive Type
LED Toggle Type
LED Toggle On Period
LED Toggle Off Period
LED Toggle Interval
LED Brightness Level
BM70/71 in Link State LED Drive Type
LED Toggle Type
LED Toggle On Period
LED Toggle Off Period
LED Toggle Interval
LED Brightness Level
BM70/71 Powered On LED Drive Type
LED Toggle Type
LED Toggle On Period
LED Toggle Off Period
LED Toggle Interval
LED Brightness Level

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 48 2016 Microchip Technology Inc.
Ta b l e 1 - 2 2 provides the LED Indication functionality.
Ta b l e 1 - 2 3 provides the Battery Level functionality.
Ta b l e 1 - 2 4 provides the details of the pins used for LED Indication functionality.
BM70/71 Low Battery See Table 1-22 for LED
parameters
See Table 1-23 for Low
Voltage threshold
parameters
LED Drive Type
LED Toggle Type
LED Toggle On period
LED Toggle Off period
LED Toggle Interval
LED Brightness Level
TABLE 1-22: LED INDICATION FUNCTIONALITY
Functionality Parameter Range Parameter Value
LED Drive Type 0x00, 0x02, 0x05 LED Off
LED On
LED toggle
LED Toggle Count 0x00-0x03 0x00 – Continuously toggle LED
0x01 – Toggle the LED On/Off “1” time
0x02 – Toggle the LED On/Off “2” time
0x03 – Toggle the LED On/Off “3” time
For non-zero value, the toggle count is
repeated after the “Toggle Interval”
expires
LED Toggle On Period 0x01-0xFF Each bit is a worth a value of 1 ms
On Period = x * 0.001
LED Toggle Off Period 0x01-0xFF Each bit is a worth a value of 1 ms
Off Period = x * 0.001
LED Toggle Interval 0x00-0xFF Each bit is a worth a value of 1s
Period = x * 1
For a value of zero, the LED will toggle
continuously based on On/Off period.
LED Brightness Level 0x01-0x10 LED Current = 0.012 / x
TABLE 1-23: BATTERY LEVEL FUNCTIONALITY
Functionality Parameter Range Parameter Value
Battery Detection Interval 0x01-0xFF Each bit represents a unit of 80 ms
Interval = x * 80 ms
Low Battery Level 0x00-0x12 Each bit represents a unit of 100 mV
Threshold = x * 100 mV
Normal Battery Level 0x01-0x12 Each bit represents a unit of 100 mV
Threshold = x * 100 mV
Low Battery Into
Shutdown Time
Only used when “Auto Operation is active” (see 1.1.2.1 “Auto
Operation”)
TABLE 1-24: PINS FOR LED INDICATION
Functionality BM70 Pins BM71 Pins
LED0 P02 P02
TABLE 1-21: LED INDICATION CONFIGURATION (CONTINUED)
Functionality Parameter Range Parameter Value

Overview
2016 Microchip Technology Inc. DS50002542A-Page 49
1.1.2.3.2 General Operation – Low Power Control
In both Auto Operation and Manual Operation, the BM70/71 module can be put into
modes where current consumption is reduced. There are two modes the host can make
use of in the BM70/71 module to reduce the overall power. However, they will affect the
BM70/71 module behavior, so understating what is affected is important for correct host
operation.
The “Reduced Current Consumption” low-power mode is a mode where the internal
MCU of the BM70/71 module goes into shutdown, but the physical layer (i.e., Radio) is
still functioning. This mode can be active in any state except the Shutdown state (see
Figure 1-2). This allows the device to advertise, scan, or maintain a connection with the
peer device, but with a reduced current draw. Since the internal BM70/71 MCU is
asleep, the host has to wake-up the device before sending any data over the UART. To
do this, a hardware pin can be used on the module to wake-up the BM70/71 module.
The hardware pin is the UART_RX_IND pin, and the hardware function is the UART
Receive Indication (refer to 1.1.2.3.5 “General Operation – UART Receive Indica-
tion”). The use of the “Reduced Current Consumption” low-power mode is tied directly
to use of the UART_RX_IND pin. To enable /disable this low-power mode, the host
must configure the BM70/71 module to enable/disable the UART_RX_IND pin function-
ality. If enabled, the host does not control when the BM70/71 module goes into this
low-power mode. The host can only control when to wake-up the BM70/71 module by
using the UART_RX_IND pin.
“Deep-sleep/Shutdown” low-power mode is a mode where the MCU and the physical
layer are turned inactive. This mode has the lowest current draw, but the BM70/71
module is not functional. This mode is only active in the Shutdown state (see
Figure 1-2). When the BM70/71 module comes out of this low-power mode, it is the
same as getting a POR or hardware reset (RST_N) event.
When the BM70/71 module enters this low-power mode, it is based on how the device
is configured to operate. When Auto Operation is active, the host enables this mode by
the use of two configuration parameters, Standby Timeout and/or Disconnect Standby
Timeout (refer to 1.1.2.1.10 “Auto Operation – Discoverability”). In Auto Operation,
the host can also enable the hardware function/pin, LINK_DROP, to force the BM70/71
module to enter “Deep-sleep/Shutdown” mode. When Manual Operation is active, the
host uses a command from the “Command Set” protocol to have the BM70/71 module
enter this low-power mode. The way the BM70/71 module exits the “Deep-sleep/Shut-
down” mode is by using a hardware pin function, setup during configuration. The ded-
icated hardware pin function for this is the WAKEUP_PIN (refer to 1.1.2.3.3 “General
Operation – Wake-Up Indication”).
There is some redundancy (Auto Operation and Manual Operation) with the hardware
pin functions when exiting the “Deep-sleep/Shutdown” mode. This redundancy does
not cause a problem, but be aware of it. If a host has enabled the use of UART_RX_IND
(this enables the “Reduced Current Consumption” mode), the host can also use this
pin for getting the BM70/71 module out of “Deep-sleep/Shutdown” mode. Therefore,
the WAKEUP_PIN function is not absolutely necessary to use with
“Deep-sleep/Shutdown” mode, if the host has already enabled the “Reduced Current
Consumption” mode. This redundancy may provide an advantage in cases where the
host is pin count limited.
Note 1: The list of test conditions and values for the current drawn are measured
numbers based on the BM70/71 module operating with “Reduced
Current Consumption” active.
2: For information about the test conditions and values of the current drawn,
refer to the “BM70/71 Data Sheet” (DS60001372), which is available for
download from the Microchip website: www.microchip.com/BM70.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 50 2016 Microchip Technology Inc.
When Manual Operation or Auto Operation is active, the host gets to control when this
low-power mode is entered and exited. However, to exit this low-power mode, the host
has to enable the WAKEUP_PIN or UART_RX_IND pin function in Configuration mode.
If the host does not configure one of these hardware pin functions, then a power cycle
or hardware reset (RST_N) will be used.
Ta b l e 1 - 2 5 provides the reference applicable sections for the hardware pins used with
the UART_RX_IND and WAKEUP_PIN functionality
.
TABLE 1-25: BATTERY LEVEL FUNCTIONALITY
Low-Power Mode Configured
Operation Related Configuration
Parameters Related “Command
Set” Message Section Description
Reduced Current
Consumption
Manual Operation UART_RX_IND N/A 1.1.2.3.5 “General
Operation – UART
Receive Indication”
Reduced Current
Consumption
Auto Operation UART_RX_IND N/A 1.1.2.3.5 “General
Operation – UART
Receive Indication”
Deep-sleep/Shut-
down
Manual Operation WAKEUP_PIN,
UART_RX_IND
Into_Shutdown_-
Mode(0x05)
1.1.2.3.3 “General
Operation – Wake-Up
Indication” and
1.1.2.3.5 “General
Operation – UART
Receive Indication”
Deep-sleep/Shut-
down
Auto Operation Standby_Timeout
Disconnect_Standy_-
Timeout
LINK_DROP
WAKEUP_PIN
UART_RX_IND
N/A 1.1.2.1.10 “Auto Oper-
ation – Discoverabil-
ity”, 1.1.2.1.6 “Auto
Operation – Link
Drop”,
1.1.2.3.3 “General
Operation – Wake-Up
Indication” and
1.1.2.3.5 “General
Operation – UART
Receive Indication”

Overview
2016 Microchip Technology Inc. DS50002542A-Page 51
1.1.2.3.3 General Operation – Wake-Up Indication
The BM70/71 module can enter a deep-sleep mode in the Shutdown state. If the
BM70/71 module enters this low-power mode of deep-sleep, the internal BM70/71
module internal logic is not functional and must be woken up by an external trigger. This
external trigger is a hardware pin which can be configured to be enabled or disabled.
If enabled, the host can drive this pin to a logic level of “0” to wake-up the BM70/71
module. If the host has disabled the wake-up function and the module enters the Shut-
down state, the only way out of this state is with a power cycle or hardware reset. This
wake-up function works both in Manual Operation and Auto Operation. If Auto Opera-
tion is active, the wake-up trigger will force the module to transition to the Standby state.
If the Manual Operation is active, the wake-up trigger will force the BM70/71 module to
transition to “Idle mode”. Figure 1-23 illustrates the wake-up indication functionality.
FIGURE 1-23: WAKE-UP INDICATION
Ta b l e 1 - 2 6 provides the details of the wake-up indication functionality.
Ta b l e 1 - 2 7 provides the details of the pin used for the Wake-up indication functionality.
TABLE 1-26: WAKE-UP INDICATION FUNCTIONALITY
Functionality Parameter Range Parameter Value
Wake-up 0x00-0x01 0x00 – Disabled
0x01 – Enabled
TABLE 1-27: PIN FOR WAKE-UP INDICATION
Functionality BM70 Pins BM71 Pins
WAKEUP_PIN P23 Not Available on the BM71 mod-
ule due to reduced module pin
count. See UART_RX_IND for
similar functionality

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 52 2016 Microchip Technology Inc.
1.1.2.3.4 General Operation - UART Transmit Indication
In low-power applications, the host wants to conserve energy by entering a low-power
mode and only exit when a BLE operation has occurred. The BM70/71 module can be
configured to drive a hardware pin when transmitting to the host over the UART. Using
this hardware function can provide a means for the host to be notified when a BLE oper-
ation has occurred. The host can use this signal as a way to exit a low-power state and
start processing. This signal is available when Manual Operation or Auto Operation is
active. As a way to synchronize communication after the signal is driven by the
BM70/71 module, the host can configure the BM70/71 module to wait for a predefined
time period (TWAIT_WAKEUP_HOST_TIME) before sending any UART traffic. This will give
the host a chance to wake-up and stabilize any hardware operations before processing
the UART data.
Figure 1-24 illustrates the UART Transmit indication functionality.
FIGURE 1-24: UART TRANSMIT INDICATION
Ta b l e 1 - 2 8 provides the details of the UART Transmit Indication functionality.
Ta b l e 1 - 2 9 provides the details of the UART Transmit Indication functionality.
TABLE 1-28: UART TRANSMIT FUNCTIONALITY
Functionality Parameter Range Parameter Value
WAIT WAKEUP HOST
TIME
0x00-0x0F Period = x * 0.000625
A value of “0” disables the
UART_TX_IND pin function
TABLE 1-29: PINS FOR UART TRANSMIT
Functionality BM70 Pins BM71 Pins
UART_TX_IND P27 P27

Overview
2016 Microchip Technology Inc. DS50002542A-Page 53
1.1.2.3.5 General Operation – UART Receive Indication
The BM70/71 module can be configured to enter a “Reduced Current Consumption”
mode. In this mode, the MCU goes to sleep, but the physical layer (i.e., Radio) can still
be active. This means the BM70/71 module can still advertise or connect, but have a
reduced current drawn. Because the MCU portion of the module is not active, the host
cannot send data over the UART interface without notifying the BM70/71 module first.
The BM70/71 module provides a hardware pin to enable this mechanism, and the
“Reduced Current Consumption” mode is enabled or disabled based on whether this
pin is enabled or disabled.
The host drives this pin to a logic level of “0” to make the BM70/71 module active and
capable of receiving UART data. Doing this effectively terminates the “Reduced
Current Consumption” mode. The host needs to leave this pin at a logic level of “0” until
all communication has finished, including receiving any expected responses from the
BM70/71 module. If the host drives this pin to a logic level of “1” before the BM70/71
module has finished sending a response, the response will be postponed. This is
because the module will enter the “Reduced Current Consumption” mode and the
internal MCU will become inactive, effectively delaying the response until the BM70/71
module exits “Reduced Current Consumption” mode again. This can cause errant host
operation based on the logic designed.
The host must wait for a minimum time period of 3 ms after driving UART_RX_IND pin
to a logic level of “0”, before sending UART data. This ensures the internal MCU of the
BM70/71 module is active and ready to process data.
This “Reduced Current Consumption” mode and the associated hardware pin can be
used when Auto Operation or Manual Operation is active. The host enables this
low-power mode by enabling the UART_RX_IND pin functionality during configuration.
Figure 1-25 illustrates the UART Receive Indication functionality.
FIGURE 1-25: UART INDICATION

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 54 2016 Microchip Technology Inc.
Ta b l e 1 - 3 0 provides the details of the UART Receive Indication functionality.
Ta b l e 1 - 3 1 provides the list of the pins available for the UART Receive Indication func-
tionality.
TABLE 1-30: UART RECEIVE INDICATION FUNCTIONALITY
Functionality Parameter Range Parameter Value
UART_RX_IND 0x00-0x01 0x00 – Disabled
0x01 – Enabled
TABLE 1-31: PINS FOR UART RECEIVE INDICATION
Functionality BM70 PINS BM71 PINS
UART_RX_IND P00 (if CTS is disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS is disabled)
P00 (if CTS is disabled)
P12
P13
P16
P17
P36 (if RTS is disabled)

Overview
2016 Microchip Technology Inc. DS50002542A-Page 55
1.1.2.3.6 General Operation - Security
The core specification provides several features to cover the encryption, data integrity
and privacy of the user’s data to ensure that communication over BLE is always secure
and protected. The BLE core specification defines rules and algorithms in the Security
Manager (SM) and GAP layers to provide secure communications. It is recommended
that the user have a good working knowledge of the BLE specification to gain a com-
plete understanding of the way the BM70/71 module operates and provides security.
The GAP Layer defines modes and procedures which relate to the security of a con-
nection. The BM70/71 module supports “LE Security Mode 1” with four security levels
as specified by the definitions in the GAP layer. In general, “LE Security mode 1” gains
security by means of encryption and this will only be done after the connection has
been established.
When two devices are connected but a secure link is required, the devices must first
pair. The pairing involves authenticating the identity of two devices, encrypting the link,
and then exchanging keys (for faster reconnection in the future, i.e., Bonding) used for
encryption.
Figure 1-26 illustrates the pairing process and the level of security established in this
process. This is determined by the pairing method used and is selected based on the
I/O capabilities of each device.
FIGURE 1-26: MANUAL OPERATION - SECURITY
Therefore, the security level of the encryption is determined by the method of pairing
performed. To make use of the “LE Security Mode 1” support in the BM70/71 module,
the host MCU needs to configure the I/O capabilities of the accessory. This, together
with the capabilities of the peer device, will determine the pairing method and the level
of security applied to the connection.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-page 56 2016 Microchip Technology Inc.
Ta b l e 1 - 3 2 provides the reference for determining the pairing method based on the I/O capabilities of the two devices involved and the role each device
plays in the process.
TABLE 1-32: REFERENCE FOR DETERMINING PAIRING METHOD
Initiator
Responder
I/O Capabilities DisplayOnly Display
Yes/No
Keyboard No Input
No Output
Keyboard
Display
Display
Only
Just Works
Unauthenticated
Just Works
Unauthenticated
Passkey Entry
(responder displays, initi-
ator inputs)
Authenticated
Just Works
Unauthenticated
Passkey Entry
(responder displays, initi-
ator inputs)
Authenticated
Display
Yes/No
Just Works
Unauthenticated
Just Works
[For LE Legacy Pairing]
Unauthenticated
Passkey Entry
(responder displays, initi-
ator inputs)
Authenticated
Just Works
Unauthenticated
Passkey Entry
(responder displays, initi-
ator inputs)
[For LE Legacy Pairing]
Authenticated
Numeric Comparison
(For LE Secure Connec-
tions Pairing)
Numeric Comparison
(For LE Secure Connec-
tions Pairing)
Keyboard
Only
Passkey Entry (initiator
displays, responder
inputs)
Authenticated
Passkey Entry (initiator
displays, responder
inputs)
Authenticated
Passkey Entry (initiator
displays, responder
inputs)
Authenticated
Just Works
Unauthenticated
Passkey Entry (initiator
displays, responder
inputs)
Authenticated
No Input
No Output
Just Works
Unauthenticated
Just Works
Unauthenticated
Just Works
Unauthenticated
Just Works
Unauthenticated
Just Works
Unauthenticated
Keyboard
Display
Passkey Entry (initiator
displays, responder
inputs)
Authenticated
Passkey Entry
[For LE Legacy Pairing]
(initiator displays,
responder inputs)
Authenticated
Passkey Entry
(responder displays, initi-
ator inputs)
Authenticated
Just Works
Unauthenticated
Passkey Entry
[For LE Legacy Pairing]
(initiator displays,
responder inputs)
Authenticated
Numeric Comparison
(For LE Secure Connec-
tions Pairing)
Authenticated
Numeric Comparison
(For LE Secure Connec-
tions Pairing)
Authenticated

Overview
2016 Microchip Technology Inc. DS50002542A-Page 57
The role of an each device is defined in the SM layer of BLE. The definitions of each
role are:
• Initiator – Always corresponds to the Link Layer master and the GAP central
• Responder – Always corresponds to the Link Layer slave and the GAP peripheral
As stated earlier, each pairing method gives the connection a certain level of security
and in “LE Security Mode 1”, which is supported in the BM70/71 module, there are four
levels of security. The security levels describe the type of security the current
connection has or will have, which are:
• LE Security Mode 1:
- No Security (no authentication and no encryption)
- Unauthenticated pairing with encryption
- Authenticated pairing with encryption
- Authenticated LE Secure Connections pairing with encryption
The term authenticated here means the pairing algorithm used (Passkey Entry, Num-
ber Comparison) gives enough security to protect against “Man in the Middle” attacks.
The term unauthenticated means the pairing algorithm (Just Works), does not provide
protection against “Man in the Middle” attacks, but pairing still occurs, keys are
exchanged, and the link can still be encrypted.
To apply a security level to a connection, the host first has to setup the I/O capabilities
for the BM70/71 module. In Manual Operation, this is done through the “Command Set”
protocol message, Write_Pairing_Mode_Setting(0x0B). In Auto Operation, the
host applies the values at the time of configuration. The host then puts the BM70/71
module in Run mode when the BM70/71 module makes a connection with a peer
device, and the security level needed for data access is established. If the current con-
nection is at a lower security level than needed, the pairing process can be initiated.
The device with the role of initiator will start the pairing process (Pairing_Request);
however, the Responder can optionally make a request (Security_Request).
In Manual Operation, the host can send the “Command Set” message, Pairing_Re-
quest(0x42), to initiate the pairing/authentication procedure. In Auto Operation, the
host configures the BM70/71 module to perform a pairing request through the “Security
Setting” options. The authentication procedure (pairing) that needs to be performed is
generally based on the type of authentication needed to access a service. This is under
the control of the host in Manual Operation and in Auto Operation, and it will automat-
ically be completed if the security level needs to be upgraded. Figure 1-27 illustrates
the flow of control between a BM70/71 module and a peer device.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 58 2016 Microchip Technology Inc.
FIGURE 1-27: FLOW OF CONTROL BETWEEN BM70/71 AND PEER DEVICE
The type of interaction that occurs between the host and the BM70/71 module during
the pairing process is based on the type of pairing method selected. Figure 1-28 and
Figure 1-29 illustrate the commands sent by the host MCU to the BM70/71 module
based on the “Passkey” method with the BM70/71 module being a Initiator or
Responder.

Overview
2016 Microchip Technology Inc. DS50002542A-Page 59
FIGURE 1-28: BM70/71 AS INITIATOR IN PASSKEY METHOD
FIGURE 1-29: BM70/71 AS RESPONDER IN PASSKEY METHOD

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-page 60 2016 Microchip Technology Inc.
Ta b l e 1 - 3 3 provides the relevant configuration parameters and “Command Set” messages for handling authentication and security in BLE.
TABLE 1-33: CONFIGURATION PARAMETERS
Configuration Operation Functionality Parameter Value Command Set Messages
Manual Operation /
Auto Operation
Bluetooth 4.2 Features Data Length Extension =
0x00 – Disabled,
0x01 – Enabled
Pairing Method =
0x00 – Only legacy pairing enabled [Just Works, Passkey] (pairing
method used will be based on I/O capabilities of peer device and
BM70/71 module)
0x01 – Legacy and LE Secure Connections enabled [Just Works,
Passkey, Numeric Comparison] (pairing method used will be based
on I/O capabilities of peer device and BM70/71 module)
0x02 – Only LE Secure Connections pairing enabled [Numeric Com-
parison] (pairing success will be based on I/O capabilities and LE
Secure Connections being supported in peer device)
N/A, this is all based on I/O capabilities of
devices
Auto Operation BLE Security
Setting
BLE Security =
0x00 – Disabled (BM70/71 module informs peer device
“pairing not supported”, this results in an unauthenticated unen-
crypted level of security for current connection)
0x01 – Pairing Enabled (BM70/71 module will inform peer device,
BM70/71 module supports pairing)
0x02 – Pairing Enabled, Authentication Required (BM70/71 module
informs peer device pairing supported and needs to result in a
authenticated encrypted level of security for current connection)
Trust Device Connection =
0x00 – Pair, Do not Bond,
0x01 – Pair and Bond
I/O Capability =
0x00 – Display Only
0x01 – Display Yes/No
0x02 – Keyboard Only
0x03 – No I/O available
0x04 – Keyboard and Display

Overview
2016 Microchip Technology Inc. Page 61
Manual Operation BLE Security Setting Trust Device Connection =
0x00 – Pair, Do not Bond,
0x01 – Pair and Bond
For Manual Operation Only
Write_Paring_Mode_Set-
ting(0x0B), controls the I/O capabilities
of device
For Manual Operation Only
Pairing_Request(0x42) control pair-
ing procedure when BM70/71 module is
initiator
The use of the following “Command Set”
messages, is based on the role BM70/71
module is playing (initiator or responder)
BM70/71 module to host “Command Set”
messages:
Passkey_Entry_Req(0x60)
Pairing_Complete(0x61)
Passkey_Confirm_Req(0x62)
Host to BM70/71 module “Command Set”
messages:
Passkey_Entry_Res(0x40)
User_Confirm_Res(0x41)
Pairing_Request(0x42)
TABLE 1-33: CONFIGURATION PARAMETERS (CONTINUED)
Configuration Operation Functionality Parameter Value Command Set Messages

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 62 2016 Microchip Technology Inc.
NOTES:

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 63
Chapter 2. Operating Modes, Configuration and Control
This chapter describes the minimum hardware interface required for host control and
the protocols used to communicate with the BM70/71 module. There are additional
hardware pins on the module, which can be used by the end target application to
achieve greater functionality. The protocols described in this document provide infor-
mation about the direct test, programming, and application commands used for the
BM70/71 module.
2.1 HARDWARE INTERFACE
A minimum set of hardware connections is required to interface a host to the BM70/71
module. Figure 2-1 illustrates the minimum connections required by the relevant hard-
ware pins on the module. Making these hardware connections between the host and
the BM70/71 module will allow a host to control the behavior of the module.
FIGURE 2-1: BM70/71 MODULE BLOCK DIAGRAM FOR EXTERNAL
INTERFACE
Note: The remaining communication protocols used for configuring the BM70/71
module are still available to the user, but require additional guidance.
Contact a local Microchip representative if design requirements must use
those communication protocols.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 64 2016 Microchip Technology Inc.
2.2 BM70/71 MODE SELECTION
The BM70/71 module's operation or mode is determined by the level of hardware pin
P2_0. This pin is sampled when the RST_N pin goes active. The RST_N signal must
be active for the minimum time period, so the P2_0 pin logic level is latched into the
BM70/71 module. Once the BM70/71 module enters the applicable mode,
communication over the UART interface becomes active. The data or protocol used to
communicate between the host and the BM70/71 module is based on the mode the
module enters after a reset.
At a high level, the test, configuration, and programming modes are entered when the
P2_0 pin is latched by the BM70/71 module at logic level “0”. The application or run
mode, where general BLE operation is available, is entered when P2_0 pin is latched
by the BM70/71 module at logic level “1”. Table 2-1 provides the use of the P2_0 pin.
Ta b l e 2 - 1 represents the three protocols and three modes available when the pin P2_0
is at a logic level of “0”. The header value and the data payload of the protocol packet
indicates the type of mode/protocol the host put the BM70/71 module into. For more
information on protocol descriptions, refer to 2.3 “Command Set Protocol”,
2.4 “Configuration Protocol”, 2.4.1 “UART Interface Characteristics”, and
2.6 “Direct Test Protocol”.
Figure 2-2 illustrates the signal level and timing control of the P2_0 pin by a host during
a reset event.
FIGURE 2-2: P2_0 PIN IN RESET EVENT
TABLE 2-1: P2_0 PIN LOGIC LEVEL FUNCTIONALITY
PIN P2_0 - Logic Level Mode Protocols Enabled
0 – Low Direct Test
Configuration
Programming
HCI command
Configuration Update
Memory Programming
1 – High Application or run Command Set

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 65
Figure 2-3 illustrates the signal level and timing control of the P2_0 pin during a POR
event.
FIGURE 2-3: P2_0 PIN IN POR EVENT
Once a designer implements the necessary signals to allow communication with the
end target application's host, the applicable protocols (based on the mode of the
BM70/71 module) must be referenced in later sections to learn how to control the
behavior of the module.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 66 2016 Microchip Technology Inc.
2.3 COMMAND SET PROTOCOL
When the BM70/71 module enters into Application or Run mode, and Auto Operation
or Manual Operation is active (refer to 1.1.2.1 “Auto Operation” and 1.1.2.2 “Manual
Operation”), the “Command Set” protocol is used by the host to control the behavior
of the BM70/71 module. This protocol loosely follows the Host Command Interface
(HCI) logic flow defined in the BLE specification. If a user is already familiar with the
HCI logic flow, understanding this protocol will be straightforward. This section
describes the commands a host uses to command BLE operations to occur within the
BM70/71 module.
For the purposes of evaluation, Microchip also provides two Graphical User Interface
(GUI) based PC programs which implement low-level details (commands and parse the
event responses) from the “Command Set” protocol. These PC tools can be used as
an aide to understand the information contained in the sub-sections below. The tools
are referred to as the Manual Pattern and Auto Pattern tools, and are part of the
“Software Tools” that are available for download for the BM70/71 module. The tools are
often referred to as “host MCU emulation” tools and are categorized as such in the
“Software Tools”.
2.3.1 General Message Format
Ta b l e 2 - 2 provides the general message format of the “Command Set” protocol
between the host and BM70/71 module.
Checksum rule: Checksum value is the byte value, which yields a result of “0”, when
added to the summed values of the Length (H), Length (L), OP Code, and Parameter
bytes. Table 2-3 provides an example of the checksum value.
In cases where the checksum calculation fails, the BM70/71 module will send a mes-
sage back to the host to indicate the checksum failure. For more information on com-
mand status, refer to 2.3.3 “Commands and Event Responses”.
Note: Download the “Software Tools” which are available on the BM70 and BM71
product pages of the Microchip website: www.microchip.com/BM70 for the
BM70 EVB and www.microchip.com/BM71 for the BM71 EVB.
TABLE 2-2: GENERAL MESSAGE FORMAT OF THE COMMAND SET
PROTOCOL
HEAD MID DATA CRC
Start Length OP Code Parameter Checksum
Byte No 0 1 - 2 3 4 - xx Length + 3
Size (Byte) 1 2 1 0 1
Value 0xAA 1 Command/
Event
Command/
Event parameter
Checksum
SYNC WORD Checksum to be calculated
TARGET LENGTH
TABLE 2-3: EXAMPLE OF THE CHECKSUM VALUE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Size (Byte) 0xAA 0x00 0x02 0x01 0x00 0xFD

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 67
2.3.2 UART Interface Characteristics
When operating in Application or Run mode, the UART can operate using the following
parameters:
• Baud Rate: 2400-921600 bps (configurable)
• Number of data bits: 8
• No parity
• 1 stop bit
• Flow control (configurable in some cases, disabled in all other configurations)
The baud rate is configurable and is set when the BM70/71 module is in configuration
mode. Once set, the BM70/71 module will use this baud rate for all “Command Set”
protocol communications until changed. UART flow control (RTS/CTS) is available as
a configuration parameter only when Auto Operation is selected. Since this protocol is
used when Manual Operation is active, the flow control is disabled. For more
information, refer to 1.1.2.1 “Auto Operation” and 1.1.2.2 “Manual Operation”.
Several other configurable hardware pins can take on different functionality, possibly
affecting the timing of communication over the UART. These hardware pins are
enabled or disabled based on the requirements of the end target application. For a
description of the associated functions in the BM70/71 module, which can affect com-
munication over the UART interface, refer to Section 1.1.2.3 “General Operation”.
Ta b l e 2 - 4 provides a list of hardware pin functionality which can affect UART
communication.
TABLE 2-4: HARDWARE PIN FUNCTIONALITY FOR UART COMMUNICATION
Functionality BM70 PINS BM71 PINS
UART_TX_IND P27 P27
UART_RX_IND P00 (if CTS disabled)
P07
P10
P11
P12
P13
P22
P24
P31
P32
P33
P34
P35
P36 (if RTS disabled)
P00 (if CTS disabled)
P12
P13
P16
P17
P36 (if RTS disabled)
WAKEUP P23 N/A

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 68 2016 Microchip Technology Inc.
2.3.3 Commands and Event Responses
The command packets are sent by the host to the BM70/71 module over the UART.
These packets contain an opcode which determines the sent command, a parameter
length field, and parameters for the command. In general, there are three basic types
of commands a host can send to the BM70/71 module:
• Configure the BM70/71 module state
• Request a specific action
• Control a connection
The internal logic of the BM70/71 module can be considered a state machine, which
has a number of parameters and modes to be configured. Configuration commands
can set these parameters/modes while the BM70/71 module is in a specific state. Some
commands request a specific action to occur without necessarily altering the state of
the BM70/71 module or the state of the connection. When a connection has been cre-
ated between two peer devices, commands can be sent to manage this connection.
Some messages require certain steps before executing successfully. When this type of
message is described, a diagram similar to a sequence diagram will be shown. The
diagram will help highlight previous messages which need to be executed so the
current message finishes successfully. The commands and events vary in length and
inspection of the length field will be performed to get the payload information out of the
message. Most commands have a “Command Complete Event” sent by the
BM70/71 module to the host when the command completes. Some commands are
executed in the background and do not return a “Command Complete Event” when
the command finishes. In those cases, the BM70/71 module sends a “Status Report
Event” back to the host when it has begun processing the command. When the
operation associated with the command has finished, the event which is associated
with the command will be sent to the host.
In general, all the messages from the host to the BM70/71 module will have some type
of response, but not all messages from the module to the host necessarily require
previous input (status message events). These types of messages can be viewed as
an internal BM70/71 module status change, synchronized to the occurrence of events
outside the scope of the host. The internal logic of the host will be capable of
processing these type of messages. The host will wait for the associated response(s)
before sending any new messages to the BM70/71 module.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 69
Figure 2-4 illustrates the message sequence diagram at a high level.
FIGURE 2-4: MESSAGE SEQUENCE DIAGRAM
When the host is waiting for a response, implement the timeout logic in case of errant
operation of the BM70/71 module. This timeout logic period can vary based on the
types of messages the host sends to the BM70/71 module. For commands which
include RF communication (for example, the GAP Create Connection command),
the time to execute the command will depend on the RF traffic and/or command param-
eters. Therefore, the response from the BM70/71 module back to the host will be
delayed, impacting any timeout period logic. Guidelines for a host implementing time-
out logic to guard against errant BM70/71 module communication are:
• For commands without direct RF communication: 2 seconds timeout period
• For commands with direct RF communication included: a timeout period is NOT
suggested

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 70 2016 Microchip Technology Inc.
2.3.3.1 READ LOCAL INFORMATION (OPCODE - 0X01)
This command is sent from the host to the BM70/71 module to retrieve:
• The internal firmware version of the module in Binary Coded Decimal (BCD)
format
• The Bluetooth address of the BM70/71 module
• The silicon chip Identification (only firmware version 106 and above).
In most cases this information is useful to the host for version control and to gain
manufacturing information. This command can also be used as a fast way of detecting
if the BM70/71 module is up and running.
2.3.3.1.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 provides the details of the command format from the host to the BM70/71
module.
2.3.3.1.2 Defaults
This does not apply to this command.
2.3.3.1.3 Example
Figure 2-5 illustrates an example of the Read Local Information(0x01)
command sent from the host to the BM70/71 module.
FIGURE 2-5: SEQUENCE DIAGRAM OF READ LOCAL INFORMATION
TABLE 2-5: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length OP Code Parameter Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x01 value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 71
2.3.3.1.4 Response Format, BM70/71 to Host
The BM70/71 module will respond to this command with a Command Complete
Event(0x80) response and will add additional data to the parameter field of the event
message. The length of this message changes based on the firmware version of the
device. BM70/71 modules with firmware version 106 or later will respond with the sili-
con identification value in the message. BM70/71 modules with firmware version 105
or earlier will be included in the silicon identification value. The parameter field and
variables are based on the firmware version, silicon chip identification, and the
programmed Bluetooth address.
Ta b l e 2 - 6 provides the details of the response format, from the BM70/71 module to the
host.
Ta b l e 2 - 7 provides the details of the parameter values and lengths.
2.3.3.1.5 Applicable Configuration
This command is available in both Manual Operation and Auto Operation configuration.
In Auto Operation configuration, there is a time period around when this command can
be sent by the host. If the time period has expired in Auto Operation configuration, this
command will be ignored.
TABLE 2-6: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n n+4
Value 0xAA 0x00 0x0D or
0x0E
0x01 see
Ta b l e 2 - 7
value
TABLE 2-7: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 Command succeeded 1 byte
0x01-0xFF Command failed codes. For more details,
refer to Table 2-119
Value of Parameter (5)
0x01 Opcode which was processed by BM70/71
module
1 byte
Value of Parameter (6 to 9)
0xXXXX_XXXX Firmware version encoded as BCD 4 bytes
Value of Parameter (10 to 15)
0xXXXX_XXXX_XXXX Bluetooth address 6 bytes
Value of Parameter (16)
0x00 BM70 Silicon Identifica-
tion field only
applies with firm-
ware version 106 or
above
0x01 BM71
0x02 IS1870
0x03 IS1871

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 72 2016 Microchip Technology Inc.
2.3.3.2 RESET (OPCODE - 0X02)
This command performs a reset on the BM70/71 module. When this command is
issued, the behavior of the BM70/71 module is same as when the hardware RST_N pin
is used. Internally this command returns the BM70/71 module to “Idle mode” in the
Standby state, which is indicated in the response.
This command is typically used when the RST_N pin is not available to the host to
correct any errant operation or to synchronize the host with the BM70/71 module.
2.3.3.2.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 8 provides the details of the command format, from the host to the BM70/71
module.
2.3.3.2.2 Defaults
This does not apply to this command.
2.3.3.2.3 Example
Figure 2-6 illustrates an example of the reset command sent from the host to the
BM70/71 module.
FIGURE 2-6: SEQUENCE DIAGRAM OF RESET
TABLE 2-8: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length OP Code Parameter Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x02 value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 73
2.3.3.2.4 Response Format, BM70/71 Module to Host
The BM70/71 module will respond to this command with a Status Report Event
(0x81) response. The value in the status will indicate that the BM70/71 module has
returned to “Idle mode”. For more information on the response format, refer to
2.3.3.52 “Status Report Event (opcode - 0x81)”.
2.3.3.2.5 Applicable configuration
This command is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 74 2016 Microchip Technology Inc.
2.3.3.3 READ BM70/71 STATUS (OPCODE - 0X03)
This command is used to read the internal status of the BM70/71 module. This com-
mand cannot be used in the Shutdown state because the BM70/71 module is inactive.
2.3.3.3.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 provides the details of the command format from the host to the BM70/71
module.
2.3.3.3.2 Defaults
This does not apply to this command.
2.3.3.3.3 Example
Figure 2-7 illustrates an example of the Read BM70/71 Status(0x03) command
sent from the host to the BM70/71 module.
FIGURE 2-7: SEQUENCE DIAGRAM OF READ BM70/71 STATUS
2.3.3.3.4 Response Format, BM70/71 Module to Host
The BM70/71 module will respond to this command with a Status Report Event
(0x81) response. The value in the status will indicate the mode (temporary sub-state)
of the BM70/71 module. The BM70/71 module has a total of nine modes. All modes do
not apply to all states within the BM70/71 module.
TABLE 2-9: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x03 value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 75
Ta b l e 2 - 1 0 provides the details of the response format from the BM70/71 module to the
host.
2.3.3.3.5 Applicable Configuration
This command is available in Manual Operation and Auto Operation only when the
“Configuration Window” is active (refer to 1.1.2.1.3 “Auto Operation – Configuration
Timeout”).
TABLE 2-10: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x81 see
Ta b l e 2 - 1 2 1
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 76 2016 Microchip Technology Inc.
2.3.3.4 READ BM70/71 ADC VALUE (OPCODE - 0X04)
This command is used to read the voltage present on the applicable analog pin/chan-
nel. The pin has to be configured appropriately, and some of the channel numbers in
the command do not apply to the BM70/71 module because the pin is not available (see
1.1.2.2.2 “Manual Operation – Analog Pins”). All channel numbers are shown for the
purpose of developers using the IS1870/71 chip directly.
2.3.3.4.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 11 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 1 2 provides the parameter values and lengths.
2.3.3.4.2 Defaults
This does not apply to this command.
TABLE 2-11: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x04 see
Ta b l e 2 - 1 2
value
TABLE 2-12: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0x00 Channel 0 1 byte
0x01 Channel 1
0x02 Channel 2
0x03 Channel 3
0x04 Channel 4
0x05 Channel 5
0x06 Channel 6
0x07 Channel 7
0x08 Channel 8
0x09 Channel 9
0x0A Channel 10
0x0B Channel 11
0x0C Channel 12
0x0D Channel 13
0x0E Channel 14
0x0F Channel 15
0x10 Battery Voltage
0x11 Temperature Value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 77
2.3.3.4.3 Example
Figure 2-8 illustrates an example of reading the ADC value from the host to the
BM70/71 module.
FIGURE 2-8: SEQUENCE DIAGRAM OF READ BM70/71 ADC VALUE
2.3.3.4.4 Response Format, BM70/71 Module to Host
The BM70/71 module will respond to this command with a Command Complete
Event(0x80) response. The values returned indicate if the command is successful or
not. If the command is successful, the values for the measured voltage and resolution
(step size) will follow. The step size is based on an internal formula that the host cannot
control (for more information, refer to 1.1.2.2.2 “Manual Operation – Analog Pins”).
Ta b l e 2 - 1 3 provides details of the response format from the BM70/71 module to the
host.
TABLE 2-13: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 7 5
Value 0xAA 0x00 0x02 0x81 see
Table 2-14
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 78 2016 Microchip Technology Inc.
Ta b l e 2 - 1 4 provides parameter values and lengths.
2.3.3.4.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-14: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 0x00 – command successful 1 byte
0x01 0x01-0xFF, command failure (for table of
values, refer to Tab l e 2 -119)
Value of Parameter (5)
0x00 Step size
0x00 – no step size, raw ADC Value
0x01 – 0.1V
0x02 – 0.05V
0x03 – 0.025V
1 byte
Value of Parameter (6 to 7)
0xXXXX Digital value from Analog to Digital
conversion
Parameter 6 is Most Significant Byte (MSB)
Parameter 7 is Least Significant Byte (LSB)
2 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 79
2.3.3.5 INTO SHUTDOWN MODE (OPCODE - 0X05)
This command is sent from the host to the BM70/71 module to put the BM70/71 module
into Shutdown mode. This will put the BM70/71 module into the “Deep-sleep/Shut-
down” low-power mode, which is the lowest current consumption mode for the
BM70/71 module. The BM70/71 module must be in “Idle mode” for this command to be
successful.
2.3.3.5.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 1 5 provides details of the command format from the host to the BM70/71
module.
2.3.3.5.2 Defaults
This does not apply to this command.
2.3.3.5.3 Example
Figure 2-9 illustrates an example of the Into Shutdown(0x05) command from the
host to the BM70/71 module.
FIGURE 2-9: SEQUENCE DIAGRAM OF INTO SHUTDOWN MODE
TABLE 2-15: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x05 value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 80 2016 Microchip Technology Inc.
2.3.3.5.4 Response Format, BM70/71 Module to Host
The BM70/71 module will respond with two replies to the host when receiving the Shut-
down command. The BM70/71 module will send a Command Complete Event
(0x80) response on successfully receiving the message and processing it. The
BM70/71 module will then send a Status Report Event(0x81) response when
the command has fully completed and the BM70/71 module is entering the Shutdown
state. If the Into Shutdown(0x05) command is incorrectly processed or cannot be
completed, the Status Report Event(0x81) response will never be sent and the
Command Complete Event(0x80) response will contain an error code for the host
to process.
Ta b l e 2 - 1 6 provides the details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 1 7 provides the parameter values and lengths.
Ta b l e 2 - 1 8 provides details of the Status Report Event(0x81) response format
from the BM70/71 module to the host.
2.3.3.5.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-16: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 7 5
Value 0xAA 0x00 0x02 0x80 see
Table 2-17
value
TABLE 2-17: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0x00 0x00 – command successful 1 byte
0x01 0x01 – 0xFF, command failure (for table of
values, refer to Tab l e 2 -119)
TABLE 2-18: STATUS REPORT RESPONSE FORMAT
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 7 5
Value 0xAA 0x00 0x02 0x81 see
Table 2-121
value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 81
2.3.3.6 READ DEVICE NAME (OPCODE - 0X07)
This command is used by the host to read the device name fragment in the BM70/71.
During configuration this value can be programmed by the host or by using the Write
Device Name(0x08) command.
2.3.3.6.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 1 9 provides details of the command format from the host to the BM70/71
module.
2.3.3.6.2 Defaults
This does not apply to this command.
2.3.3.6.3 Example
Figure 2-10 illustrates an example of the Read Device Name(0x07) command sent
from the host to the BM70/71 module.
FIGURE 2-10: SEQUENCE DIAGRAM OF READ DEVICE NAME
2.3.3.6.4 Response Format, BM70/71 Module to Host
The BM70/71 replies to the host with the Command Complete Event(0x80)
response, with the device name added to the parameter field of this event message.
The device name is limited to the length allowed in Configuration mode.
TABLE 2-19: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x07 value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 82 2016 Microchip Technology Inc.
Ta b l e 2 - 2 0 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 2 1 provides the parameter values and lengths.
2.3.3.6.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-20: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0xXX 0x80 see
Table 2-21
value
TABLE 2-21: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – command successful 1 byte
0x01 – 0xFF, command failure (for table of
values, refer to Tab l e 2 -119)
Value of Parameter (5 to n)
0xXX This will be the ASCII hex values of the
string programmed into the name fragment
field
Length = (n+1) - 5
bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 83
2.3.3.7 WRITE DEVICE NAME (OPCODE - 0X08)
This command is used to assign a name to the BM70/71 module. This name will be
seen by remote devices performing a scan. This command can only be sent from “Idle
mode” while in the Standby state.
2.3.3.7.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 2 2 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 2 1 provides the parameter values and lengths.
2.3.3.7.2 Defaults
This does not apply to this command.
2.3.3.7.3 Example
Figure 2-11 illustrates an example of the Write Device Name(0x08) command
sent from the host to the BM70/71 module.
FIGURE 2-11: SEQUENCE DIAGRAM OF WRITE DEVICE NAME
TABLE 2-22: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0xXX 0x08 see
Tabl e 2 -23
value
TABLE 2-23: PARAMETERS VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 0x00 – Reserved 1 byte
Value of Parameter (5 to n)
0xXX Device Name in ASCII hex values Length = (n+1) - 5 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 84 2016 Microchip Technology Inc.
2.3.3.7.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append additional data to the event response. For more information, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.7.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 85
2.3.3.8 ERASE ALL PAIRED_BONDED DEVICE INFORMATION
(OPCODE - 0X09)
This command is used to erase all saved Long Term Keys (LTK) from the pairing pro-
cess. This list of keys is a list of the remote devices the BM70/71 module has bonded
with. This command can only be sent while the BM70/71 module is in “Idle mode” or
the “Configuration Window” is active while in the Standby state.
2.3.3.8.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 2 4 provides details of the command format from the host to the BM70/71
module.
2.3.3.8.2 Defaults
This does not apply to this command.
2.3.3.8.3 Example
Figure 2-12 illustrates an example of the Erase All Paired_Bonded Device
Information(0x09) command sent from the host to the BM70/71 module.
FIGURE 2-12: SEQUENCE DIAGRAM OF ERASE PAIRED_BONDED
DEVICE
2.3.3.8.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append additional data to the event response. For more information, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.8.5 Applicable Configuration
This command applies to Manual Operation and Auto Operation only when the
“Configuration Window” is active.
TABLE 2-24: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x09 value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 86 2016 Microchip Technology Inc.
2.3.3.9 READ PAIRING MODE SETTING (OPCODE - 0X0A)
This command is used by the host to find out the settings of the current I/O capabilities
of the BM70/71 module. The value returned has an overall impact on the level of
security achieved when the pairing process is complete (refer to 1.1.2.3.6 “General
Operation - Security”).
2.3.3.9.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 2 5 provides details of the command format from the host to the BM70/71
module.
2.3.3.9.2 Defaults
This does not apply to this command.
2.3.3.9.3 Example
Figure 2-13 illustrates an example of the Read Pairing Mode Setting(0x0A)
command from the host to the BM70/71 module.
FIGURE 2-13: SEQUENCE DIAGRAM OF READ PAIRING MODE
TABLE 2-25: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x0A value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 87
2.3.3.9.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response with
the value of the current I/O capability added in the parameters field of this event
message.
Ta b l e 2 - 2 6 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 2 7 provides the parameter values and lengths.
2.3.3.9.5 Applicable configuration
This command applies to Manual Operation and Auto Operation only when the
“Configuration Window” is active.
TABLE 2-26: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x02 0x80 see
Table 2-27
value
TABLE 2-27: PARAMETERS VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – command successful 1 byte
0x01 – 0xFF, command failure (for table of
values, refer to Tab l e 2 -119)
Value of Parameter (5)
0x00 Display Only 1 byte
0x01 Display Yes/No
0x02 Keyboard Only
0x03 No I/O Capabilities
0x04 Keyboard + Display

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 88 2016 Microchip Technology Inc.
2.3.3.10 WRITE PAIRING MODE SETTING (OPCODE - 0X0B)
This command is used to write the I/O capability of the host into the BM70/71 module.
The written value has an overall impact on the level of security the connection will have
after the pairing process is completed (refer to 1.1.2.3.6 “General Operation - Secu-
rity”).
2.3.3.10.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 2 8 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 2 9 provides the parameter values and lengths.
2.3.3.10.2 Defaults
This does not apply to this command.
TABLE 2-28: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x01 0x0B see
Tab le 2 - 29
value
TABLE 2-29: PARAMETERS VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 0x00 – Reserved, write as 0x00 1 byte
Value of Parameter (5)
0x00 Display Only 1 byte
0x01 Display Yes/No
0x02 Keyboard Only
0x03 No I/O Capabilities
0x04 Keyboard + Display

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 89
2.3.3.10.3 Example
Figure 2-14 illustrates an example of the Write Pairing Mode Setting
(0x0B)command from the host to the BM70/71 module.
FIGURE 2-14: SEQUENCE DIAGRAM OF WRITE PAIRING MODE
2.3.3.10.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append additional data to the event response. For more information on the
format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.10.5 Applicable Configuration
This command applies to Manual Operation when the BM70/71 module is in “Idle
mode” in the Standby state, and only to Auto Operation when the “Configuration
Window” is active.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 90 2016 Microchip Technology Inc.
2.3.3.11 READ ALL PAIRED_BONDED DEVICE INFORMATION
(OPCODE - 0X0C)
This command is used to read the bonded (part of the pairing process) device list of the
BM70/71 module. The BM70/71 module can only store up to the last eight devices that
have bonded. When bonding occurs, the LTK is exchanged and saved.
2.3.3.11.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 3 0 provides details of the command format from the host to the BM70/71
module.
2.3.3.11.2 Defaults
This does not apply to this command.
2.3.3.11.3 Example
Figure 2-15 illustrates an example of reading the paired and bonded device list from
the host to the BM70/71 module.
FIGURE 2-15: SEQUENCE DIAGRAM OF READ PAIRED_BONDED DEVICE
TABLE 2-30: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x01 0x0C value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 91
2.3.3.11.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response with
the pairing and bonding list added to the parameters field of the event message. The
total length is dependent on how many devices the BM70/71 module has stored.
Ta b l e 2 - 3 1 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 3 2 provides the parameter values and lengths.
2.3.3.11.5 Applicable Configuration
This command can be used in Manual Operation when the BM70/71 module is in “Idle
mode” in the Standby state, and in Auto Operation only when the “Configuration
Window” is active.
TABLE 2-31: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x0C-0x43 0x80 see
Table 2-32
value
TABLE 2-32: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 0x00 – command successful 1 byte
0x01 0x01 – 0xFF, command failure (for table of
values, refer to Tab l e 2 -119)
Value of Parameter (5)
0x00 0xXX, number of paired and bonded
devices. Up to 8 (max)
1 byte
Value of Parameter (n to (n+7))
0xXX Paired device index (0 to 7) 8 bytes
0xXX Link Priority
0x01 - Most recent device
•
•
•
0x08 - Oldest device
0xXX XX XX XX XX XX Paired and Bonded device Bluetooth
address

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 92 2016 Microchip Technology Inc.
2.3.3.12 DELETE PAIRED_BONDED DEVICE (OPCODE - 0X0D)
This command is sent by the host to delete a particular device from the bonded list. The
device is identified using an index value, similar to an index used to address a particular
array element in “C” code. For information on device index references, refer to the
2.3.3.11 “Read All Paired_Bonded Device Information (opcode - 0x0C)” com-
mand.
2.3.3.12.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 3 3 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 3 4 provides the parameter values and lengths.
2.3.3.12.2 Defaults
This does not apply to this command.
TABLE 2-33: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x03 0x0D see
Tab le 2 - 34
value
TABLE 2-34: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
0x00 Device Index
The range of the device index is:
0x00
•
•
•
0x07
1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 93
2.3.3.12.3 Example
Figure 2-16 illustrates an example of deleting the paired and bonded device from the
host to the BM70/71 module.
FIGURE 2-16: SEQUENCE DIAGRAM OF DELETE PAIRED_BONDED
DEVICE
2.3.3.12.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append additional data to the event message. For more information on the
format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.12.5 Applicable Configuration
This command applies to Manual Operation when the BM70/71 module is in “Idle
mode” in the Standby state and to Auto Operation only when the “Configuration
Window” is active.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 94 2016 Microchip Technology Inc.
2.3.3.13 DIGITAL INPUT/OUTPUT CONTROL (OPCODE - 0X0E)
This command can be sent by the host to write and/or read any digital general I/O pin
which is configured correctly. There are four ports (Port 0 to Port 3) with eight general
I/O pins each available for control on the BM70/71 module. A port pin is referred to by
a combination of the port number and port pin (for example, Port 0 pin 1, is P0_1). Valid
pins numbers are zero through seven (0-7). Pin seven (P0_7) is represented in the
Most Significant bit (MSb) position of an eight-bit digital value; pin zero (P0_0) is
represented in the Least Significant bit (LSb) position of the same eight-bit value (Port
0 - pins [7 to 0]). To read and write a specific pin, no other hardware function can be
configured to use this pin. For more information on the general I/O features available
on the BM70/71 module, refer to 1.1.2.2.1 “Manual Operation – General I/O”.
2.3.3.13.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 3 5 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 3 6 provides the parameter values and lengths.
TABLE 2-35: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 15 5
Value 0xAA 0x00 0x0D 0x0E see
Ta b l e 2 - 3 6
value
TABLE 2-36: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4 to 7)
0bXXXX_XXXX Port (0-3) – pin [7 to 0] input/output direc-
tion control
0 – sets pin to input
1 – sets pin to output
Port 0 value is parameter 4
Port 1 value is parameter 5
Port 2 value is parameter 6
Port 3 value is parameter 7
4 bytes
Value of Parameter (8 to 11)
0bXXXX_XXXX Port (0-3) – pin [7 to 0] output value
0 – sets pin to a logic level of “0”
1 – sets pin to a logic level of “1”
Pins must be enabled as digital I/O to be
writable
Port 0 value is parameter 8
Port 1 value is parameter 9
Port 2 value is parameter 10
Port 3 value is parameter 11
4 bytes
Value of Parameter (12 to 15)
0bXXXX_XXXX Port (0-3) – pin [7 to 0] digital I/O enable
0 – disables this pin as general digital I/O
1 – enables this pin as general digital I/O
Port 0 value is parameter 12
Port 1 value is parameter 13
Port 2 value is parameter 14
Port 3 value is parameter 15
8 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 95
2.3.3.13.2 Defaults
This does not apply to this command.
2.3.3.13.3 Example
Figure 2-17 illustrates an example of digital I/O control from the host to the BM70/71
module.
FIGURE 2-17: SEQUENCE DIAGRAM OF DIGITAL I/O CONTROL
2.3.3.13.4 Response Format, BM70/71 Module to Host
The BM70/71 module responds to the host with the Command Complete
Event(0x80) response. The value of each port’s (Port 0 to Port 3) digital I/O enable
control register is returned. The BM70/71 module returns the digital value read on each
port pin, regardless of what the pin has been configured for. These values are added
to the parameters field of the event response.
Ta b l e 2 - 3 7 provides details of the Command Complete Event(0x80) response for-
mat from the BM70/71 module to the host.
TABLE 2-37: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x0A 0x80 see
Table 2-38
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 96 2016 Microchip Technology Inc.
Ta b l e 2 - 3 8 provides the parameter values and lengths.
2.3.3.13.5 Applicable configuration
This command is only available in Manual Operation.
TABLE 2-38: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – command successful 1 byte
0x01 – 0xFF, command failure (see
Table 2-119)
Value of Parameter (5 to 8)
0bXXXX_XXXX Port (0-3) – pin [7 to 0] digital I/O enable
control value read from register
0 – pin is disabled as general digital I/O
1 – pin is enabled as general digital I/O
Port 0 value is parameter 5
Port 1 value is parameter 6
Port 2 value is parameter 7
Port 3 value is parameter 8
4 bytes
Value of Parameter (9 to 12)
0xXX Port (0-3) – pin [7 to 0] port value read from
register
0 – pin is a logic level of “0”
1 – pin is a logic level of “1”
Port 0 value is parameter 9
Port 1 value is parameter 10
Port 2 value is parameter 11
Port 3 value is parameter 12
4 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 97
2.3.3.14 PWM CONTROL (OPCODE - 0X0F)
This command is used by the host to control the PWM output function on the BM70/71
module. The pins selected for the available PWM channel must not be configured for
any other function. For an overview of PWM functionality, refer to 1.1.2.2.3 “Manual
Operation – Pulse Width Modulation (PWM) Output”.
2.3.3.14.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 3 9 provides the details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 3 6 provides the parameter values and lengths.
2.3.3.14.2 Defaults
This does not apply to this command.
TABLE 2-39: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 11 5
Value 0xAA 0x00 0x09 0x0F see
Ta b l e 2 - 4 0
value
TABLE 2-40: PARAMETERS VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – Channel 1 with output to P21
0x01 – Channel 2
0x02 – Channel 3
0x03 – Channel 4
0x04 – Channel 1 with output to P36
1 byte
Value of Parameter (5)
0xXX 0x00 – PWM disable
0x01 – PWM enable
1 byte
Value of Parameter (6)
0xXX 0x00 – 32 kHz
0x01 – 1 MHz
0x02 – 16 MHz
1 byte
Value of Parameter (7 to 8)
0xXXXX Timer Top Range value 2 bytes
Value of Parameter (9 to 10)
0xXXXX Compare value 2 bytes
Value of Parameter (11)
0xXX 0x00 – Normal output
0x01 – Inverse output
1 byte

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 98 2016 Microchip Technology Inc.
2.3.3.14.3 Example
Figure 2-18 illustrates an example of PWM control from the host to the BM70/71
module.
FIGURE 2-18: SEQUENCE DIAGRAM OF PWM CONTROL
2.3.3.14.4 Response Format, BM70/71 Module to Host
The BM70/71 returns the Command Complete Event(0x80) response and does not
append the additional data to the event response. For more information on the format
of the response, refer to 2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.14.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 99
2.3.3.15 READ RSSI VALUE (OPCODE - 0X10)
This command is used to read the RSSI value for a peer connection. This command
takes a value called a handle to identify the connection that must be measured. This
handle is sent to the host through an LE Connection Complete Event(0x71)
response. This command is only valid while the devices are connected.
2.3.3.15.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 4 1 provides details of the command format from the host to the BM70/71
module.
2.3.3.15.2 Defaults
This does not apply to this command.
2.3.3.15.3 Example
Figure 2-19 illustrates an example of reading the RSSI value from the host to the
BM70/71 module.
FIGURE 2-19: SEQUENCE DIAGRAM OF RSSI VALUE
TABLE 2-41: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 15 5
Value 0xAA 0x00 0x01 0x10 0xXX -
handle
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 100 2016 Microchip Technology Inc.
2.3.3.15.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
adds the measured RSSI value in the parameters field. For more information about the
base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
Ta b l e 2 - 4 2 provides details on the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 4 3 provides the parameter values and lengths.
2.3.3.15.5 Applicable configuration
This command is only available in Manual Operation.
TABLE 2-42: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x03 0x80 see
Table 2-43
value
TABLE 2-43: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – command successful 1 byte
0x01 – 0xFF, command failure (see
Table 2-119)
Value of Parameter (5)
0xXX RSSI value in dB 1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 101
2.3.3.16 WRITE ADVERTISING DATA (OPCODE - 0X11)
This command is used by the host to write data into the available payload of the adver-
tising packet. The data written can be up to 31 bytes in length, and there is no limitation
to the type of data that can be written.
2.3.3.16.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 4 4 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 4 5 provides the parameter values and lengths.
2.3.3.16.2 Defaults
This does not apply to this command.
TABLE 2-44: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x03 to
0x21
0x11 see
Ta b l e 2 - 4 5
value
TABLE 2-45: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – Reserved for future use 1 byte
0x80 – Beacon data will not be stored
Value of Parameter (5 to n)
0xXX Host advertising data to be sent in payload
of advertising packet
Length = (n - 5)
byte(s), 31 bytes
(max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 102 2016 Microchip Technology Inc.
2.3.3.16.3 Example
Figure 2-20 illustrates an example of writing advertising data from the host to the
BM70/71 module.
FIGURE 2-20: SEQUENCE DIAGRAM OF WRITE ADVERTISING DATA
2.3.3.16.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
format of response, refer to 2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.16.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 103
2.3.3.17 WRITE SCAN RESPONSE DATA (OPCODE - 0X12)
This command is used by the host to write data into the available payload of the scan
request packet. The data written can be up to 31 bytes in length and there is no limita-
tion to the type of data which can be written. If it requests, the scan request packet is
only sent to the remote device.
2.3.3.17.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 4 6 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 4 7 provides the parameter values and lengths.
2.3.3.17.2 Defaults
This does not apply to this command.
2.3.3.17.3 Example
Figure 2-21 illustrates an example of writing scan response data from the host to the
BM70/71 module.
FIGURE 2-21: SEQUENCE DIAGRAM OF WRITE SCAN RESPONSE DATA
TABLE 2-46: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x03 to
0x21
0x12 see
Ta b l e 2 - 4 7
value
TABLE 2-47: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – Reserved for future use 1 byte
Value of Parameter (5 to n)
0xXX Scan response data to be sent Length = (n - 5)
byte(s), 31 bytes
(max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 104 2016 Microchip Technology Inc.
2.3.3.17.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.17.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 105
2.3.3.18 SET ADVERTISING PARAMETERS (OPCODE - 0X13)
This command is used to setup the advertising parameters of the BM70/71 module.
This command can only be sent by the host while the BM70/71 module is in “Idle mode”
in the Standby state. For directed advertising, the Bluetooth address can be public or
random. For random, the BM70/71 module only supports a static random address for
directed advertising. The BM70/71 module cannot resolve a “Resolvable private
address” as described in the BLE specification due to a hardware limitation.
2.3.3.18.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 4 8 provides the details of the command format, from the host to the BM70/71
module.
Ta b l e 2 - 4 9 provides the parameter values and lengths.
2.3.3.18.2 Default
The default value for the advertising interval is 0x0800 (1.28 seconds), unless set by
the host.
TABLE 2-48: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x0C 0x13 see
Ta b l e 2 - 4 9
value
TABLE 2-49: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4 to 5)
0xXX Advertising Interval for undirected
advertising.
Range – 0x0020 (20 ms) - 4000 (10.24 s)
Interval = value * 0.000625
Parameter 4 is MSB
Parameter 5 is LSB
2 bytes
Value of Parameter (6)
0x00 Connectable undirected advertising 1 byte
0x01 Connectable directed advertising
0x02 Scannable undirected advertising
0x03 Non connectable undirected advertising.
Setting this value puts the BM70/71 module
into broadcast mode
0x04 Proprietary beacon setting
Value of Parameter (7)
0x00 Public Device Address 1 byte
0x01 Random Device Address
Value of Parameter (8)
0xXX XX XX XX XX XX Device address of the device to be direct
these advertising packets to
6 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 106 2016 Microchip Technology Inc.
2.3.3.18.3 Example
Figure 2-22 illustrates an example of setting the advertising parameters from the host
to the BM70/71 module.
FIGURE 2-22: SEQUENCE DIAGRAM OF SET ADVERTISING DATA
2.3.3.18.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
format of response, refer to 2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.18.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 107
2.3.3.19 SET SCAN PARAMETERS (OPCODE - 0X15)
This command is used by the host to set up the scan parameters of the BM70/71 mod-
ule. This command is only valid when the BM70/71 module is in “Idle mode” in the
Standby state. To enable scanning, the host uses the Set Scan Enable(0x16)
command.
2.3.3.19.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 0 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 5 1 provides the parameter values and lengths.
2.3.3.19.2 Defaults
The default value for the scanning interval is 0x0010 (10 ms), unless set by the host.
The default value for the scan window is 0x0010 (10 ms). The default value for the scan
type is Passive Scanning(0x01).
TABLE 2-50: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x06 0x15 see
Ta b l e 2 - 5 1
value
TABLE 2-51: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4 to 5)
0xXX This is the scan interval. This represents
how often the BM70/71 module will perform
the scan
Range – 0x0004 (2.5 ms) - 4000 (10.24s)
Interval = value * 0.000625
Parameter 4 is MSB
Parameter 5 is LSB
2 bytes
Value of Parameter (5 to 6)
0xXX This is the duration of time; the device will
be scanning for, when the scanning interval
(scan window) occurs. This value must be
less than or equal to the scan interval time
period.
Range – 0x0004 (2.5 ms) - 4000 (10.24s)
Interval = value * 0.000625
Parameter 4 is MSB
Parameter 5 is LSB
2 bytes
Value of Parameter (7)
0x00 Passive scanning. No scan request packets
can be sent
1 byte
0x01 Active Scanning. Scan Request packets
may be sent

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 108 2016 Microchip Technology Inc.
2.3.3.19.3 Example
Figure 2-23 illustrates an example of setting scan parameters from the host to the
BM70/71 module.
FIGURE 2-23: SEQUENCE DIAGRAM OF SET SCAN PARAMETERS
2.3.3.19.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the format of response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.19.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 109
2.3.3.20 SET SCAN ENABLE (OPCODE - 0X16)
This command is used to enable or disable the scanning process on the BM70/71
module. When performing this, it will cause the BM70/71 module to start or terminate
the discovery procedure as defined by the BLE specification.
2.3.3.20.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 2 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 5 3 provides the parameter values and lengths.
2.3.3.20.2 Defaults
This does not apply to this command.
TABLE 2-52: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x03 0x16 see
Ta b l e 2 - 5 3
value
TABLE 2-53: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 Scanning is disabled 1 byte
0x01 Scanning is enabled
Value of Parameter (5)
0x00 Do not filter advertisement packets. Every
received advertisement packet will be sent
to the host
1 byte
0x01 Filtering out duplicate advertisement
packets from the same Bluetooth address

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 110 2016 Microchip Technology Inc.
2.3.3.20.3 Example
Figure 2-24 illustrates an example of the Set Scan Enable(0x16) command from
the host to the BM70/71 module.
FIGURE 2-24: SEQUENCE DIAGRAM OF SET SCAN ENABLE
2.3.3.20.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) and the Sta-
tus Report Event(0x81) response. The BM70/71 module returns the Command
Complete Event(0x80) response when it has processed the command from the
host. The BM70/71 module sends the Status Report Event(0x81) when it has
finished executing this event. The value returned in the Status Report Event
(0x81) message depends on how the command was processed from the host. This
command does not append additional data to the Command Complete Event
(0x80) response. For more information on the format of event responses and possible
values, refer to 2.3.3.51 “Command Complete Event (opcode - 0x80)” and
2.3.3.52 “Status Report Event (opcode - 0x81)”.
2.3.3.20.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 111
2.3.3.21 LE CREATE CONNECTION (OPCODE - 0X17)
This command is used by the host to have the BM70/71 module initiate a connection
with a remote device detected during the discovery procedure. For the Bluetooth
address parameter in this command, the address of the peer device can be public or
random. For random, the BM70/71 module only supports a static random address for
creating a connection. The BM70/71 module cannot resolve a “Resolvable private
address” as described in the BLE specification due to a hardware limitation.
2.3.3.21.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 4 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 5 5 provides the parameter values and lengths.
2.3.3.21.2 Default
This does not apply to this command.
TABLE 2-54: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x09 0x17 see
Ta b l e 2 - 5 5
value
TABLE 2-55: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 Reserved, write as 0x00 1 byte
Value of Parameter (5)
0x00 Public Device Address 1 byte
0x01 Random Device Address
Value of Parameter (6 to 11)
0xXX XX XX XX XX XX Public Device Address 1 byte

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 112 2016 Microchip Technology Inc.
2.3.3.21.3 Example
Figure 2-25 illustrates an example of the LE Create Connection(0x17) command
from the host to the BM70/71 module.
FIGURE 2-25: SEQUENCE DIAGRAM OF LE CREATE CONNECTION
2.3.3.21.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns an LE Connection Complete Event(0x71)
response to the host when a connection with a peer device was attempted. This
command indicates if the execution was successful or not. If successful, the
parameters associated with the connected peer device are returned as well. For more
information about the format of event responses and parameters, refer to 2.3.3.48 “LE
Connection Complete Event (opcode - 0x71)”.
2.3.3.21.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 113
2.3.3.22 LE CREATE CONNECTION CANCEL (OPCODE - 0X18)
This command is used to cancel the LE Create Connection(0x17) command.
This command can only be issued by the host after the LE Create Connection
(0x17) command has been issued.
2.3.3.22.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 6 provides details of the command format from the host to the BM70/71
module.
2.3.3.22.2 Default
This does not apply to this command.
2.3.3.22.3 Example
Figure 2-26 illustrates an example of the LE Cancel Connection(0x18) command
from the host to the BM70/71 module.
FIGURE 2-26: SEQUENCE DIAGRAM OF LE CANCEL CONNECTION
2.3.3.22.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.22.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-56: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 5
Value 0xAA 0x00 0x09 0x17 value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 114 2016 Microchip Technology Inc.
2.3.3.23 CONNECTION PARAMETER UPDATE REQUEST
(OPCODE - 0X19)
This command is sent by the host to the BM70/71 module to change the connection
parameters of the active link. This command is only valid while the Bluetooth link is
successfully established between the BM70/71 module and the peer device.
2.3.3.23.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 7 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 5 8 provides the parameter values and lengths.
TABLE 2-57: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 10 5
Value 0xAA 0x00 0x08 0x19 see
Ta b l e 2 - 5 8
value
TABLE 2-58: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle 1 byte
Value of Parameter (5 to 6)
0xXXXX Connection Interval is the amount of time
between two connection events
Range – 0x0006 (7.5 ms) - 0x0C80 (4s)
Interval = value * 1.25 ms
Parameter 5 is MSB
Parameter 6 is LSB
2 bytes
Value of Parameter (7 to 8)
0xXXXX Slave Latency is the number of connection
events a slave can miss before the
connection is considered lost
Range: 0x0000 (0 connection events) -
0x01F4 (500 connection events)
Parameter 7 is MSB
Parameter 8 is MSB
2 bytes
Value of Parameter (9 to 10)
0xXXXX Supervision timeout is the maximum
amount of time allowed between two
packets being received. If this timeout is
exceeded and two or more packets have
not been received, the connection is
considered lost.
Range - 0x0006 (7.5 ms) - 0x0C80 (4s)
Interval = value * 1.25 ms
Parameter 5 is MSB
Parameter 6 is LSB
2 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 115
2.3.3.23.2 Default
This does not apply to this command.
2.3.3.23.3 Example
Figure 2-27 illustrates an example of the connection parameter update request from
the host to the BM70/71 module.
FIGURE 2-27: SEQUENCE DIAGRAM OF CONNECTION PARAMETER
UPDATE REQUEST
2.3.3.23.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response. If
the update was successful, the BM70/71 module will also return the Connection
Parameter Update Event(0x73) response. For more information on the format of
the response, refer to 2.3.3.50 “Connection Parameter Update Event (opcode -
0x73)” and 2.3.3.51 “Command Complete Event (opcode - 0x80)”.
2.3.3.23.5 Applicable Configuration
This command is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 116 2016 Microchip Technology Inc.
2.3.3.24 DISCONNECT (OPCODE - 0X1B)
This command is used to terminate a connection after the link has been established
between the BM70/71 module and a peer device.
2.3.3.24.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 5 9 provides details of the command format from the host to the BM70/71
module.
2.3.3.24.2 Default
This does not apply to this command.
2.3.3.24.3 Example
Figure 2-28 illustrates an example of the disconnect event from the host to the
BM70/71 module.
FIGURE 2-28: SEQUENCE DIAGRAM OF DISCONNECT EVENT
2.3.3.24.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Disconnect Complete(0x72) event and the
Status Report Event(0x81) response. The Disconnect Complete(0x72)
event response returns when it has processed the command from the host. The
BM70/71 module sends the Status Report Event(0x81) when it has finished exe-
cuting this event. The value returned in the Status Report Event(0x81) message
depends on the command processed from the host. For more information on the format
of the event responses and possible values, refer to 2.3.3.49 “Disconnect Complete
Event (opcode - 0x72)” and 2.3.3.52 “Status Report Event (opcode - 0x81)”.
2.3.3.24.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-59: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x01 0x1B 0x00 value

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 117
2.3.3.25 SET ADVERTISING ENABLE_DISABLE (OPCODE - 0X1C)
This command is sent by the host to start or stop the BM70/71 module from sending
advertising packets. To enable the BM70/71 module to send advertising packets, the
module must be in “Idle mode” of the Standby state. The command Set Advertis-
ing Parameter(0x13) will determine the type of advertising packets sent by the
BM70/71 module.
2.3.3.25.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 6 0 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 6 1 provides the parameter values and lengths.
2.3.3.25.2 Default
This does not apply to this command.
TABLE 2-60: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 10 5
Value 0xAA 0x00 0x02 0x1C see
Ta b l e 2 - 6 1
value
TABLE 2-61: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0x00 Stop sending advertising packets (BM70/71
module leaves Standby mode, enters Idle
mode in the Standby state)
1 byte
0x01 Start sending advertising packets (BM70/71
module leaves Idle mode, enters Standby
mode in the Standby state)
0x02 Start sending advertising packets directed
(BM70/71 module leaves Idle mode, enters
Standby mode in the Standby state). The
BM70/71 module will accept connection
requests for a previously paired/bonded
device.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 118 2016 Microchip Technology Inc.
2.3.3.25.3 Example
Figure 2-29 and Figure 2-30 illustrate examples of setting advertising packets from the
host to the BM70/71 module in Idle mode and Standby mode.
FIGURE 2-29: SEQUENCE DIAGRAM OF SET ADVERTISING PACKETS -
IDLE MODE
FIGURE 2-30: SEQUENCE DIAGRAM OF SET ADVERTISING PACKETS -
STANDBY MODE

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 119
2.3.3.25.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) and the Sta-
tus Report Event(0x81) response. The BM70/71 module returns the Command
Complete Event(0x80) response when it has processed the command from the
host. The BM70/71 module sends the Status Report Event(0x81) when it has
finished executing this event. The value returned in the Status Report
Event(0x81) message depends on how the command was processed from the host.
This command does not append additional data to the Command Complete
Event(0x80) response. For more information on the format of the response, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)” and 2.3.3.52 “Status Report
Event (opcode - 0x81)”.
2.3.3.25.5 Applicable Configuration
This command is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 120 2016 Microchip Technology Inc.
2.3.3.26 READ REMOTE DEVICE NAME (OPCODE - 0X1F)
This command is used to read the remote device name of the peer. This command is
only valid while the connection with the peer device is active. A host can use the Read
Status Report(0x03) to discover the state of the BM70/71 module to confirm if the
connection is active.
2.3.3.26.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 6 2 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 6 3 provides the parameter values and lengths.
2.3.3.26.2 Default
This does not apply to this command.
2.3.3.26.3 Example
Figure 2-31 illustrates an example of the Read Remote Device Name(0x1F)
command from the host to the BM70/71 module.
FIGURE 2-31: SEQUENCE DIAGRAM OF READ REMOTE DEVICE NAME
TABLE 2-62: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x1F see
Ta b l e 2 - 6 3
value
TABLE 2-63: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 121
2.3.3.26.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
adds the received device name from the peer device in the parameters field. For more
information on the base format and values, refer to 2.3.3.51 “Command Complete
Event (opcode - 0x80)”.
Ta b l e 2 - 6 4 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 6 5 provides the parameter values and lengths.
2.3.3.26.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-64: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x02 to
0xNN
0x80 see
Table 2-65
value
TABLE 2-65: PARAMETER VALUES AND LENGTHS
Value of Parameter (4 to n) Parameter Description Length
0x00 Remote Device Name 1 byte

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 122 2016 Microchip Technology Inc.
2.3.3.27 GATT CLIENT - DISCOVER ALL PRIMARY SERVICES
(OPCODE - 0X30)
This command is used by the host to have the BM70/71 module (client) discover all
primary services on a peer device (server).
2.3.3.27.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 6 6 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 6 7 provides the parameter values and lengths.
2.3.3.27.2 Default
This does not apply to this command.
2.3.3.27.3 Example
Figure 2-32 illustrates an example of the Discover All Primary Services
command from the host to the BM70/71 module.
FIGURE 2-32: SEQUENCE DIAGRAM OF GATT CLIENT - DISCOVER ALL
PRIMARY SERVICES
TABLE 2-66: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x30 see
Ta b l e 2 - 6 7
value
TABLE 2-67: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in a LE Connect Complete
Event(0x71) response
1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 123
2.3.3.27.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) and the Dis-
cover All Primary Services Response Event Response(0x90). The
BM70/71 module returns the Command Complete Event(0x80) response when it
has processed the command from the host. The BM70/71 module sends the Dis-
cover All Primary Services Response Event Response(0x90) when it
has received the service list from the peer device. This command does not append
additional data to the Command Complete Event(0x80) response. For more infor-
mation on the format of event responses and possible values, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)” and 2.3.3.54 “Discover All
Primary Services Event (opcode - 0x90)”.
2.3.3.27.5 Applicable Configuration
This command is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 124 2016 Microchip Technology Inc.
2.3.3.28 GATT CLIENT - DISCOVER SPECIFIC PRIMARY
SERVICE CHARACTERISTIC (OPCODE - 0X31)
This command is used to find all characteristic declarations, characteristic descriptor
attribute handles, and attribute types within a service definition on a peer device
(server) when only the UUID service value is known.
2.3.3.28.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 6 8 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 6 9 provides the parameter values and lengths.
2.3.3.28.2 Default
This does not apply to this command.
TABLE 2-68: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x04 to
0x12
0x31 see
Ta b l e 2 - 6 9
value
TABLE 2-69: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5 - 6) or (5 -22)
0xXX 16-bit Bluetooth UUID or 128-bit UUID 1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 125
2.3.3.28.3 Example
Figure 2-32 illustrates an example of the discover specific primary service command
from the host to BM70/71 module.
FIGURE 2-33: SEQUENCE DIAGRAM OF GATT CLIENT - DISCOVER
SPECIFIC PRIMARY SERVICES
2.3.3.28.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) and the Dis-
cover Specific Primary Services Characteristic Response Event
(0x91). The BM70/71 module returns the Command Complete Event(0x80)
response when it has processed the command from the host. The BM70/71 module
sends the Discover Specific Primary Services Characteristic
Response Event(0x91 when it has received the information from the peer device.
This command does not append additional data to the Command Complete Event
(0x80) response. For more information on the format of event responses and possible
values, refer to 2.3.3.51 “Command Complete Event (opcode - 0x80)” and
2.3.3.55 “Discover Specific Primary Service Characteristic Declaration Event
(opcode - 0x91)”.
2.3.3.28.5 Applicable Configuration
This command is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 126 2016 Microchip Technology Inc.
2.3.3.29 READ CHARACTERISTIC VALUE (OPCODE - 0X32)
This command is used by the host to have the BM70/71 module read the
“Characteristic value” attribute from a peer device (server).
2.3.3.29.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 7 0 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 7 1 provides the parameter values and lengths.
2.3.3.29.2 Default
This does not apply to this command.
2.3.3.29.3 Example
Figure 2-34 illustrates an example of the read characteristic value command from the
host to the BM70/71 module.
TABLE 2-70: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 6 5
Value 0xAA 0x00 0x05 0x32 see
Ta b l e 2 - 7 1
value
TABLE 2-71: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5 to 6)
0xXXXX Handle “Characteristic value” attribute 2 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 127
FIGURE 2-34: SEQUENCE DIAGRAM OF READ CHARACTERISTIC VALUE
2.3.3.29.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
adds the value from the “Characteristic value” attribute in the parameters field. For
more information on the base format and values, refer to 2.3.3.51 “Command Com-
plete Event (opcode - 0x80)”.
Ta b l e 2 - 7 2 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 7 3 provides the parameter values and lengths.
2.3.3.29.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-72: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x03 to
0x18
0x80 see
Table 2-73
value
TABLE 2-73: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x01 - 0xFF, command failure (for table
values, refer to Table 2-119)
1 byte
Value of Parameter (5 to 24)
0xXX Value of the “Characteristic value” attri-
bute from the peer device (server), up to
20 bytes max
1 to 20 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 128 2016 Microchip Technology Inc.
2.3.3.30 GATT CLIENT - READ USING CHARACTERISTIC UUID
(OPCODE - 0X33)
This command is used by the host to have the BM70/71 module (client) read the
“Characteristic value” attribute from a peer device (server) when only the characteristic
UUID is known.
2.3.3.30.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 7 4 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 7 5 provides the parameter values and lengths.
2.3.3.30.2 Default
This does not apply to this command.
TABLE 2-74: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x04 to
0x14
0x33 see
Ta b l e 2 - 7 5
value
TABLE 2-75: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in a LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5 to 6) or (5 to 20)
0xXX Characteristic UUID (16-bit or 128-bit) 2 or 16 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 129
2.3.3.30.3 Example
Figure 2-35 illustrates an example of the read using characteristic UUID command
from the host to BM70/71 module.
FIGURE 2-35: SEQUENCE DIAGRAM OF READ USING CHARACTERISTIC
UUID
2.3.3.30.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response, and
adds the handle and the value from the “Characteristic value” attribute in the parame-
ters field. For more information on the base format and values, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)”.
Ta b l e 2 - 7 6 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
TABLE 2-76: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x05 to
0x18
0x80 see
Table 2-77
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 130 2016 Microchip Technology Inc.
Ta b l e 2 - 7 7 provides the parameter values and lengths.
2.3.3.30.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-77: PARAMETER VALUES AND LENGTH
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX 0x00 – command successful 1 byte
0x01 – 0xFF, command failure (for table
values, refer to Table 2-119)
Value of Parameter (5 to 6)
0xXXXX Value of “Characteristic value” attribute
handle
2 bytes
Value of Parameter (7 to 26)
0xXX Value of the “Characteristic value” attri-
bute from the peer device (server), up to
20 bytes max
1 to 20 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 131
2.3.3.31 GATT CLIENT - WRITE CHARACTERISTIC VALUE
(OPCODE - 0X34)
This command is used by a host to have the BM70/71 module (client) write a value to
the “Characteristic value” attribute of a peer device (server).
2.3.3.31.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 7 8 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 7 9 provides the parameter values and lengths.
2.3.3.31.2 Default
This does not apply to this command.
TABLE 2-78: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x06 to
0x19
0x34 see
Ta b l e 2 - 7 9
value
TABLE 2-79: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in a LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5)
0x00 Write without Response. The client issues a
“Write Command” and does need an
acknowledgment the write was successful.
1 byte
0x01 Write “Characteristic value”. The client
issues a “Write request” to the server. The
server will respond with a “Write Response”
to indicate if the write operation was
successful on the “Characteristic value”.
Value of Parameter (6 to 7)
0x00 Handle “Characteristic value” 2 bytes
Value of Parameter (8 to 27)
0xXX “Characteristic value” 1 to 20 bytes (max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 132 2016 Microchip Technology Inc.
2.3.3.31.3 Example
Figure 2-36 illustrates an example of the write characteristic value from the host to the
BM70/71 module.
FIGURE 2-36: SEQUENCE DIAGRAM OF WRITE CHARACTERISTIC VALUE
2.3.3.31.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.31.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 133
2.3.3.32 GATT CLIENT - ENABLE TRANSPARENT UART SERVICE
(OPCODE - 0X35)
This command is used by a host to have the BM70/71 module (client) write a value to
the “Characteristic value” attribute of a peer device (server).
2.3.3.32.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 8 0 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 8 1 provides the parameter values and lengths.
2.3.3.32.2 Default
This does not apply to this command.
TABLE 2-80: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 6 5
Value 0xAA 0x00 0x04 0x35 see
Ta b l e 2 - 8 1
value
TABLE 2-81: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response.
1 byte
Value of Parameter (5)
0x00 Disable transparent service on peer device
(server)
1 byte
0x01 Enable transparent service on peer device
(server)
Value of Parameter (6 to 7)
0x00 Client sends transparent data using a
“Write Request”. A “Write Response” will be
issued by the server to let the client know if
the write operation was successful.
1 byte
0x01 Client sends the transparent data using a
“Write Command”. The client will not get a
“Write Response” from the server.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 134 2016 Microchip Technology Inc.
2.3.3.32.3 Example
Figure 2-37 illustrates an example of the enable “Transparent UART” service command
from the host to the BM70/71 module.
FIGURE 2-37: SEQUENCE DIAGRAM OF ENABLE TRANSPARENT UART
SERVICE
2.3.3.32.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.32.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 135
2.3.3.33 GATT SERVER - SEND CHARACTERISTIC VALUE
(OPCODE - 0X38)
This command is used by the host to have the BM70/71 module (server) send a
“Characteristic value” to a peer device (client).
2.3.3.33.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 8 2 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 8 3 provides the parameter values and lengths.
2.3.3.33.2 Default
This does not apply to this command.
TABLE 2-82: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 6 5
Value 0xAA 0x00 0x05 to
0x18
0x38 see
Ta b l e 2 - 8 3
value
TABLE 2-83: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5 to 6)
0xXXXX Handle “Characteristic value” attribute 2 bytes
Value of Parameter (7 to 26)
0xXX Value 1 to 20 bytes (max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 136 2016 Microchip Technology Inc.
2.3.3.33.3 Example
Figure 2-38 illustrates an example of the send characteristic value command from the
host to the BM70/71 module.
FIGURE 2-38: SEQUENCE DIAGRAM OF SEND CHARACTERISTIC VALUE
2.3.3.33.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.33.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 137
2.3.3.34 GATT SERVER - UPDATE CHARACTERISTIC VALUE
(OPCODE - 0X39)
This command is used by the host to update the value of an existing “Characteristic
value” attribute in the service table of the BM70/71 module.
2.3.3.34.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 8 4 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 8 5 provides the parameter values and lengths.
2.3.3.34.2 Default
This does not apply to this command.
TABLE 2-84: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x03 to
0x16
0x39 see
Ta b l e 2 - 8 5
value
TABLE 2-85: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte
Value of Parameter (5 to 24)
0xXX Value 1 to 20 bytes (max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 138 2016 Microchip Technology Inc.
2.3.3.34.3 Example
Figure 2-39 illustrates an example of updating the characteristic value from the host to
the BM70/71 module.
FIGURE 2-39: SEQUENCE DIAGRAM OF UPDATE CHARACTERISTIC
VALUE
2.3.3.34.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.34.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 139
2.3.3.35 GATT SERVER - READ LOCAL CHARACTERISTIC VALUE
(OPCODE - 0X3A)
This command is used by the host to have the BM70/71 module read and return the
value from the “Characteristic value” attribute.
2.3.3.35.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 8 6 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 8 7 provides the parameter values and lengths.
2.3.3.35.2 Default
This does not apply to this command.
2.3.3.35.3 Example
Figure 2-40 illustrates an example of the read local characteristic command from the
host to the BM70/71 module.
FIGURE 2-40: SEQUENCE DIAGRAM OF READ LOCAL CHARACTERISTIC
VALUE
TABLE 2-86: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x03 0x3A see
Ta b l e 2 - 8 7
value
TABLE 2-87: PARAMETER VALUES AND LENGTHS
Value of Parameter (4 to 5) Parameter Description Length
0xXXXX Handle “Characteristic value” attribute
(Formatted as big endian)
2 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 140 2016 Microchip Technology Inc.
2.3.3.35.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
adds the value from the requested “Characteristic value” attribute in the parameters
field. For more information on the base format and values, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)”.
Ta b l e 2 - 8 8 provides details of the Command Complete Event(0x80) response
format from the BM70/71 module to the host.
Ta b l e 2 - 8 9 provides the parameter values and lengths.
2.3.3.35.5 Applicable Configuration
This command is only available in Manual Operation.
TABLE 2-88: RESPONSE FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 12 5
Value 0xAA 0x00 0x03 to
0xNN
0x80 see
Table 2-89
value
TABLE 2-89: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x01 - 0xFF Command failure (for table values, refer
to Table 2-119)
1 byte
Value of Parameter (5 to n)
0xXX Value of “Characteristic value” attribute
handle (formatted as big endian)
Length = (n - 5)
bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 141
2.3.3.36 GATT SERVER - READ ALL LOCAL PRIMARY SERVICES
(OPCODE - 0X3B)
This command is used by the host to read all primary services from the service table of
the BM70/71 module.
2.3.3.36.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 0 provides details of the command format from the host to the BM70/71
module.
2.3.3.36.2 Default
This does not apply to this command.
2.3.3.36.3 Example
Figure 2-41 illustrates an example of the read all local primary services command from
the host to the BM70/71 module.
FIGURE 2-41: SEQUENCE DIAGRAM OF READ ALL LOCAL PRIMARY
SERVICES
TABLE 2-90: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 4
Value 0xAA 0x00 0x01 0x3B value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 142 2016 Microchip Technology Inc.
2.3.3.36.4 Response Format, BM70/71 Module to Host
The BM70/71 module sends the information of the primary services from the service
table to the host through a Discover All Primary Services Event Response
(0x90). This event response can be repeated several times by the BM70/71 module,
based on the number of services in the service table. The host must be capable of
handling all Discover All Primary Services Event Response(0x90) sent
by the BM70/71 module. When the BM70/71 module has finished sending the primary
service list, a Command Complete Event(0x80) response will be sent to the host.
For more information on the format of the event responses, refer to
2.3.3.51 “Command Complete Event (opcode - 0x80)” and 2.3.3.54 “Discover All
Primary Services Event (opcode - 0x90)”.
2.3.3.36.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 143
2.3.3.37 GATT SERVER - READ SPECIFIC LOCAL PRIMARY
SERVICE (OPCODE - 0X3C)
This command is used by the host to read the attributes of a specific primary service
from the service table of the BM70/71 module.
2.3.3.37.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 1 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 9 2 provides the parameter values and lengths.
2.3.3.37.2 Default
This does not apply to this command.
2.3.3.37.3 Example
Figure 2-40 illustrates an example of the read specific local primary service command
from the host to the BM70/71 module.
FIGURE 2-42: SEQUENCE DIAGRAM OF READ SPECIFIC LOCAL PRIMARY
SERVICE
TABLE 2-91: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x02 to
0x11
0x3C see
Ta b l e 2 - 9 2
value
TABLE 2-92: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) or
(4 to 19) Parameter Description Length
0xXX 16-bit UUID or 128-bit UUID
(Formatted as big endian)
2 or 16 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 144 2016 Microchip Technology Inc.
2.3.3.37.4 Response Format, BM70/71 Module to Host
The BM70/71 module sends the host the characteristic definition(s) which make the
specified primary service through the Discover Specific Primary Service
Characteristic Declaration Event(0x91) and Discover All Charac-
teristic Descriptors Event Response(0x92). This information is returned in
the event response(s), and the event response(s) which are sent are based upon the
attribute types within the characteristic definition(s) of a given service. For example, a
characteristic definition is not required to include a “Characteristic descriptor declara-
tion” attribute type. Therefore, the BM70/71 module will return only the Discover
Specific Primary Service Characteristic Declaration Event(0x91)
to the host.
The host must be capable of handling the various event responses sent by the
BM70/71 module. When the BM70/71 module has finished sending the characteristic
definition(s) of a specific primary service, a Command Complete Event(0x80)
response will be sent to the host. For more information on the format of event
responses, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”,2.3.3.55 “Discover Specific Primary Service Characteristic Declaration
Event (opcode - 0x91)” and 2.3.3.56 “Discover All Characteristic Descriptors
Event (opcode - 0x92)”.
2.3.3.37.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 145
2.3.3.38 GATT SERVER - SEND WRITE RESPONSE (OPCODE -
0X3D)
The host is informed by the BM70/71 module when a client issues a write request to
the value of a specific “Characteristic value” attribute. This command allows the host to
reply with a write response and accept or reject the write request. This command is
used by the host for the BM70/71 module to inform the peer device (client) whether the
write request was successful or not.
2.3.3.38.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 3 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 9 4 provides the parameter values and lengths.
TABLE 2-93: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 8 5
Value 0xAA 0x00 0x06 0x3D see
Ta b l e 2 - 9 4
value
TABLE 2-94: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response.
1 byte
Value of Parameter (5)
0x12 Write request opcode. This is a fixed value
and must be set to 0x12 for this command
to succeed.
1 byte
Value of Parameter (6 to 7)
0xXXXX Handle the “Characteristic value” attribute
which was requested to write
2 bytes
Value of Parameter (8)
0x00 No error. BM70/71 module will send the
write response to peer device (client).
1 byte
0x01 Invalid Handle
0x02 Read not permitted
0x03 Write not permitted
0x04 Invalid PDU
0x05 Insufficient Authentication
0x06 Request not supported
0x07 Invalid Offset
0x08 Insufficient Authorization
0x09 Prepare queue full
0x0A Attribute not found
0x0B Attribute not long
0x0C Insufficient encryption Key size
0x0D Invalid Attribute value length
0x0E Unlikely error

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 146 2016 Microchip Technology Inc.
2.3.3.38.2 Default
This does not apply to this command.
2.3.3.38.3 Example
Figure 2-43 illustrates an example of the send write response command from the host
to the BM70/71 module.
FIGURE 2-43: SEQUENCE DIAGRAM OF SEND WRITE RESPONSE
2.3.3.38.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the base format and values, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.38.5 Applicable Configuration
This command is only available in Manual Operation.
0x0F Insufficient encryption 1 byte
0x10 Unsupported Group type
0x11 Insufficient Resources
0x12 to 0x7F Reserved
0x80 to 0x9F Application defined errors
0xA0 to 0xDF Reserved
0xE0 to 0xFF Common profile and Service error codes
TABLE 2-94: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 147
2.3.3.39 TRANSPARENT UART SERVICE - SEND DATA (OPCODE -
0X3F)
This command is used by the host to have the BM70/71 module send data to the peer
device using the proprietary “Transparent UART” service.
2.3.3.39.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 5 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 9 6 provides the parameter values and lengths.
2.3.3.39.2 Default
This does not apply to this command.
TABLE 2-95: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0x03 to
0xNN
0x3F see
Ta b l e 2 - 9 6
value
TABLE 2-96: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
(0x71) event response
1 byte
Value of Parameter (5 to n)
0xXX Data to transmit 1 to 640 bytes
(max)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 148 2016 Microchip Technology Inc.
2.3.3.39.3 Example
Figure 2-44 illustrates an example of the “Transparent UART” service command from
the host to the BM70/71 module.
FIGURE 2-44: SEQUENCE DIAGRAM OF SEND WRITE RESPONSE
2.3.3.39.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append the additional data to the event response. For more information on
the format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.39.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 149
2.3.3.40 PAIRING - PASSKEY ENTRY RESPONSE (OPCODE -
0X40)
This command is used by the host to inform the BM70/71 module of the Passkey values
being entered. For more information on the overview of Security and the Passkey
method, refer to 1.1.2.3.6 “General Operation - Security”.
2.3.3.40.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 7 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 9 8 provides the parameter values and lengths.
2.3.3.40.2 Default
This does not apply to this command.
TABLE 2-97: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 6 5
Value 0xAA 0x00 0x03 0x40 see
Table 2-98
value
TABLE 2-98: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle of current
connection.This value was returned by the
BM70/71 module in an LE Connect
Complete Event(0x71) response.
1 byte
Value of Parameter (5)
0x01 Passkey digit entered 1 byte
0x02 Passkey digit erased
0x03 Passkey cleared
0x04 Passkey entry completed
Value of Parameter (6)
0x01 Digit value represented in ASCII. Ignored if
parameter (5) is not set to 0x01.
1 byte

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 150 2016 Microchip Technology Inc.
2.3.3.40.3 Example
Figure 2-45 illustrates an example of the passkey entry response from the host to the
BM70/71 module.
FIGURE 2-45: SEQUENCE DIAGRAM OF PAIRING - PASSKEY ENTRY
RESPONSE
2.3.3.40.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
does not append additional data to the event response. For more information on the
format of the response, refer to 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.40.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 151
2.3.3.41 PAIRING - USER CONFIRM PASSKEY RESPONSE
(OPCODE - 0X41)
This command is used by the host to confirm the received Passkey value is correct or
not. The host receives the Passkey from the BM70/71 module through the Pairing -
Passkey Confirm Request Event(0x62). The host then uses this command to
accept or reject the received Passkey.
2.3.3.41.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 9 9 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 1 0 0 provides the parameter values and lengths.
2.3.3.41.2 Default
This does not apply to this command.
TABLE 2-99: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 6 5
Value 0xAA 0x00 0x03 0x41 see
Table 2-100
value
TABLE 2-100: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response.
1 byte
Value of Parameter (5)
0x00 Passkey accepted (YES) 1 byte
0x01 Passkey rejected (NO)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 152 2016 Microchip Technology Inc.
2.3.3.41.3 Example
Figure 2-46 illustrates an example of the user confirm passkey response from the host
to the BM70/71 module.
FIGURE 2-46: SEQUENCE DIAGRAM OF PAIRING - PASSKEY RESPONSE
2.3.3.41.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Pairing Complete Event(0x61) and the Sta-
tus Report Event(0x81) response. The BM70/71 module returns the Pairing
Complete Event(0x61) response when it has finished the pairing/bonding proce-
dure with the peer device. The BM70/71 module sends the Status Report Event
(0x81) when the pairing procedure result has caused an internal status change. The
value returned in the Status Report Event(0x81) message depends on how the
command from the pairing/bonding procedure was processed. For more information
about the format of event responses and possible values, refer to 2.3.3.45 “Pairing -
Pair Complete Event (opcode - 0x61)” and 2.3.3.52 “Status Report Event (opcode
- 0x81)”.
2.3.3.41.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 153
2.3.3.42 PAIRING - PAIR REQUEST (OPCODE - 0X42)
This command is used to initiate the pairing/bonding procedure. This command can
only be sent after an active connection has been established with a peer device. This
command can be issued by the host at anytime when a higher level of security is
needed for an active connection.
2.3.3.42.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 1 0 1 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 1 0 2 provides the parameter values and lengths.
2.3.3.42.2 Default
This does not apply to this command.
TABLE 2-101: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x42 see
Table 2-102
value
TABLE 2-102: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0xXX Connection Handle of current connection.
This value was returned by the BM70/71
module in an LE Connect Complete
Event(0x71) response
1 byte

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 154 2016 Microchip Technology Inc.
2.3.3.42.3 Example
Figure 2-47 illustrates an example of the pairing request from the host to the BM70/71
module.
FIGURE 2-47: SEQUENCE DIAGRAM OF PAIRING REQUEST
2.3.3.42.4 Response format, BM70/71 Module to Host
The BM70/71 module returns the Command Complete Event(0x80) response and
the Pairing Complete Event(0x61) response. The BM70/71 module returns the
Pairing Complete Event(0x61) response when it has finished the pairing/bond-
ing procedure with the peer device. The BM70/71 module sends the Command Com-
plete Event(0x80) response when the BM70/71 module has processed the
Pairing Request(0x42) command. For more information about the format of the
event responses and possible values, refer to 2.3.3.45 “Pairing - Pair Complete
Event (opcode - 0x61)” and 2.3.3.51 “Command Complete Event (opcode -
0x80)”.
2.3.3.42.5 Applicable Configuration
This command is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 155
2.3.3.43 LEAVE CONFIGURE MODE (OPCODE - 0X52)
This command is used by the host to command the BM70/71 module to exit from the
“Configuration Window” and start Auto Operation. For information on the description of
the “Configuration Window”, refer to 1.1.2.1.3 “Auto Operation – Configuration Tim-
eout”.
2.3.3.43.1 Command Format, Host to BM70/71 Module
Ta b l e 2 - 1 0 3 provides details of the command format from the host to the BM70/71
module.
Ta b l e 2 - 1 0 4 provides the parameter values and lengths.
2.3.3.43.2 Default
This does not apply to this command.
2.3.3.43.3 Example
Figure 2-48 illustrates an example of the leave configure mode command from the host
to the BM70/71 module.
FIGURE 2-48: SEQUENCE DIAGRAM OF LEAVE CONFIGURE MODE
TABLE 2-103: COMMAND FORMAT, HOST TO BM70/71 MODULE
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x52 see
Table 2-104
value
TABLE 2-104: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0x00 Leave Configure Mode 1 byte
0x01 Leave Configure Mode and disable mode
forever

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 156 2016 Microchip Technology Inc.
2.3.3.43.4 Response Format, BM70/71 Module to Host
The BM70/71 module returns the Configure Mode Status Event(0x8F)
response. For more information about the format of the response, refer to
2.3.3.53 “Configure Mode Status Event (opcode - 0x8F)”.
2.3.3.43.5 Applicable Configuration
This command is only available in Auto Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 157
2.3.3.44 PAIRING - PASSKEY ENTRY REQUEST EVENT (OPCODE
- 0X60)
This event is sent by the BM70/71 module to inform the host that a remote peer device
has requested pairing/bonding to take place using the Passkey entry method. The host
must reply with the Passkey Entry Response(0x40) command.
2.3.3.44.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 0 5 provides details of the event format from the BM70/71 module to the host.
2.3.3.44.2 Default
This does not apply to this event.
2.3.3.44.3 Example
Figure 2-49 illustrates an example of the passkey entry request from the BM70/71
module to the host.
FIGURE 2-49: SEQUENCE DIAGRAM OF PAIRING - PASSKEY ENTRY
REQUEST
2.3.3.44.4 Applicable Configuration
This event is available in both Auto Operation and Manual Operation.
TABLE 2-105: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Checksum
Byte No 0 1 2 3 4
Value 0xAA 0x00 0x01 0x60 value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 158 2016 Microchip Technology Inc.
2.3.3.45 PAIRING - PAIR COMPLETE EVENT (OPCODE - 0X61)
This event is sent by the BM70/71 module to inform the host when the pairing/bonding
procedure is complete and the result from this procedure.
2.3.3.45.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 0 6 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 1 0 7 provides the parameter values and lengths.
2.3.3.45.2 Default
This does not apply to this event.
TABLE 2-106: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x03 0x61 see
Table 2-107
value
TABLE 2-107: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle of current
connection.This value was returned by the
BM70/71 module in an LE Connect
Complete Event(0x71) response.
1 byte
Value of Parameter (5)
0x00 Passkey completed 1 byte
0x01 Passkey failed
0x02 Passkey failed, timeout occurred

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 159
2.3.3.45.3 Example
Figure 2-50 illustrates an example of the pairing complete event from the BM70/71
module to the host.
FIGURE 2-50: SEQUENCE DIAGRAM OF PAIRING - PAIR COMPLETE
EVENT
2.3.3.45.4 Applicable Configuration
This event is available in both Auto Operation and Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 160 2016 Microchip Technology Inc.
2.3.3.46 PAIRING - PASSKEY CONFIRM REQUEST EVENT
(OPCODE - 0X62)
This event is sent by the BM70/71 module to inform the host that the passkey received
needs to confirmed. The host will reply with the Passkey Confirm Response
(0x41) command.
2.3.3.46.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 0 8 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 1 0 9 provides the parameter values and lengths.
2.3.3.46.2 Default
This does not apply to this event.
TABLE 2-108: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 10 5
Value 0xAA 0x00 0x08 0x62 see
Table 2-109
value
TABLE 2-109: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle of current
connection.This value was returned by the
BM70/71 module in an LE Connect
Complete Event(0x71) response.
1 byte
Value of Parameter (5 to 10)
0xXX Each digit of the six-digit passkey is
represented in ASCII
6 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 161
2.3.3.46.3 Example
Figure 2-51 illustrates an example of the passkey confirm request event from the
BM70/71 module to the host.
FIGURE 2-51: SEQUENCE DIAGRAM OF PAIRING - PASSKEY CONFIRM
REQUEST EVENT
2.3.3.46.4 Applicable Configuration
This event is available in both Manual Operation and Auto Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 162 2016 Microchip Technology Inc.
2.3.3.47 ADVERTISING REPORT EVENT (OPCODE - 0X70)
This event is sent by the BM70/71 module to inform the host that another BLE device
has responded to an active/passive scan.
2.3.3.47.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 11 0 provides details of the event format from the BM70/71 module to the host.
Table 2-111 provides the parameter values and lengths.
2.3.3.47.2 Default
This does not apply to this event.
TABLE 2-110: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to x 5
Value 0xAA 0x00 0x0B -
0xNN
0x70 see
Ta b l e 2 - 111
value
TABLE 2-111: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 A connectable undirected advertising
packet was received
1 byte
0x01 A connectable directed advertising packet
was received
0x02 A scanable undirected advertising packet
was received
0x03 A non-connectable undirected advertising
packet was received
0x04 A scan response packet was received
Value of Parameter (5)
0x00 Public Device Address 1 byte
0x01 Random device address
Value of Parameter (6 to 11)
0xXXXX_XXXX_XXXX Bluetooth address of device 6 bytes
Value of Parameter (12)
0xXX Length of data payload from packet 1 byte
Value of Parameter (13 to n)
0xXX Data received in advertising or scan
response packet
1 to 31 bytes (max)
Value of Parameter (x)
0xXX Signed digital value representing RSSI
(dBm) from remote device sending packet.
A value of -127 or 0x81 means RSSI was
not available.
1 byte

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 163
2.3.3.47.3 Example
Figure 2-52 illustrates an example of the advertising report event from the BM70/71
module to the host.
FIGURE 2-52: SEQUENCE DIAGRAM OF ADVERTISING REPORT EVENT
2.3.3.47.4 Applicable Configuration
This event is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 164 2016 Microchip Technology Inc.
2.3.3.48 LE CONNECTION COMPLETE EVENT (OPCODE - 0X71)
The BM70/71 module returns an LE Connection Complete Event(0x71)
response to the host when a connection with a peer device is attempted. This
command indicates if the execution was successful or not. If successful, the
parameters associated with the connected peer device are returned.
2.3.3.48.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 11 2 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 11 3 provides the parameter values and lengths.
TABLE 2-112: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 19 5
Value 0xAA 0x00 0x10 0x71 see
Table 2-113
value
TABLE 2-113: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 Connection successfully completed 1 byte
0x01 to 0xFF Connection failed to complete
Value of Parameter (5)
0xXX Connection Handle to be used to identify a con-
nection between the BM70/71 module and the
peer device
1 byte
Value of Parameter (6)
0x00 BM70/71 module is the master in the connection 1 byte
0X01 BM70/71 module is the slave in the connection
Value of Parameter (7)
0x00 Peer device is using a public device address 1 byte
0x01 Peer is using a Random device address
0x02 Peer is a previously bonded device
Value of Parameter (8 to 13)
0xXX XX XX XX XX XX Peer device Bluetooth address 6 bytes
Value of Parameter (14 to 15)
0xXXXX Connection Interval used for this connection
Range: 0x0006 (7.5 ms) - 0x0C80 (4s)
Interval = value * 1.25 ms
Parameter 14 is MSB
Parameter 15 is LSB
2 bytes
Value of Parameter (16 to 17)
0xXXXX Slave Latency is the number of connection
events a slave can miss before the connection is
considered lost
Range: 0x0000 (0 connection events) - 0x01F4
(500 connection events)
Parameter 16 is MSB
Parameter 17 is LSB
2 bytes
Value of Parameter (18 to 19)

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 165
2.3.3.48.2 Default
This does not apply for this event.
0xXXXX Supervision timeout is the maximum amount of
time allowed between two packets being
received. If this timeout is exceeded and two or
more packets have not been received, the
connection is considered lost.
Range: 0x0006 (7.5 ms) - 0x0C80 (4s)
Timeout = value * 1.25 ms
Parameter 18 is MSB
Parameter 19 is LSB
2 bytes
TABLE 2-113: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 166 2016 Microchip Technology Inc.
2.3.3.48.3 Example
Figure 2-53 and Figure 2-54 illustrate examples of the LE Connection complete event
from the BM70/71 module to the host.
FIGURE 2-53: SEQUENCE DIAGRAM OF CONNECTION COMPLETE
EVENT-EXAMPLE 1
FIGURE 2-54: SEQUENCE DIAGRAM OF CONNECTION COMPLETE
EVENT-EXAMPLE 2
2.3.3.48.4 Applicable Configuration
This event is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 167
2.3.3.49 DISCONNECT COMPLETE EVENT (OPCODE - 0X72)
This event response is sent by the BM70/71 module to the host after a connection is
terminated. The role (central/master or peripheral/slave) of the BM70/71 module is not
considered when the connection is dropped. This event response indicates the reason
the connection was terminated in the parameters field.
2.3.3.49.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 11 4 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 11 5 provides the parameter values and lengths.
TABLE 2-114: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x03 0x72 see
Table 2-115
value
TABLE 2-115: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle
This is the value sent to the host by the
BM70/71 module in an LE Connection
Complete Event(0x71)
1 byte
Value of Parameter (5)
0x08 Connection Timeout 1 byte
0X09 Connection limit exceeded
0x0B ACL connection already exists
0x0D Connection rejected due to limited
resources
0x0E Connection rejected due to security
reasons
0x0F Connection rejected due to unacceptable
BD_ADDR
0x10 Connection accept Timeout exceeded
0x11 Unsupported feature or Parameter value
0x12 Invalid command parameters
0x13 Remote user terminated connection
0x14 Remote device terminated connection due
to low resources
0x15 Remote device terminated connection due
to power off
0x16 Connection terminated by local host
0x1F Unspecified error
0x39 Connection rejected due to no suitable
channel found
0x3A Controller busy
0x3D Connection terminated due to MIC failure
0x84 Invalid PDU
0x91 Insufficient Resources

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 168 2016 Microchip Technology Inc.
2.3.3.49.2 Default
This does not apply to this event.
2.3.3.49.3 Example
Figure 2-55 and Figure 2-56 illustrate examples of the disconnect complete event from
the BM70/71 module to the host.
FIGURE 2-55: SEQUENCE DIAGRAM OF DISCONNECT COMPLETE
EVENT-EXAMPLE 1
FIGURE 2-56: SEQUENCE DIAGRAM OF DISCONNECT COMPLETE
EVENT-EXAMPLE 2
2.3.3.49.4 Applicable Configuration
This event is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 169
2.3.3.50 CONNECTION PARAMETER UPDATE EVENT (OPCODE -
0X73)
This event is sent by the BM70/71 module to inform the host that the connection
parameters have changed.
2.3.3.50.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 11 6 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 11 7 provides the parameter values and lengths.
2.3.3.50.2 Default
This does not apply to this event.
2.3.3.50.3 Example
If the BM70/71 module has the role of a slave in the connection, the host can request
the connection parameters to be updated, but it is up to the peer device (master) to
determine if this will occur. When a Connection Parameter Update Request
(0x19) command is sent by the host, the BM70/71 module returns the Command
Complete Event(0x80) response to let the host know the request was successful.
The BM70/71 module returns the Connection Parameter Update Event
(0x73) when the connection parameters have been updated.
TABLE 2-116: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to 5 5
Value 0xAA 0x00 0x03 0x73 see
Table 2-117
value
TABLE 2-117: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle
This is the value sent to the host by the
BM70/71 module in an LE Connection
Complete Event(0x71)
1 byte
Value of Parameter (5 to 6)
0xXXXX Connection Event interval
Interval = x * 1.25 ms
2 bytes
Value of Parameter (7 to 8)
0xXXXX Slave Latency. This is the number of
connection events which the slave can miss
before the connection is considered lost.
Range: 0x0000 - 0x01F4
2 bytes
Value of Parameter (9 to 10)
0xXXXX Supervision Timeout
Range: 0x000A - 0x0C80
Timeout = x * 10 ms
2 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 170 2016 Microchip Technology Inc.
Figure 2-45 illustrates an example of the connection parameter update request from
the BM70/71 module to the host.
FIGURE 2-57: SEQUENCE DIAGRAM OF CONNECTION PARAMETER
UPDATE
2.3.3.50.4 Applicable Configuration
This event is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 171
2.3.3.51 COMMAND COMPLETE EVENT (OPCODE - 0X80)
This event is sent by the BM70/71 module to the host when a host command message
is received and executed successfully. The BM70/71 module can also send this event
message when it has processed a BLE-related mode or procedure. This event
message has a general format and is based on the specific host command or BLE
mode/procedure. Additional information will be added to inform the host of the
processing status. Not all host command messages or BLE modes/procedures
executed will add additional information. The host must be capable of processing this
event message in both cases.
2.3.3.51.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 11 8 provides details of the event format from the BM70/71 module to the host.
TABLE 2-118: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x01 0x80 see
Table 2-119
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 172 2016 Microchip Technology Inc.
Ta b l e 2 - 11 9 provides the details of the Command Complete Event(0x80)
parameter values and lengths.
TABLE 2-119: PARAMETER VALUES AND LENGTHS
Value of Parameter (4) Parameter Description Length
0x00 Command succeeded 1 byte
0x01 Unknown command
0x02 Unknown connection identifier
0x03 Hardware failure
0x05 Authentication failure
0x06 PIN or Key missing
0x07 Memory capacity exceeded
0x08 Connection timeout
0x09 Connection limit exceeded
0x0B ACL connection already exists
0x0C Command disallowed
0x0D Connection rejected due to limited resources
0x0E Connection rejected due to Security reasons
0x0F Connection rejected due to Unacceptable
BD_ADDR
0x10 Connection accept timeout exceeded
0x11 Unsupported feature or Parameter value
0x12 Invalid command parameters
0x13 Remote user terminated connection
0x14 Remote device terminated connection due to
low resources
0x15 Remote device terminated connection due to
Power Off
0x16 Connection terminated by local Host
0x18 Pairing not allowed
0x1F Unspecified error
0x28 Instant passed
0x29 Pairing with Unit Key not supported
0x2F Insufficient Security
0x39 Connection rejected due to no suitable channel
found
0x3A Controller busy
0x3B Unacceptable connection interval
0x3C Directed Advertising timeout

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 173
2.3.3.51.2 Default
This does not apply to this event.
0x3D Connection terminated due to MIC failure
0x3E Connection failed to be established
0x77 Invalid Offset
0x81 Invalid Handle
0x82 Read not permitted
0x83 Write not permitted
0x84 Invalid PDU
0x85 Insufficient Authentication
0x86 Request not supported
0x88 Insufficient Authorization
0x89 Prepare queue full
0x8A Attribute not found
0x8B Attribute not long
0x8C Insufficient encryption Key size
0x8D Invalid Attribute value length
0x8E Unlikely error
0x8F Insufficient encryption
0x90 Unsupported Group type
0x91 Insufficient Resources
0xF0 Application defined error
0xFF UART Checksum error
TABLE 2-119: PARAMETER VALUES AND LENGTHS (CONTINUED)
Value of Parameter (4) Parameter Description Length

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 174 2016 Microchip Technology Inc.
2.3.3.51.3 Example
Figure 2-58 illustrates an example of the complete command event from the BM70/71
module to the host.
FIGURE 2-58: SEQUENCE DIAGRAM OF COMMAND COMPLETE EVENT
2.3.3.51.4 Applicable Configuration
This event can be sent in Manual Operation or in Auto Operation only when the
“Configuration Window” is active.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 175
2.3.3.52 STATUS REPORT EVENT (OPCODE - 0X81)
The BM70/71 module will respond to commands that cause a mode change or want to
know state with a Status Report Event(0x81) response. The value in the
parameter field will indicate the mode (temporary sub-state) the BM70/71 module is in.
There is a total of nine modes that the BM70/71 module can be in. Not all modes apply
to all states within the BM70/71 module.
2.3.3.52.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 2 0 provides details of the event format from the BM70/71 module to the host.
Table 2-121 provides the parameter values and lengths.
2.3.3.52.2 Default
This does not apply to this event.
2.3.3.52.3 Example
Figure 2-59 and Figure 2-60 illustrate two examples of how the Status Report
Event(0x81) response is sent by the BM70/71 module to the host.
TABLE 2-120: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x81 see
Table 2-121
value
TABLE 2-121: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
0x01 Scanning mode 1 byte
0x02 Connecting mode
0x03 Standby mode
0x05 Broadcast mode
0x08 Transparent Service enabled mode
0x09 Idle mode
0x0A Shutdown mode
0x0B Configure mode
0x0C BLE Connected mode

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 176 2016 Microchip Technology Inc.
FIGURE 2-59: SEQUENCE DIAGRAM OF STATUS REPORT
EVENT-EXAMPLE 1
FIGURE 2-60: SEQUENCE DIAGRAM OF STATUS REPORT
EVENT-EXAMPLE 2
2.3.3.52.4 Applicable Configuration
This event is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 177
2.3.3.53 CONFIGURE MODE STATUS EVENT (OPCODE - 0X8F)
This event is sent by the BM70/71 module to inform the host of the “Configuration
Window” status during Auto Operation.
2.3.3.53.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 2 2 provides details of the event format from the BM70/71 module to the host.
Table 2-123 provides the parameter values and lengths.
2.3.3.53.2 Default
This does not apply to this event.
TABLE 2-122: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x02 0x8F see
Table 2-123
value
TABLE 2-123: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
0x00 Configure mode is disabled 1 byte
0x01 Configure mode is enabled

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 178 2016 Microchip Technology Inc.
2.3.3.53.3 Example
Figure 2-61 illustrates an example of the configure mode status event sent by the
BM70/71 module to the host.
FIGURE 2-61: SEQUENCE DIAGRAM OF CONFIGURE MODE STATUS
EVENT
2.3.3.53.4 Applicable Configuration
This event is only available in Auto Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 179
2.3.3.54 DISCOVER ALL PRIMARY SERVICES EVENT (OPCODE -
0X90)
This event is sent by the BM70/71 module to inform the host of all primary services
within the service table of the module.
2.3.3.54.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 2 4 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 1 2 5 provides the parameter values and lengths.
2.3.3.54.2 Default
This does not apply to this event.
TABLE 2-124: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0xNN 0x90 see
Table 2-125
value
TABLE 2-125: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0x00 Connection handle
This is the value sent to the host by the
BM70/71 module in an LE Connection
Complete Event(0x71)
1 byte
Value of Parameter (5)
0xXX The length of each block of information for
the primary services which follow.
The number of blocks can be inferred by
the length of this event packet. There can
be multiple blocks included in one event
response. The data shown in parameters 6
to 25 may be repeated based on the
number of primary services available.
1 byte
Value of Parameter (6 to 7)
0xXXXX Start group handle of the service definition
(formatted in little endian)
2 bytes
Value of Parameter (8 to 9)
0xXXXX End group handle of the service definition
(formatted in little endian)
2 bytes
Value of Parameter (10 to 11) or (10 to 25)
0xXXXX
or
0xXXXX_XXXX_XXXX-
_XXXXXXXX_XXXX-
_XXXX_XXXX
16-bit or 128-bit service UUID
(formatted as little endian)
2 bytes or
16 bytes

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 180 2016 Microchip Technology Inc.
2.3.3.54.3 Example
Figure 2-62 illustrates an example of the discover all primary services event from the
BM70/71 module to the host.
FIGURE 2-62: SEQUENCE DIAGRAM OF DISCOVER ALL PRIMARY
SERVICES
2.3.3.54.4 Applicable Configuration
This event is only available in Manual Operation.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 181
2.3.3.55 DISCOVER SPECIFIC PRIMARY SERVICE
CHARACTERISTIC DECLARATION EVENT (OPCODE -
0X91)
The event is sent by the BM70/71 module to inform the host of the “Characteristic
declaration” attribute type. It is possible to have multiple characteristic definitions for a
specific primary service. Each characteristic definition has its own characteristic
declaration attribute type. In these cases, the BM70/71 module will have to send
multiple event responses (0x91) to the host. The host needs to be capable of
processing multiple event responses.
Figure 2-63 illustrates the visual structure of the “Characteristic declaration” attribute.
The values of each column are returned to the host with this event response.
FIGURE 2-63: CHARACTERISTIC DECLARATION ATTRIBUTE STRUCTURE
2.3.3.55.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 2 6 provides details of the event format from the BM70/71 module to the host.
TABLE 2-126: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0xXX 0x91 see
Table 2-127
value

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 182 2016 Microchip Technology Inc.
Ta b l e 2 - 1 2 7 provides the parameter values and lengths.
2.3.3.55.2 Default
This does not apply to this event.
TABLE 2-127: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle
This is the value sent to the
host by the BM70/71 module in
an LE Connection
Complete Event(0x71)
1 byte
Value of Parameter (5 to n)
0xXX Length of the “Characteristic
declaration” attribute. See
Figure 2-63 above for maximum
length.
(n-5) bytes
Value of Parameter (x to x)
0xXXXX Handle “Characteristic
declaration” attribute
(formatted in little endian)
2 bytes
Value of Parameter (x)
0x01 Broadcast 1 byte
Properties of “Characteristic
value” attribute. The property
value can have more than one
property type. For example,
0x18, will specify, the value
field of the “Characteristic
value” attribute. It can be writ-
ten and has the notify ability.
0x02 Read
0x04 Write without Response
0x08 Write
0x10 Notify
0x20 Indicate
0x40 Authenticated
0x80 Extended Properties
Value of Parameter (x to x)
0xXXXX
or
0xXXXX_XXXX_XXXX-
_XXXX_XXXXXXXX-
_XXXX_XXXX
16-bit or 128-bit UUID of “Char-
acteristic value” attribute
(formatted as little endian)
2 to 16 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 183
2.3.3.55.3 Example
Figure 2-64 illustrates an example of the specific primary services event from the
BM70/71 module to the host.
FIGURE 2-64: SEQUENCE DIAGRAM OF DISCOVER SPECIFIC PRIMARY
SERVICES
2.3.3.55.4 Applicable Configuration
This event is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 184 2016 Microchip Technology Inc.
2.3.3.56 DISCOVER ALL CHARACTERISTIC DESCRIPTORS EVENT
(OPCODE - 0X92)
This event is sent by the BM70/71 module to inform the host of the “Characteristic
descriptor declaration” attribute UUID(s). There can be several different types of
characteristic descriptors used within a characteristic definition. The “Characteristic
descriptor” attribute is simply used to provide metadata (additional information about
the value in the “Characteristic value” attribute). The representation of this metadata
depends on the type of “Characteristic descriptor” attribute used. This can be
discovered by referencing the UUID(s) of the “Characteristic descriptor” attribute.
A characteristic definition can have more than one “Characteristic descriptor
declaration” attribute. The BM70/71 module will return a UUID for each “Characteristic
descriptor declaration” attribute within this event response.
2.3.3.56.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 2 8 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 1 2 9 provides the parameter values and lengths.
2.3.3.56.2 Default
This does not apply to this event.
TABLE 2-128: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 5
Value 0xAA 0x00 0x07 to
0x17
0x92 see
Table 2-129
value
TABLE 2-129: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle 1 byte
Value of Parameter (5)
0x01 This event response lists 16-bit UUID(s) 1 byte
0x02 This event response lists 128-bit UUID(s)
Value of Parameter (6 to 7)
0xXXXX Start group handle of the service definition
(formatted in little endian)
2 bytes
Value of Parameter (8 to 9)
0xXXXX Handle “Characteristic descriptor
declaration” attribute
(formatted as little endian)
2 bytes
Value of Parameter (8 to 9) or (8 to 23)
0xXXXX
or
0xXXXX_XXXX_XXXX-
_XXXX_XXXXXXXX-
_XXXX_XXXX
UUID of “Characteristic descriptor
declaration” attribute
(formatted as little endian)
2 bytes or
16 bytes

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 185
2.3.3.56.3 Example
Figure 2-65 illustrates an example of the discover all characteristic descriptors event
from the BM70/71 module to the host.
FIGURE 2-65: SEQUENCE DIAGRAM OF CHARACTERISTIC
DESCRIPTORS
2.3.3.56.4 Applicable Configuration
This event is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 186 2016 Microchip Technology Inc.
2.3.3.57 GATT SERVER - CLIENT WRITE CHARACTERISTIC
VALUE EVENT (OPCODE - 0X98)
This event is used by the BM70/71 module to inform the host that the peer device
(client) has requested the value of a “Characteristic value” attribute to be written.
2.3.3.57.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 3 0 provides details of the event format from the BM70/71 module to the host.
Ta b l e 2 - 1 3 1 provides the parameter values and lengths.
2.3.3.57.2 Default
This does not apply to this event.
TABLE 2-130: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0xNN 0x98 see
Table 2-131
value
TABLE 2-131: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle 1 byte
Value of Parameter (5 to 6)
0xXXXX Handle “Characteristic value” attribute
(formatted in little endian)
2 bytes
Value of Parameter (7 to n)
0xXX Value to be written to the “Characteristic
value” attribute
1 to 20 bytes
(max)

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 187
2.3.3.57.3 Example
Figure 2-66 illustrates an example of the client characteristic event from the BM70/71
module to the host.
FIGURE 2-66: SEQUENCE DIAGRAM OF CLIENT WRITE CHARACTERISTIC
EVENT
2.3.3.57.4 Applicable Configuration
This event is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 188 2016 Microchip Technology Inc.
2.3.3.58 GATT TRANSPARENT - RECEIVED TRANSPARENT DATA
EVENT RESPONSE (OPCODE - 0X9A)
This event is sent by the BM70/71 module to inform the host that data was received
from the client using the proprietary “Transparent UART” service.
2.3.3.58.1 Event Format, BM70/71 Module to Host
Ta b l e 2 - 1 3 2 provides the details of the event format from the BM70/71 module to the
host.
Ta b l e 2 - 1 3 3 provides the parameter values and lengths.
2.3.3.58.2 Default
This does not apply to this event.
TABLE 2-132: EVENT FORMAT, BM70/71 MODULE TO HOST
Start Length (H) Length (L) OP Code Parameter Checksum
Byte No 0 1 2 3 4 to n 5
Value 0xAA 0x00 0xNN 0x9A see
Table 2-133
value
TABLE 2-133: PARAMETER VALUES AND LENGTHS
Value of Parameter Parameter Description Length
Value of Parameter (4)
0xXX Connection handle 1 byte
Value of Parameter (5 to n)
0xXXXX Received data from peer device 640 to n bytes
(max)

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 189
2.3.3.58.3 Example
Figure 2-67 illustrates an example of the received transparent data event from the
BM70/71 module to the host.
FIGURE 2-67: SEQUENCE DIAGRAM OF RECEIVED TRANSPARENT DATA
EVENT
2.3.3.58.4 Applicable Configuration
This event is only available in Manual Operation.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 190 2016 Microchip Technology Inc.
2.4 CONFIGURATION PROTOCOL
The configuration protocol allows a host to set up the BM70/71 module with the
configuration options described in previous sections of this document.
Currently, the configuration is setup for the BM70/71 module by the use of a PC-based
tool, referred to as the User Interface (UI) tool (executable program which only runs on
the Windows® Operating System). This tool handles all low-level configuration details
(configuration protocol) and exposes the configurable behavior. For more details, refer
to the Operation and Behavior Overview section of the BM70/71 module through
selectable options in a GUI. As long as the designer makes the minimum hardware
connections available (refer to 2.1 “Hardware Interface”) from the module to the PC,
this UI tool is recommended for configuring the BM70/71 module. The UI Tool can be
downloaded as part of the “Software Tools” available for the BM70/71 module.
The configuration protocol used by the host (such as the host MCU or UI Tool) will be
described in the a release of this document. Currently, the UI Tool is available to
perform configuration of the BM70/71 module.
2.4.1 UART Interface Characteristics
While operating in the programming mode, the UART can operate using the following
parameters:
• Baud Rate: 115200
• Number of data bits: 8
• No parity
• 1 stop bit
• No flow control
Note: For information on a reference schematic showing an example of how to
make the hardware connections between the PC and BM70/71 module,
refer to Chapter 3. “BM70/71 PICtail™/PICtail Plus EVB”.

Operating Modes, Configuration and Control
2016 Microchip Technology Inc. DS50002542A-Page 191
2.5 PROGRAMMING PROTOCOL
The BM70/71 module is capable of having its internal firmware updated. This ability
allows additional functionality to be added to the BM70/71 module at a later date
(adding support for future updates of the BLE specification). To update the firmware in
the BM70/71 module, a host must implement and follow the rules of the programming
protocol while the device is in the applicable mode (for a description of switching
between modes, refer to 2.2 “BM70/71 Mode Selection”).
Currently, updating the BM70/71 module firmware is made possible through the use of
a PC-based tool, referred to as the “ISUpdate tool” (executable program which only
runs on the Windows Operating System). This tool handles all the low-level protocol
details (i.e, programming protocol) and allows a user to input the firmware hex images
(Motorola s-record format) through a GUI. As long as the designer makes the minimum
hardware connections available (see 2.1 “Hardware Interface”) from the module to
the PC, using this tool is the recommended approach to program the BM70/71 module
firmware. The ISUpdate tool and associated firmware hex images can be down-
loaded as part of the “Software Tools” download available for the BM70/71 module.
The firmware hex images and associated tools are made available on the BM70/71
product page of Microchip website: www.microchip.com/BM70 or
www.microchip.com/BM71.
Figure 2-68 illustrates an example of the name of the file to download and the version
of firmware for the BM70/71 module.
FIGURE 2-68: EXAMPLE OF NAME OF THE FIRMWARE FILE DOWNLOAD
FROM THE WEB PAGE
Any version of firmware that is released to production is made available on the
BM70/71 web page. The user decides which firmware version must be used.
The programming protocol used by the host (such as host MCU or ISUpdate tool)
will be described in a future release of this document. Currently, only the ISUpdate
tool is available to perform a firmware update of the BM70/71 module.
2.5.1 UART Interface Characteristics
While in the direct test mode, the UART can operate using the following parameters:
• Baud Rate: 115200
• Number of data bits: 8
• No parity
• 1 stop bit
• No flow control
Note: For information on a reference schematic showing an example of how to
make the hardware connections between the PC and BM70/71 module,
refer to Chapter 3. “BM70/71 PICtail™/PICtail Plus EVB”.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 192 2016 Microchip Technology Inc.
2.6 DIRECT TEST PROTOCOL
While in direct test mode, using the HCI command protocol (refer to 2.1 “Hardware
Interface”) allows testing of the physical layer (i.e, Radio) within the BM70/71 module.
This allows a tester to command the physical layer to either transmit or receive a
sequence of test packets. The tester can then analyze the packets received, or the
number of packets the Device Under Test (DUT) received to determine if the physical
layer is working according to the applicable specification. The tester can also measure
various RF parameters from received packets to determine if the physical layer is
compliant. This mode is not just applicable to qualification since it can also be used for
production line testing and calibration of this device in an end product.
The direct test mode in the BM70/71 module uses the HCI protocol over a UART inter-
face to exchange data between the tester and DUT. This protocol and direct test mode
are captured in Volume 6, Part F of the BLE specification.
Figure 2-69 illustrates how communication will occur when the module is in direct test
mode. Refer to applicable specification for command details.
FIGURE 2-69: BM70/71 MODULE IN DIRECT TEST MODE
2.6.1 UART Interface Characteristics
While in the direct test mode, the UART can only operate using the following
parameters:
• Baud Rate: 115200
• Number of data bits: 8
• No parity
• 1 stop bit
• No flow control
Note: The BM70/71 module has already gone through a calibration process, but
this test can be repeated in some cases.

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 193
Chapter 3. BM70/71 PICtail™/PICtail Plus EVB
Thank you for purchasing a Microchip Technology BM70/71 PICtail™/PICtail Plus EVB.
This chapter provides detailed information about the Microchip Technology BM70/71
EVB. The BM70/71 EVB is designed to evaluate and demonstrate the capabilities of
the Microchip BM70/71 BLE module.
The BM70/71 EVB can be evaluated using the information from the previous chapters
and the various tools included in the “Firmware_SoftwareToolsVx_xx.zip”
folder, which is located on the product page on the Microchip website:
• BM70 EVB: www.microchip.com/BM70
• BM71 EVB: www.microchip.com/BM71
This chapter includes the following topics:
3.1 “Kit Contents”
3.2 “BM70/71 EVB Features Overview”
3.3 “Hardware Features”
3.4 “Getting Started - BM70/71 EVB Example Configuration”
3.5 “Firmware Programming Procedure”
3.1 KIT CONTENTS
The BM70 EVB kit contains the following items:
• One BM70 EVB, which contains the BM70BLES1FC2 module
• One micro-USB cable
The BM71 EVB kit contains the following items:
• One BM71 EVB, which contains the BM71BLES1FC2 module
• One micro-USB cable.
Note: If you are missing any part of the kit, contact a Microchip sales office for
assistance. A list of Microchip offices for sales and service is provided on
the back page of this document.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 194 2016 Microchip Technology Inc.
3.2 BM70/71 EVB FEATURES OVERVIEW
The following are key features of the BM70/71 EVB:
• Option to switch power sources between the Coin Cell battery, USB and PICtail
interface
• UART interface to connect to a host MCU
• Connection and test interface between the BM70/71 module and host emulator
tools (see Firmware_SoftwareTools_Vx_xx.zip file on Microchip's
BM70/71 product pages: www.microchip.com/BM70 or
www.microchip.com/BM71)
• Ability to update the firmware using the firmware update tool (see Firmware_-
SoftwareTools_Vx_xx.zip file on Microchip's BM70/71 product pages:
www.microchip.com/BM70 or www.microchip.com/BM71)
• Modes selection for Application/Run mode or Configuration/Programming/Test
mode. For more information on functionality, refer to 2.2 “BM70/71 Mode Selec-
tion”
• LED, push button and I2C (only for Software Development Kit (SDK) based
applications) test interface
• SPI interface (available only on the BM70 EVB for SDK-based applications)
Figure 3-1 illustrates the top view of the BM70 EVB and Table 3-1 provides details of
the components.
TABLE 3-1: BM70 EVB COMPONENTS (TOP VIEW)
Block reference Component reference Description
1 — BM70BLES1FC2 module
2 SW6 Power Switch button
3 J4 SPI interface (only SDK based)
4 JP10 USB GPIO interface
5 J3 USB to UART interface header
6 LED2 LED
7 J1 Power source connector (test points for current
measurement)
8 SW5 Reset push button (RST_N)
9 SW1 to SW4 Push buttons for test
10 J10 VBAT test points
11 JP7 Push button header
12 CN4 I2C interface header (SDK based only)
JP12 I2C power supply header
JP13 I2C reset I/O (RST_N) header
13 SW7 Mode selection DIP switch
14 LED2 to LED5, JP5 LEDs and corresponding header test points (for
more details, refer to 1.1.2.3.1 “General Oper-
ation – LED Indication”)
15 J2 GND test point header
16 J8 PICtail™ interface

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 195
FIGURE 3-1: BM70 EVB (TOP VIEW)
Figure 3-2 illustrates the top view of the BM70 EVB and Ta b l e 3 - 2 provides the details
of the components.
TABLE 3-2: BM70 EVB COMPONENTS (BOTTOM VIEW)
Block reference Component reference Description
1 — USB to UART converter (MCP2200)
2 CN1 to CN3 Module pin test points
3 SK1 Coin Cell battery holder (CR2032)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 196 2016 Microchip Technology Inc.
FIGURE 3-2: BM70 EVB (BOTTOM VIEW)
Figure 3-3 illustrates the top view of the BM71 EVB and Ta b l e 3 - 3 provides the details
of the components.
TABLE 3-3: BM71 EVB COMPONENTS (TOP VIEW)
Block reference Component reference Description
1 — BM71BLES1FC2 module
2 SW6 Power Switch button
3 JP10 USB GPIO interface
4 J3 USB to UART interface header
5 LED2 LED
6 J1 Power source connector (test points for current
measurement)
7 SW5 Reset push button (RST_N)
8 SW1 to SW4 Push buttons for test
9J10V
BAT test points
10 JP7 Push button header
11 CN4 I2C interface header (SDK based only)
JP12 I2C power supply header
JP13 I2C reset I/O (RST_N) header
12 SW7 Mode selection DIP switch
13 LED2 to LED5, JP5 LEDs and corresponding header test points (for
more details, refer to 1.1.2.3.1 “General Oper-
ation – LED Indication”)

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 197
FIGURE 3-3: BM71 EVB (TOP VIEW)
14 J2 GND test point header
15 JP14 PICtail™ interface
16 J11 to J13 Module pin test point header
TABLE 3-3: BM71 EVB COMPONENTS (TOP VIEW) (CONTINUED)
Block reference Component reference Description

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 198 2016 Microchip Technology Inc.
Figure 3-4 illustrates the top view of the BM70 EVB and Ta b l e 3 - 4 provides the details
of the components.
FIGURE 3-4: BM71 EVB (BOTTOM VIEW)
TABLE 3-4: BM71 EVB COMPONENTS (BOTTOM VIEW)
Block reference Component reference Description
1 — USB to UART converter (MCP2200)
2 SK1 Coin Cell battery holder (CR2032)

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 199
3.3 HARDWARE FEATURES
This section describes the hardware features of the BM70/71 EVB. The BM70/71 EVB
provides many options for communicating with other peripheral devices and
connecting to various power sources, as illustrated in Figure 3-5 and Figure 3-6.
FIGURE 3-5: BM70 EVB BLOCK DIAGRAM

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 200 2016 Microchip Technology Inc.
FIGURE 3-6: BM71 EVB BLOCK DIAGRAM
The following list provide the details of each component in the BM70/71 EVB. For the
location of these components, refer to Figure 3-1 through Figure 3-4.
3.3.1 Power Supply
There are three options to supply power to the module and board:
• Coin cell battery (Socket SK1 for CR2032 battery)
•USB
• PICtail™ socket connection (popular form factor to connect peripherals to other
Microchip microcontroller development/starter kits)
The use of each option requires the appropriate change to the jumper on the J1 header
of the EVB. This header also provides a convenient test/probe point to perform a cur-
rent measurement to verify the BM70/71 module current draw (make sure LED1 is not
connected to module, see 3.3.4 “LEDs”). One side of the header row provides a test
point for the input power source, and the other side connects to the VBAT signal of the
module (refer to Appendix A. “BM70 EVB Schematics” and Appendix B. “BM71
EVB Schematics”).
3.3.2 USB to UART Connection
The BM70/71 EVB provides a UART interface to communicate with a host. The
BM70/71 module makes the appropriate connections and provides a USB to UART
converter IC on the EVB. This allows the BM70/71 module on the EVB to get power
from and communicate with a PC. This makes it easy to use the Microchip provided
tools for quick evaluation of the module when a host microcontroller is not available
(see Firmware_SoftwareTools_Vx_xx.zip on Microchip product page). These
tools use the same protocols referred to in Chapter 2. “Operating Modes, Configu-
ration and Control”.

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 201
3.3.2.1 CONNECTING AN EXTERNAL BM70/71 MODULE
Because the EVB routes the communication and control signals to various headers, a
user can easily make blue wire connections for various test activities. One of these
activities is leveraging the MCP2200 USB to UART converter IC to communicate with
a module external to the EVB for testing purposes. This allows a user to communicate
with and test a BM70/71 module through PC-based tools. Figure 3-7 illustrates how a
user can make the blue wire connections to route the communication lines to the exter-
nal BM70/71 module, bypassing the on-board module of the EVB.
FIGURE 3-7: UART CONNECTION TO BM70 EVB DUT

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 202 2016 Microchip Technology Inc.
3.3.3 Push Buttons and Switches
There is no specific intended purpose for the push buttons or switches on the BM70/71
EVB apart from the Reset push button and mode DIP switch. The user has to determine
how these hardware features may be used in the evaluation of the BM70/71 module.
However, this use is not mandated.
The following list provides the description of the push buttons or switches and the
features used to evaluate the BM70/71 EVB.
• SW1 through SW4 – Push button switches, with one side connected to
ground/common, and the other side connected to the JP5 header. When the
switch is pressed, it makes an electrical connection between ground and the
header pin. The signal attached to the header can be the user’s choice. The user
can evaluate some features of the BM70/71 module with these switches, listed as
follows:
- By making the necessary blue wire connection between pins on the JP5
header and the applicable digital I/O pin (refer to 1.1.2.2.1 “Manual
Operation – General I/O”) on the module (accessed by the CN1 through
CN3 connectors/pads), a user can test the built-in digital GPIO read control of
the module
• SW5/Reset – This push button is used to drive the RST_N signal of the module to
low. This resets the BM70/71 module and causes the mode pin (P2_0) level to be
latched again (for the description of the pin, refer to 2.1 “Hardware Interface”
and 2.2 “BM70/71 Mode Selection”).
• SW6 – This is a single throw, dual/two pole latching push button switch (DPST or
2PST). One contact (pole) is connected through a pull up resistor to VCC/VBAT
(the source can be USB, PICtail, or Coin Cell battery). The other contact is
connected to ground/common on the EVB. When the switch is pressed, the two
contacts are electrically connected to a 2-pin header, JP6. The user can evaluate
some features of the BM70/71 module with this switch listed as follows:
- By making the necessary blue wire connection between pins on the JP6
header and the applicable digital I/O pin (refer to 1.1.2.2.1 “Manual
Operation – General I/O”) on the module (accessed by the CN1 through
CN3 connectors/pads), a user can test the built-in digital GPIO read control of
the module
• SW7/DIP switch – This switch is connected to pin P2_0 on the BM70/71 module
and is used to drive the pin to a logic level of “0”. When the switch is in the “ON” or
“1” position, pin P2_0 is electrically connected through a pull down resistor to
ground/common. When the switch is in the “OFF” position, the connection is open.
Pin P2_0 is pulled up internally on the module so when the switch is in “OFF” posi-
tion, a user must see a logic level of “1” on pin P2_0 (for the description of the pin,
refer to 2.1 “Hardware Interface” and 2.2 “BM70/71 Mode Selection”)
• SW8 – This is a push button switch used to reset the MCP2200 USB to UART
converter IC. If a user is seeing errant communication between the PC and the
BM70/71 EVB, this push button can be used to reset the internal logic of the USB
to UART converter IC.

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 203
3.3.4 LEDs
There are six LEDs on the BM70/71 EVB. These LEDs are used to give the user a
visual indication of the BM70/71 module activity/status (for more details, refer to
1.1.2.3.1 “General Operation – LED Indication”). However, only one LED (LED1)
has a specific intended purpose. The other four LEDs (LED2 to LED5) can be used for
any other purpose determined by the user.
The following describes the LED hardware features on the BM70/71 EVB:
• LED1 – This LED is electrically connected to pin 2 on the JP8 header and pin
P0_2 of the BM70/71 module. Pin 1 of the JP8 header is connected to VBAT/VCC.
When a jumper is placed on pin 1 and pin 2 of the JP8 header, the LED will func-
tion based on the pattern being driven on pin P0_2 of the BM70/71 module. The
BM70/71 module can drive a sequence of patterns (related to internal behavior
occurring in the module) on pin P0_2 to cause LED1 to toggle on/off. This gives
the user a visual indication when certain Bluetooth or module activity is occurring
(for more details, refer to 1.1.2.3.1 “General Operation – LED Indication”).
When verifying the current draw of the module, the jumper on the JP8 header
needs to be removed if pin P0_2 has been configured to drive LED1. With the
jumper in place, the current meter will read the current draw of the module and
LED1. This will cause a mismatch between the values stated in the data sheet
and the current meter measurement
• LED2 through LED5 – These LEDs are connected to the JP5 header and a pull up
resistor to VBAT/VCC. The user can apply a logic level “0” to the applicable pin on
JP5 to turn on the respective LED. The user determines what these LEDs must
represent. The user can evaluate some features of the BM70/71 module with
these LEDs as follows:
- By making the necessary blue wire connection between pins on the JP5
header and the applicable digital I/O pin (refer to 1.1.2.2.1 “Manual Opera-
tion – General I/O”) on the module (accessed by the CN1 through CN3 con-
nectors/pads), a user can test the built-in digital GPIO write control of the
module
• LED6 – This LED is connected to the USB VBUS signal. When power is applied
through the micro-USB connector, the LED will turn ON. This LED turns On only
when power is supplied by the USB

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 204 2016 Microchip Technology Inc.
3.3.5 Jumpers
Ta b l e 3 - 5 through Table 3-11 provide details of the headers/jumpers hardware
functionality on the BM70/71 EVB.
Ta b l e 3 - 5 provides the details of header J3 to connect the UART signals from the
MCP2200 to the BM70/71 module.
Ta b l e 3 - 6 provides the details of the headers, J10 and J2, which are available for
accessing the VBAT and ground/common signal of the BM70/71 EVB.
TABLE 3-5: USB TO UART INTERFACE U10 (HEADER J3)
Component
Reference Header Pin EVB Signal
Name Description
J3 1 RTS MCP2200 RTS pin
2 P0_0 BM70/71 GPIO P0_0 (pin 15 on BM70 EVB and
pin 11 on BM71 EVB)
Can be configured as CTS for UART function when
connected Jumper to pin1 of the header J3
3 CTS MCP2200 CTS pin
4 P3_6 BM70/71 GPIO P3_6 (pin17 on BM70 EVB and pin
9 on BM71 EVB)
Can be configured as RTS for UART function when
connected Jumper to pin 3 of the header J3
5 TX MCP2200 RX pin
6 HCI_TXD BM70/71 UART Transmit (pin 23 on BM70 EVB
and pin 8 on BM71 EVB)
Connected Jumper to pin 5 of the header J3
7 Rx MCP2200 Tx pin
8 HCI_RXD BM70/71 HCI_RXD (pin 22 of BM70 EVB and pin 7
of BM71 EVB)
Connected jumper to pin 7 of the header J3
TABLE 3-6: VBAT AND GROUND CONNECTOR (J10 AND J2)
Component
Reference Header Pin EVB Signal
Name Description
J10 1 to 8 VBAT Test points for probing VBAT signal on the
BM70/71 EVB
J2 1 to 8 GND Test points for probing GND signal on the
BM70/71 EVB

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 205
Header JP10 is used for accessing the GPIO functionality of the MCP2200 (USB to
UART Converter) IC. The signals connected to the GPIO pins of the MCP2200 can be
read and driven. On the BM70/71 EVB, they are used to serve as the input for the
BM70/71 module output status signals (for a description of signals in Auto Operation,
refer to 1.1.2.1.2 “Auto Operation – Status Indication” and 1.1.2.1.5 “Auto Opera-
tion – Pairing Key” through 1.1.2.1.8 “Auto Operation – Link Quality Indication”),
allowing the Auto Operation Tool to detect the state of the BM70/71module. A blue wire
connection must be made between the header and BM70/71 module pins.
Ta b l e 3 - 6 provides the details of header JP10, used for accessing the GPIO
functionality of the USB to UART on the BM70/71 EVB.
TABLE 3-7: GPIO FUNCTIONALITY OF USB TO UART (HEADER JP10)
Component
Reference Header Pin EVB Signal
Name Description
JP10
(BM70/71
EVB)
1 GPO0 Connect to the UART_RX_IND pin of the
BM70/71 module. This functionality can be used
in both Manual and Auto Operation
(Pin is configurable, for more details, refer to
1.1.2.3.5 “General Operation – UART Receive
Indication”)
2 GPO1 Connect to the LINK_DROP pin of the BM70/71
module. This functionality works only in Auto
Operation
(Pin is configurable, for more details, refer to
1.1.2.1.6 “Auto Operation – Link Drop”)
3 GPO2 Connect to the PARING_KEY pin of the BM70/71
module. This functionality works only in Auto
Operation
(Pin is configurable, for more details, refer to
1.1.2.1.5 “Auto Operation – Pairing Key”)
4 GPO3 Connect to the LOW_BATTERY_IND pin, or
RSSI_IND pin of the BM70/71 module. This func-
tionality works only in Auto Operation
(Pin is configurable, for more details, refer to
1.1.2.1.7 “Auto Operation – Low Battery Indi-
cation” and 1.1.2.1.8 “Auto Operation – Link
Quality Indication”)
5GPO4
6GPO5
7 GPO6 Connect to the STATUS1_IND pin of the BM70/71
module. This functionality works only in Auto
Operation
(Pin is configurable, for more details, refer to
1.1.2.1.2 “Auto Operation – Status Indication”)
8 GPO7 Connect to the STATUS2_IND pin of the BM70/71
module. This functionality works only in Auto
Operation
(Pin is configurable, for more details, refer to
1.1.2.1.2 “Auto Operation – Status Indication”)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 206 2016 Microchip Technology Inc.
Ta b l e 3 - 8 provides details of header JP12, used to power an external I2C based
peripheral on the BM70/71 EVB.
Ta b l e 3 - 9 provides details of header JP13, which is used to reset an external I2C based
peripheral. The I2C peripheral will have a hardware pin reset function and will reset with
a low true signal.
Ta b l e 3 - 1 0 provides details of headers J1, JP5, JP6, JP7, and JP8, which are the test
points for the push buttons/switches, module power supply input selection, and LEDs
of the BM70/71 EVB.
TABLE 3-8: I2C INTERFACE (HEADER JP12)
Component
Reference Header Pin EVB Signal
Name Description
JP12 1 VBAT Sort with a jumper to power I2C peripheral from
BM70/71 EVB VBAT signal
23V3_I
2C
Note: The jumper JP12 must be connected as default.
TABLE 3-9: CONNECTOR JP13
Component
Reference Header Pin EVB Signal
Name Description
JP13 1 RST_N Short with a jumper to have RST_N connected to
the I2C peripheral reset signal, attached to pin 2 of
this header
2I
2C peripher-
als Reset
Signal
This is the I2C peripheral’s reset signal. The
peripheral’s reset signal must be low true.
TABLE 3-10: POWER SOURCE OPTION CONNECTOR
Component
Reference Header
Pin EVB Signal
Name Description
J1, JP5,
JP6, JP7,
and JP8
— — These headers and module functionality are
covered in the sections above (refer to
3.3.1 “Power Supply” through 3.3.4 “LEDs”)

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 207
Ta b l e 3 - 11 provides details of header J4, which is used to provide access to the BM70
SPI peripheral. The SPI peripheral is only available for SDK users.
3.3.6 Connecting an External Host MCU
The EVB routes module communication and control signals to various headers. A user
can easily make blue-wire connections for various test activities. To help with the early
stages of prototyping, it may be advantageous to connect an external MCU to the
BM70/71 module on the EVB for testing purposes. Figure 3-8 illustrates the connection
in which the code can be developed and tested for the external MCU before target
hardware has been fully developed.
FIGURE 3-8: UART CONNECTION TO HOST MICROCONTROLLER DUT
TABLE 3-11: SERIAL FLASH INTERFACE J4 (BM70 ONLY)
Component
Reference Header Pin EVB Signal
Name Description
J4 1 VBAT BM70 EVB power signal
2 P3_1 SPI_nCS
3 P3_2 SPI_MISO
4 P3_3 SPI_MOSI
5 P3_4 SPI_SCLK
6 GND Ground/common signal of BM70 EVB
Note: The SPI peripheral is not available with firmware version 1.03 or 1.06 as
listed on Microchip's BM70/71 module product pages. This header is only
listed here for completeness. Contact your local Microchip representative
for further details on the BM70 SPI peripheral.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 208 2016 Microchip Technology Inc.
3.4 GETTING STARTED - BM70/71 EVB EXAMPLE CONFIGURATION
This section provides an understanding of the work flow for evaluating the BM70/71
module. The steps in the sub-sections show a procedure for updating the configuration
parameters of the BM70/71 module using the EVB. The procedure demonstrates the
connection between the BM70/71 module and smartphone that can be made. The data
is exchanged between the BM70/71 module and smartphone app, using the proprietary
“Transparent UART” service.
3.4.1 Requirements
The following hardware and software are required for getting started with the BM70/71
EVB.
3.4.1.1 HARDWARE REQUIREMENTS
• BM70/71 EVB
• Bluetooth-enabled smartphone
- iPhone® 4S or later version (it must support BLE) or
- Android™ device running Android 4.3 or later version
•Windows
® host PC with USB port
• Micro-USB cable
3.4.1.2 SOFTWARE REQUIREMENTS
Download and install the latest firmware and corresponding tools (Firmware_Soft-
wareTools_Vx_xx.zip) from the Microchip website: www.microchip.com/BM70 for
BM70 EVB and www.microchip.com/BM71 for BM71 EVB.
• Firmware update tool (BM7xBLE_IS187x_FlashUpdateTool.exe)
• Firmware hex images (*.H00, *.H01, *.H02, *H03)
• Configuration tool (IS187x_102_BLEDK3_UI v100.xxx.exe)
•mBIoT Utility app, available at App Store® for iPhone and at Google Play™
for Android
Note 1: Ensure the latest firmware is downloaded to the IS1870/71 IC on the
BM70/71 EVB. The initial BLE firmware version programmed into BM70
modules in Microchip's manufacturing line at the time of releasing this
product to market was version 1.03. The initial BLE firmware version pro-
grammed into BM71 modules in Microchip's manufacturing line at the
time of releasing this product to market was version 1.06. The latest firm-
ware for each module is made available on the BM70 and BM71 product
web pages on Microchip's website. For more details, refer to
3.5.1 “Programming Procedure”.
2: Ensure the exact version of the Configuration tool (UI Tool) matches the
specific firmware version programmed into the IS1870/71 IC's Flash
memory is used to configure the module. For ease of use, the UI tool,
firmware and firmware update utility are all provided in a single zip file for
each version of firmware released by Microchip to the website. The latest
firmware for the BM70/71 module is not compatible with older versions of
the Configuration tool. To ensure the correct version of firmware and tools
are being used together, a Firmware_Software_Vx_xx.zip file is
provided. This archive contains firmware along with the compatible soft-
ware tools for this specific firmware version.
3: In the following example, the BM70 EVB with firmware version 1.03 and
Configuration tool (IS187x_102_BLEDK3_UI v100.123.exe) is used.

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 209
3.4.2 Setting Configuration Parameters
The Configuration tool or User Interface (UI) tool is a PC based program, which enables
the user to change the configuration parameters of the BM70/71 EVB (for hardware
details on configuration, refer to 2.1 “Hardware Interface”). The following list provides
some examples of the parameter settings that can be updated on the BM70 module
using the UI tool (for the description of features, refer to 1.1.1 “Configuration Over-
view”):
• Device name
• UART settings
• BLE connection settings
• Add or edit GATT service table.
Perform the following actions to update the UI parameter settings:
1. Open the UI tool and click Load, see Figure 3-9. The Loading Option window is
displayed.
FIGURE 3-9: CONFIGURATION TOOL WINDOW
Note 1: Download and unzip the contents of the Firmware_Software-
Tools_Vx_xx.zip file, which is available at the Microchip website:
www.microchip.com/BM70 or www.microchip.com/BM71. The configura-
tion tool is part of this zip file content and located under the sub-folder
“ConfigurationTool/”. In this demonstration, the IS187x_102_BLED-
K3_UI_Configuration_Tool v100.123.exe tool is used. This tool version
corresponds to firmware version v1.03. This information is shown in by
the file name, Firmware_SoftwareTools_Vx_xx.zip, where
“Vx_xx” is the firmware version.
2: For the BM71 EVB, the IS187x_102_BLEDK3v1.06_UI1.02 tool version
must be used, which is available on the Microchip website:
www.microchip.com/BM71. This version corresponds to firmware version
1.06.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 210 2016 Microchip Technology Inc.
2. In the Loading Option window, click Load Text File to load default configuration
parameters, see Figure 3-10.
FIGURE 3-10: LOADING OPTION WINDOW
3. From the Open dialog, select the default configuration parameter text file (pro-
vided with the Firmware_SoftwareTools_Vx_xx.zip file under the “Con-
figuartionTool/” sub-folder) and then click Open, see Figure 3-11.
FIGURE 3-11: OPEN DIALOG BOX

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 211
4. From the Configuration Tool window, click Edit to start editing the default
parameters, see Figure 3-12.
FIGURE 3-12: CONFIGURATION TOOL WINDOW
5. From the Main Feature window, click BLEDK and then click OK, see
Figure 3-13.
FIGURE 3-13: MAIN FEATURE WINDOW

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 212 2016 Microchip Technology Inc.
6. The UI tool displays a window with various configuration options (tabs) in tabular
format. Click the System Setup tab, and in the Name fragment box, type
“BM70_BLE” (or any user-defined name), see Figure 3-14.
FIGURE 3-14: CONFIGURING PARAMETERS - SYSTEM SETUP
Note 1: Click the Help button to get information related to UI parameters.
2: The Auto Operation setting is chosen by default. For more details on
BM70/71 behavior under Auto Operation, refer to 1.1.2.1 “Auto
Operation”.

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 213
7. Click the LE Mode Setup tab and under the Advertising Data Setting section,
select Device Name to advertise the device name, see Figure 3-15. This
ensures that the name fragment is included in the advertising packet.
FIGURE 3-15: ADVERTISING DATA SETTING

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 214 2016 Microchip Technology Inc.
8. Click Finish. The Configuration Tool main window is displayed, see Figure 3-16.
FIGURE 3-16: CONFIGURATION TOOL MAIN WINDOW
9. From the Configuration Tool window, perform any one of these actions:
-Click Save to save the selected parameter settings as .txt or .hex files (for
later production programming).
-Click Export to export a log file along with the parameters to a .txt file. The
log file contains the settings of configuration parameters, which were edited.
-Click Write to program these configuration settings into the BM70/71 module.
For this to function, the BM70/71 module must be in Configuration mode.
10. To program the configuration parameters on the BM70 module, perform these
actions:
a) Set switch SW7 in the “ON” or “1” position (configuration mode), see
Figure 3-17.
FIGURE 3-17: SW7 IN TEST MODE

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 215
b) Ensure that jumpers J1, JP8 and J3 on the BM70 EVB are connected, as
illustrated in Figure 3-18.
FIGURE 3-18: JUMPER AND BM70 EVB CONNECTION DETAILS
c) Connect the USB port (P1) of the BM70 EVB to a PC using the micro-USB
cable, see Figure 3-19.
FIGURE 3-19: CONFIGURATION SETUP
d) On connection, LED1 (blue) and LED6 (red) on the BM70 EVB will turn ON.
e) Go to the Configuration Tool window and click Write to program the settings
into the internal memory of the BM70/71 module, see Figure 3-16.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 216 2016 Microchip Technology Inc.
f) The Read/Write Flash window is displayed. Select the values for COM Port
and Baudrate (must be 115200 for the configuration to succeed), and then
click Write, see Figure 3-20.
FIGURE 3-20: READ/WRITE FLASH
g) A message box will appear displaying the message “Write Flash Finish”.
Click OK to finish, see Figure 3-21.
FIGURE 3-21: MESSAGE BOX

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 217
3.4.3 BLE Connection to a Smartphone
This section lists the steps to put the BM70/71 into “Application/Run” mode after setting
up the configuration parameters. Perform the following actions to establish a BLE con-
nection between the BM70/71 EVB and a smartphone. An iPhone with iOS9.2.1 is used
for this demonstration.
1. Download the mBIoT app from the App Store and enable the Bluetooth settings
on the iPhone (In this example illustration an iPhone was used, but a user can
do the same operation on an Android based smartphone).
2. Set switch SW7 to the OFF position (the P2_0 pin will be pulled high through an
internal pull up of IS1870/71 chip) on the BM70 EVB, see Figure 3-22.
FIGURE 3-22: SW7 IN APPLICATION MODE
3. Connect the BM70 EVB to a PC using the micro-USB cable, see Figure 3-23.
LED6 (red) will turn ON solid when USB power is applied to the EVB. LED1 (blue)
will turn ON for 50 ms once every three seconds to visually indicate the device is
sending connectable advertising packets (standby mode).
FIGURE 3-23: POWER-ON BM70 EVB
Note: Based on the default configuration parameters, the BM70/71 module is
setup to advertise for a max of 122 seconds (for more details, refer to
1.1.2.1.10 “Auto Operation – Discoverability”). If LED1 stops flash-
ing/toggling, the device has entered into the Deep-sleep state and has
stopped sending advertising packets. Pushing the reset button will restart
the BM70/71 module and device will start to advertise again.

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 219
5. After the mBIoT app is opened, a user is presented with several choices for
communicating with different Microchip Bluetooth modules. Select BM70/BM71
BLE UART, see Figure 3-25.
FIGURE 3-25: SELECT BM70/BM71 BLE UART

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 220 2016 Microchip Technology Inc.
6. A list of discoverable devices will be displayed; select the device with the name
BM70_BLE to connect with BM70 module, see Figure 3-26.
FIGURE 3-26: DISCOVERED DEVICES VIEW
7. Under Connected Device, tap BM70_BLE connected for the device
information feature, see Figure 3-27
FIGURE 3-27: CONNECTED DEVICE VIEW

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 222 2016 Microchip Technology Inc.
9. The device information will be displayed, showing the BLE connection has been
made between the phone app and the BM70 module, see Figure 3-29.
FIGURE 3-29: DEVICE INFORMATION
10. The BLE link connection is established between the BM70 EVB and an iPhone,
see Figure 3-30.
FIGURE 3-30: BLE LINK CONNECTION

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 223
3.5 FIRMWARE PROGRAMMING PROCEDURE
Programming the firmware is required to update to a newer version, or to load a specific
version into the device. This section describes the process of programming firmware
into the IS1870/71 IC on the BM70/71 module. Microchip provides a PC based tool,
referred to as the “ISUpdate_Tool.exe”, for performing the firmware programming
operation. This tool inputs the firmware hex image files (see 3.4.1.2 “Software
Requirements” for getting firmware hex images) for the BM70/71 and uses the Pro-
gramming Protocol (see 2.5 “Programming Protocol”) to program them into the
device.
3.5.1 Programming Procedure
The procedure shows an example of the work flow for programming firmware into the
device. This demonstration programs version 1.03 of the firmware into the BM70 mod-
ule on the EVB. This demonstrated work flow can be repeated for any firmware version
compatible with the BM70/71 module. To program firmware, perform the following
actions:
1. Download the Firmware_SoftwareTools_Vx.xx.zip file from the Micro-
chip website: www.microchip.com/BM70 for the BM70 EVB and
www.microchip.com/BM71 for the BM71 EVB. Unzip the file and locate the firm-
ware update tool called ISUpdate_Tool.exe under the “Firmware_Firmware-
Tools/” sub-folder. Locate the firmware hex image files with the file extension
“*.H00, *.H01, *.H02, and *.H03” under the sub-folder “Firmware_Firm-
wareTools/Firmware/”. In the following example, firmware version 1.03 will be
programmed into the BM70 module. The firmware update tool and firmware hex
images will be required for this example.
2. Set switch SW7 in the ON position (refer to 2.2 “BM70/71 Mode Selection”),
see Figure 3-31.
FIGURE 3-31: SW7 IN TEST MODE
3. Ensure that jumpers, J1, JP8 and J3 on the BM70 EVB are connected, as
illustrated in Figure 3-18.
4. Connect the BM70 EVB to a PC using a micro-USB cable, see Figure 3-32. On
connection, LED6 (red) and LED1 (blue) will turn on. Press the Reset button
(SW5) to reset the BM70 module.

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 224 2016 Microchip Technology Inc.
FIGURE 3-32: FIRMWARE PROGRAMMING SETUP
5. Open the firmware update tool isupdate.exe. Select the COM port and set the
following parameters in the tool (see Figure 3-33):
- Baud Rate: 115200
- Memory type/subtype: Flash/Embedded Flash
- Address: 0x0000
6. Click Connect. On successful connection, the log window will show the string
“Port connect -> COM x” message will be displayed, see Figure 3-33.
FIGURE 3-33: FIRMWARE UPDATE TOOL WINDOW - PORT CONNECT

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 225
7. If the connection was not successful, the log window will show the string “Con-
nect failed”. Verify the parameters input into the tool, press the reset push button
on the EVB, and try to “Connect” again, see Figure 3-34.
FIGURE 3-34: FIRMWARE UPDATE TOOL WINDOW

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 226 2016 Microchip Technology Inc.
8. Click Browse to navigate to the folder where the firmware files (.hex) have been
downloaded from the Microchip website. In the Open dialog, select all the four
hex image files and then click Open, see Figure 3-35.
FIGURE 3-35: SELECTING THE FLASH CODE FILES

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 228 2016 Microchip Technology Inc.
10. The Firmware Update tool will start writing the selected firmware files into the
device. Wait until the string “End of Write Memory!” with the elapse time is
displayed in the log window, see Figure 3-37.
FIGURE 3-37: FIRMWARE UPDATE FINISH

BM70/71 PICtail™/PICtail Plus EVB
2016 Microchip Technology Inc. DS50002542A-Page 229
11. To verify the firmware version, enter the following parameters under the
Flash/EEPROM/MCU/AHB Access section, and then click Read, see
Figure 3-38:
- Address: 0x100E
- Length (Hex): 0x02
FIGURE 3-38: ENTERING PARAMETERS

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 230 2016 Microchip Technology Inc.
12. The Data (Hex) box will display “01 03” and the log window will display the fol-
lowing string: “0x01 0x03”. This number represents the firmware version the
device has been programmed with, in this case version v1.03, see Figure 3-39.
FIGURE 3-39: VERIFY FIRMWARE VERSION
13. After completing the firmware update, any configuration parameters will have
been lost. The user should reprogram configuration parameters back into the
device before switching to “Application/Run” mode.

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 231
Appendix A. BM70 EVB Schematics
A.1 BM70 EVB REFERENCE SCHEMATICS
FIGURE A-1: BM70 EVB SCHEMATICS

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 232 2016 Microchip Technology Inc.
FIGURE A-2: BM70 EVB SCHEMATICS

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 233
Appendix B. BM71 EVB Schematics
B.1 BM71 EVB REFERENCE SCHEMATICS
FIGURE B-1: BM71 EVB SCHEMATICS

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 234 2016 Microchip Technology Inc.
FIGURE B-2: BM71 EVB SCHEMATICS

BM70/71 BLUETOOTH®
LOW ENERGY MODULE
USER’S GUIDE
2016 Microchip Technology Inc. DS50002542A-Page 235
Appendix C. Commands Summary Quick Reference
C.1 QUICK REFERENCE OF HOST TO BM70/71 MODULE COMMANDS
Table C-1 provides all commands the host can send to the BM70/71 module.
TABLE C-1: QUICK REFERENCE OF HOST TO BM70/71 MODULE
COMMANDS
Command Type Command Name
Common Read Local Information (opcode - 0x01)
Reset (opcode - 0x02)
Read BM70/71 Status (opcode - 0x03)
Read BM70/71 ADC Value (opcode - 0x04)
Into Shutdown Mode (opcode - 0x05)
Read Device Name (opcode - 0x07)
Write Device Name (opcode - 0x08)
Erase All Paired_Bonded Device Information
(opcode - 0x09)
Read Pairing Mode Setting (opcode - 0x0A)
Write Pairing Mode Setting (opcode - 0x0B)
Read All Paired_Bonded Device Information
(opcode - 0x0C)
Delete Paired_Bonded Device (opcode - 0x0D)
Digital Input\Output Control (opcode - 0x0E)
PWM Control (opcode - 0x0F)
Leave Configure Mode (opcode - 0x52)
GAP Read RSSI Value (opcode - 0x10)
Write Advertising Data (opcode - 0x11)
Write Scan Response Data (opcode - 0x12)
Set Advertising Parameters (opcode - 0x13)
Set Scan Parameters (opcode - 0x15)
Set Scan Enable (opcode - 0x16)
LE Create Connection (opcode - 0x17)
LE Create Connection Cancel (opcode - 0x18)
Connection Parameter Update Request (opcode -
0x19)
Disconnect (opcode - 0x1B)
Set Advertising Enable_Disable (opcode - 0x1C)
Read Remote Device Name (opcode - 0x1F)

BM70/71 Bluetooth® Low Energy Module User’s Guide
DS50002542A-Page 236 2016 Microchip Technology Inc.
GATT Client GATT Client - Discover All Primary Services
(opcode - 0x30)
GATT Client - Discover Specific Primary Ser-
vice Characteristic (opcode - 0x31)
Read Characteristic Value (opcode - 0x32)
GATT Client - Read Using Characteristic UUID
(opcode - 0x33)
GATT Client - Write Characteristic Value
(opcode - 0x34)
GATT Client - Enable Transparent UART Service
(opcode - 0x35)
GATT Server GATT Server - Send Characteristic Value
(opcode - 0x38)
GATT Server - Update Characteristic Value
(opcode - 0x39)
GATT Server - Read Local Characteristic Value
(opcode - 0x3A)
GATT Server - Read All Local Primary Services
(opcode - 0x3B)
GATT Server - Read Specific Local Primary Ser-
vice (opcode - 0x3C)
GATT Server - Send Write Response (opcode -
0x3D)
GATT Server - Read All Local Primary Services
(opcode - 0x3B)
GATT Server - Read Specific Local Primary Ser-
vice (opcode - 0x3C)
GATT Server - Send Write Response (opcode -
0x3D)
GATT Transparent Transparent UART Service - Send Data (opcode -
0x3F)
Pairing Pairing - Passkey Entry Response (opcode -
0x40)
Pairing - User Confirm Passkey Response
(opcode - 0x41)
Pairing - Pair Request (opcode - 0x42)
TABLE C-1: QUICK REFERENCE OF HOST TO BM70/71 MODULE
COMMANDS (CONTINUED)
Command Type Command Name

Commands Summary Quick Reference
2016 Microchip Technology Inc. DS50002542A-Page 237
C.2 QUICK REFERENCE OF BM70/71 MODULE TO HOST EVENT RESPONSES
Ta b l e C - 2 provides all event responses the BM70/71 module can send to the host.
TABLE C-2: QUICK REFERENCE OF BM70/71 MODULE TO HOST EVENT
RESPONSES
Event Type Event Name
Pairing / Bonding Pairing - Passkey Entry Request Event (opcode
- 0x60)
Pairing - Pair Complete Event (opcode - 0x61)
Pairing - Passkey Confirm Request Event
(opcode - 0x62)
GAP Advertising Report Event (opcode - 0x70)
LE Connection Complete Event (opcode - 0x71)
Disconnect Complete Event (opcode - 0x72)
Connection Parameter Update Event (opcode -
0x73)
Common Command Complete Event (opcode - 0x80)
Status Report Event (opcode - 0x81)
Configure Mode Status Event (opcode - 0x8F)
GATT Discover all Primary Services Event (opcode -
0x90)
Discover Specific Primary Service Characteris-
tic Declaration Event (opcode - 0x91)
Discover All Characteristic Descriptors Event
(opcode - 0x92)
GATT Server - Client Write Characteristic
Value Event (opcode - 0x98)
GATT Transparent - Received Transparent Data
Event Response (opcode - 0x9A)

DS50002542A-Page 238 2016 Microchip Technology Inc.
AMERICAS
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://www.microchip.com/
support
Web Address:
www.microchip.com
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Canada - Toronto
Tel: 905-695-1980
Fax: 905-695-2078
ASIA/PACIFIC
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2943-5100
Fax: 852-2401-3431
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8569-7000
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
China - Dongguan
Tel: 86-769-8702-9880
China - Guangzhou
Tel: 86-20-8755-8029
China - Hangzhou
Tel: 86-571-8792-8115
Fax: 86-571-8792-8116
China - Hong Kong SAR
Tel: 852-2943-5100
Fax: 852-2401-3431
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8864-2200
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
ASIA/PACIFIC
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
India - Pune
Tel: 91-20-3019-1500
Japan - Osaka
Tel: 81-6-6152-7160
Fax: 81-6-6152-9310
Japan - Tokyo
Tel: 81-3-6880- 3770
Fax: 81-3-6880-3771
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Hsin Chu
Tel: 886-3-5778-366
Fax: 886-3-5770-955
Taiwan - Kaohsiung
Tel: 886-7-213-7828
Taiwan - Taipei
Tel: 886-2-2508-8600
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
EUROPE
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany - Dusseldorf
Tel: 49-2129-3766400
Germany - Karlsruhe
Tel: 49-721-625370
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Italy - Venice
Tel: 39-049-7625286
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Poland - Warsaw
Tel: 48-22-3325737
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Stockholm
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Worldwide Sales and Service
06/23/16