BM70 Operating Modes

Last modified by Microchip on 2023/11/09 09:03

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

ModeDescription
Auto Pattern modeThe BM70 module acts as a data pipe using the Transparent Universal Asynchronous Receiver Transmitter (UART) Service. 
Manual Pattern modeThe BM70 module behaves as a Generic Bluetooth® Low Energy (BLE) Link Controller.
Beacon modeSupport Non-Connect advertising only.
BeaconThings modeBLEDK3 advertises iBeacon®  location and proximity detection technology ADV and connectable ADV simultaneously in Standby mode.

Back to Top

BM70 Power On Flow Chart

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

Chart showing BM70 module entering the Manual and Auto Pattern modes

Back to Top

Auto Pattern Mode

Auto Pattern mode uses a private built-in proprietary Generic Attribute Profile (GATT) service called the Transparent UART Service. This mode 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.

UART data as an Attribute Protocol (ATT) packet sent to the remote device and vice versa

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 Static Configuration (UI Configuration Tool) page.

User Interface (UI) Configuration Tool

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.

Generic Access Profile (GAP) service, Device Information Service, Beacon Service, and the proprietary Transparent Service

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.

Back to Top

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.

Manual Pattern mode is the normal mode of operation

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

UI Configuration tool

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.

Back to Top

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 kinds 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.

Back to Top

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 an iBeacon ADV.
  • Automatic BLE connection: The 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.

Back to Top