BM70 Operating Modes

BM70 firmware (referred to as “BLEDK3”) offers the following operating modes:

Mode Description
Auto Pattern mode The BM70 module acts as a data pipe using the Transparent Universal Asynchronous Receiver Transmitter (UART) Service.
Manual Pattern mode The BM70 module behaves as a Generic Bluetooth® Low Energy (BLE) Link Controller.
Beacon mode Support Non-Connect advertising only.
BeaconThings mode BLEDK3 advertises iBeacon ADV and connectable ADV simultaneously in Standby mode.

BM70 Power On Flow Chart

The following flow chart describes how the BM70 module enters the Manual and Auto Pattern modes.

PowerOnFlowChart.png

Auto Pattern Mode

Auto Pattern mode uses a private built-in proprietary Generic Attribute Profile (GATT) service called the Transparent UART Service. This mode basically creates a virtual UART connection between the host MCU and smartphone apps. While the BLEDK3 is in Peripheral Role, it acts as a data pipe between the host MCU and a remote Central BLE device. It will package the received UART data as an Attribute Protocol (ATT) packet and send it to the remote device and vice versa. In Auto Pattern mode, the host MCU does not need to understand BLE protocol at all, it can send and receive raw data by UART transport directly once the Transparent Service is enabled. Auto Pattern mode only supports BLE Peripheral/Server role and built-in services.

AutoPatternMode.png

To enter Auto Pattern mode we need to use the User Interface (UI) Configuration Tool. The UI Tool provides a friendly interface for you to edit parameters and the GATT Table of the BLEDK3. Once you have launched this tool, select Auto Pattern under the Operation Pattern setting. For more information on how to use the UI Configuration tool, visit the "BM70 Static Configuration (UI Configuration Tool)" page.

ManualOrAuto.png

Generic Access Profile (GAP) service, Device Information Service, Beacon Service, and the proprietary Transparent Service (used for Auto Pattern mode) are built-in as default services on the BM70 module.

Services.png

The BLEDK3 Auto Pattern Tool User Guide describes how to use the BM70 with Auto Pattern settings. It can be found on the Microchip Website in the Documents tab under the Software section (IS187x_BM7x Software Documentation). You can also refer to the BM70 Transparent UART Demo page to see an example of a few things you can do while the BM70 module is in Auto Pattern mode.

Manual Pattern Mode

Manual Pattern mode is the normal mode of operation and it is used when the application or host MCU would like to access and control more BLE GATT/GAP profiles. The host MCU uses the BM70 module as a BLE GATT modem in this mode and the module behaves according to the proprietary UART commands sent by the host MCU. Manual Pattern mode supports custom or pre-defined profiles as well as all roles (BLE Broadcaster, Observer, Central/Client, Peripheral/Server). All of the standard or proprietary services can be appended into BLEDK3 by using the UI Configuration Tool. The maximum number of attributes that can be added is 100.

ManualMode.png

To enable Manual Pattern mode operation, launch the UI Configuration tool and under the Operation Pattern setting, select Manual Pattern.

ManualOrAuto.png

The BLEDK3 Manual Pattern Test Tool is a PC utility that may be used to emulate an MCU and evaluate command/response packets with a BM70 in Manual Pattern mode. It can be found on the Microchip Website in the Documents tab under the Software section (IS187x_BM7x Software Documentation). You can also refer to the BM70 GAP Peripheral Demo (Making Connections) page to see an example of how to use the BM70 in Manual Pattern mode.

Beacon

BLEDK3 can be configured as any kind of beacon device. While BLEDK3 operates in Broadcast mode, it can send non-connectable advertising packets. These kind of non-connectable advertising events are what we call beacons. Besides beacon behavior, BLEDK3 also supports an additional capability for a remote device to configure the advertising data called Beacon Admin. This means that the content of the broadcast can be configured over the air.

BeaconThings

Standard beacons are provisioned at a particular spot (like the coat rack at a store). When in proximity to a beacon, it invokes an application (such as a loyalty app) on your phone. The app can then communicate with the cloud and log that you are in a particular retail store and send you offers and incentive coupons. There is no two-way communication with the beacon.

BeaconThings is a firmware configuration in IS1870/71 based products and it is a concept designed to enhance user experience. It enables two-way communication between the smartphone and the beacon-enabled accessory. It works like a standard beacon and can invoke an app when an enabled smartphone is near. It also works as a peripheral and can exchange data with the smartphone app. The user just registers the BeaconThings accessories once in the app (during the first time device pairing procedure) and then almost no manual operation is needed, the BeaconThings accessories can be connected to the iOS device automatically.

There are three steps to approach the BeaconThings, all executed in the background:

  • Launch app: An app will wake up since it has received and iBeacon ADV.
  • Automatic BLE connection: App will scan the nearby peripherals with a specific Universally Unique Identifier (UUID) and connect to a suitable peripheral.
  • BLE communication: The BLE data can be exchanged between the app and BeaconThings accessories.

While BLEDK3 operates in Discovery mode, BLEDK3 can send non-connectable advertising events and connectable undirected advertising events at the same time. Using the UI tool, the user can configure how the BLEDK3 will behave after a remote device has connected to it. You can either choose to stop sending non-connectable advertisements or continue enabling them. If non-connectable advertising events are disabled under the connected state, BLEDK3 will stop sending non-connectable advertising events once a connection is established and will resume sending them after the connection is terminated.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site 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.