BM71 Transparent UART Demo (Auto Pattern Tool)


The BLEDK3 firmware on the BM71 offers two state machines for the user: Auto Pattern mode and Manual Pattern mode. The User Interface (UI) Configuration Tool allows the user to decide which mode the module will enter once it is powered up. This lab will focus on Auto Pattern mode.

This mode is essential for using the BM71 as a data pipe through the Transparent Universal Asynchronous Reciever Transmitter (UART) service. It is not intended to be used for other private services/characteristics. It automates most of the tasks; however, it also provides a window of opportunity to configure the module before the Auto Pattern state machine takes over. This window of time is called the Configuration mode.

You will:

  • Use the UI Tool to set the module to Auto Pattern mode
  • Learn about the Configure mode
  • Use the Auto Pattern Test Tool to communicate via Transparent UART service


Hardware Tools

This lab uses a BM71 PICtail board with version 1.06 of the firmware. If you don't have v1.06, go to the "BM71 Firmware Upgrade" page to update your BM71 module.

  • Apple Smartphone
    • iOS version 5 or later
    • BT 4.0 or higher hardware

Software Tools

Be sure to install the MCP2200 USB drivers before starting. Also, download/extract the UI Configuration Tool as well as the Auto Pattern Test Tool to your PC using the links above.

 Connection Diagram


Auto Pattern Flow Chart




Connect to BM71

Connect the BM71 PICtail board to your PC via the USB connector (bottom-side of the board) using the supplied USB Cable. Ensure the jumpers J3, JP8, and J1 (all yellow in this photo) are set as shown:



COM Port

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



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


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.


Launch the User Interface Configuration Tool

After extracting files from the 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.



Load Text File

Selecting Load Text File will open up another window. Choose the IS1871SF_102_BLEDK3_UI v100.132(BM71) default.txt file and click Open.



Edit Text File

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


When you press the edit button to start editing UI parameters, the Main Feature window will pop up. This window is where the user will select the target application. BLEDK3 supports all Bluetooth Low Energy (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 0x01: BM71 and then click OK.



Configure Module

The window that follows is called the Function Settings window. All of the settings we will change for this lab are located under the System Setup tab.


The first setting we will change is the Name Fragment under the Device Information pane. We chose to name the module "DeveloperHelp." This is the name that will be displayed in the scan results.



Next, we will disable the UART_RX_IND feature. When enabled, this feature places the module into a Lower Power mode, shutting off its UART RX operation. The host MCU then needs to drive this pin high to enable subsequent packet I/O operations.



Then, we will choose Auto Pattern as our Operation Pattern.


Before entering Auto Pattern mode, the BM71 can go into a state called Configure mode (see diagram below). Relative settings can be configured while the BM71 is in this mode. The Configuration Mode Timeout option provides the length of time the module will remain in Configure mode if no commands are sent to it.



For our demo purposes, let's change the value of the Configure Mode Timeout setting to a non-zero value. I chose approximately six seconds (6.4s = 0x0A).



After changing the Configuration Mode Timeout to a non-zero value, we need to enter the EEPROM parameters into the module. Click on Finish.



Write Settings


After that window closes, select Write on the Start Menu window that remains open.



On the window that pops up, select the correct COM Port that has been assigned to your BM71 PICtail board. For Baudrate, select 115200 and then click on Write.



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



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



You can now close the Start Menu window.


App Mode

Put the module in App mode by moving dip-switch SW7 to the OFF position and resetting the module by pressing SW5 (button immediately above dip-switch).



Launch the Auto-Pattern Tool


Select the correct COM Port from step 1a and press Connect to connect to your module.



If you press the Reset button on the PICtail, then you should get a "Configure Mode is Enable" message indicating that the module is ready to take in some configuration commands. Click OK



You will immediately be taken to the Configure Mode tab where you will see all the allowed Configure mode commands.


If you don't send the module a command within the 6.4 seconds we specified earlier in this lab, the Configure mode will timeout and you will see a "Configure Mode is Disable" message in the Auto Pattern Test Tool.


Push the Reset button on the BM70 PICtail again to enter Configure mode. Click OK on the "Configure Mode is Enable" message and send the 0x01: Read Local Information command.


The module will respond with its Version and MAC address information as we see in green above.


Now that we have sent a command, you can continue issuing Configure Commands to the BM70 for as long as you please. The module will remain in Configure mode until we issue the 0x52: Leave Configuration command.


At that point you will see the following pop-up message:


Click on OK. The module will automatically leave Configuration mode and enter Auto Pattern mode. It will be on Standby for however many seconds we have specified in the UI Configuration Tool (in this case about 2 minutes).



Connect to the Smartphone

The Auto Pattern Test Tool can also be used to send data via Transparent UART. Sending and receiving data via Transparent UART using the Auto PatternTest Tool is similar to the demo found here.


After you've left Configure mode, you can open the SmartData app and as it starts scanning, you should see your module's name on the list.



Tap on your module's name to connect to it.



Send File from Auto Pattern Tool


In the Raw Data Page tab under the Tx Control pane, click on Load File and browse to the location of the file you would like to send. For this example, it is called TestMessage.txt, as shown on the screenshot below.



Next, click the Tx Start button.



Over on the SmartData app you will notice that the data has been received.



In this lab you:

  • Were able to see the steps required to work with the Configure mode
  • Used the Auto Pattern Test Tool to send data through the Transparent UART service
© 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.