BM70 Static Configuration (UI Configuration Tool)

 Objective

BM70 static device configuration settings are stored in separate non-volatile storage in the module. When the device powers up or resets, these settings are read into the device.

Configuration settings can change the behavior of the device, for example:

  • Advertising
  • Scanning
  • Connection intervals
  • General Purpose Input/Output (GPIO) functions, etc.

This page provides a brief introduction to the User Interface (UI) Configuration Tool, a Windows® PC-based utility used to edit a configuration text file, then program the settings into the configuration memory of the device.

It's also possible to update static configuration settings in-circuit via the host MCU.

Dynamic module configuration is achieved via specially formatted command/response packets exchanged over the Universal Asynchronous Receiver Transmitter (UART) interface.

 Materials

Hardware Tools

This lab requires a BM70 PICtail board with version 1.06 of the firmware. Visit the "BM70 Firmware Upgrade" page to learn how to verify/update module firmware.

Software Tools

Be sure to install the MCP2200 USB drivers before starting. Also, download and extract the UI Tool to your PC using the link above.

 Connection Diagram

Lab1_Connection_Diagram.png

The UART RX and TX lines are used to communicate between the host MCU and the BM70.

 Procedure

1

Connect to BM70

Connect the BM70 PICtail to your PC. Ensure the jumpers are set as shown.

Connected.png

a

COM Port

Open the Device Manager window by going to Start Menu > Control Panel > Hardware and Sound and then selecting 'Device Manager'. Once open, check which COM Port has been assigned to the BM70 PICtail. In this case, it is COM18. Please note that yours will probably be different.

DeviceManager.png

b

Test Mode

Place the module in Test Mode by setting SW7 in the ON position, then press Reset (SW5) to reset the module.

BM70Update.png

The module's basic operating mode (Test/Application) is sampled and established on a module reset condition. We recommend pressing the Reset (SW5) push-button whenever SW7 is first changed, or when you want to be sure that SW7 is sampled and applied by the module.

With jumper JP8 shorted, LED0 will be lit (BLUE) indicating the module is in Test Mode, as shown above.

2

Launch the User Interface Configuration Tool

After extracting files from the User Interface (UI) Configuration Tool ZIP file, double-click on the application file called IS187x_102_BLEDK3_UI v100.132.exe to launch the utility.

Immediately after launch, the Start Menu window will pop up. Before we can do anything with this tool, we must load a UI parameter table. One way to load the UI parameters is by using an existing UI text file.

Click on Load in the Start Menu window.

NewLoad.png

3

Load Text File

Selecting Load Text File will open up another window. Choose the IS1870SF_102_BLEDK3_UI v100.132(BM70) default text file and click Open.

NewLoadFile.png

4

Edit Text File

Once the text file has been loaded, the edit button will be enabled. Click on Edit.

NewEdit.png

When you press the edit button to start editing UI parameters, the Main Feature window will pop up. This is where you can select the target application. BLEDK3 supports all BLE operations, while the Beacon mode is used for non-connectable advertising only. If 'BeaconThings' is selected, the module will support both BLEDK and Beacon operations.

For the purposes of this demo, we will only select 'BLEDK 0x00: BM70' and then click OK.

NewMainFEature.png

5

System Setup Window

Immediately after we click OK, we will see the Function Settings window pop up. It is in this window that most module parameters can be configured. As we can see, there are a few different tabs, each with different settings we can change. The first tab, System Setup, is where we find all the system configurations. We can change our device’s name, change the UART’s settings, select between Manual and Auto Pattern modes, change security settings, etc.

FunctionSettings.png

In the second tab, System Setup2, we find the GPIO Configuration table as well as more system configuration settings. The I/O pins on the BM70 can be configured as either a control or an indication signal. The GPIO Configuration table shown on the System Setup2 tab provides configurable I/O pin assignment details for the control and indication signals of the BM70 BLEDK3 application.

Setup2Tab.png

Feel free to browse the tabs and explore the different settings that can be configured to best fit your application. Below is a brief explanation of the rest of the tabs.

LE Mode Setup

This tab contains the LE mode settings.

Generic Attribute Profile (GATT) Service Table

In this tab, the user can build their own GATT service table.

LED Setup

This tab is the P0_2/LED0 configuration page. This is a fixed-function status output in BLEDK3, and it indicates what state the module is currently in via the LED flash pattern.

Beacon Setup

This tab contains all the iBeacon configurations.

6

Device Name

Usually, the first setting customers choose to change is the Name Fragment under the Device Information pane. This allows you to easily identify your device. In this case, we chose to name the module "DeveloperHelp".

DeveloperHelp.png

The Name Fragment identifier becomes the module's Generic Access Profile (GAP) Service Device Name characteristic.

7

UART RX IND

Another important setting on this tool is the UART RX_IND. In order to reduce current consumption, BLEDK3 will automatically enter Low-Power mode if UART RX_IND is enabled and the UART_RX_IND pin is assigned. When in the normal power mode of operation, the module runs a 16 MHz clock; in Low-Power mode, the module runs a 32 kHz clock. The Low-Power operation mode also disables the module UART section and thus the host MCU has no way to communicate with the module. If the host MCU needs to send/receive data/commands to the module, then the only way to do it is to pull the UART_RX_IND pin low. By default, the UART_RX_IND pin is enabled, but for the purposes of this lab, we will disable it, therefore preventing the module from entering Low-Power mode.

LowPowerInd.png

If you are using the Manual Pattern Tool with the BM-70-PICTail board, we recommend disabling UART_RX_IND function, so that the utility is able to communicate with the module. In your final application, we recommend enabling this function to facilitate lower power consumption.

8

Operation Pattern

Using this UI Tool the user can also select whether the BM70 will operate on Auto Pattern mode or Manual Pattern mode. Refer to the "BM70 Operating Modes" page to learn more about Auto and Manual Pattern modes.

ManualOrAuto.png

Go ahead and select the mode you wish to use.

9

Save Settings

After we have made all the desired changes, we need to write these new configuration settings into our module. Click on Finish.

Finished.png

After that window closes, select Save on the Start Menu to save the configuration settings to a text file on your computer. You will now have a starting point for further editing of your static parameters.

SaveConfigFile.png

10

Write Settings

Next, select Write on the Start Menu to write the settings to the module.

NewWrite.png

On the window that opens, select the correct COM Port that has been assigned to your BM70 PICtail and for Baudrate select 115200. Then click on the Write button.

WriteFlash.png

11

Finish

You will see a window asking if you are sure you want to write to the EFLASH, select Yes.

WriteEFLASH.png

Lastly you will see a window letting you know the write has been successful. Click on OK.

FinishedWrite.png

You can now close the Start Menu window.

 Conclusions

The settings have now been saved to the separate non-volatile storage. Next time the device powers up or resets, these settings will be read into the device.

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