BLE Device Monitor User Guide

From Texas Instruments Wiki
Jump to: navigation, search

Bluetooth CC2650 SensorTag main page Bluetooth CC2541 SensorTag main page

The Bluetooth low energy (BLE) Device Monitor is a Windows application that displays services, characteristics and attributes of any Bluetooth low energy device. In addition it provides test and monitoring for the Bluetooth SensorTag and can also be used to download firmware over the air (OAD) for SensorTag (and other TI devices that support this feature). The BLE Device Monitor requires a CC2540USB dongle with a HostTestApplication to work. This is the same firmware that BTOOL relies on. The CC2540USB dongle is pre-programmed with sniffer firmware so you may have to reprogram it using CC Debugger. It is also possible to use a CC250 LaunchPad with a pre-programmed HostTestApplication (can be found in the firmware/cc26xx/launchpad directory).

The BLE Device Monitor (current version is 2.7.0) has been tested on Windows 7 and Windows 10. It includes Bluetooth Smart Application firmware (hex files) for CC2541 SensorTag, CC2650 SensorTag, CC2650 LaunchPad, CC1350 SensorTag and CC1350 LaunchPad.

NB! The BLE Device Monitor can be downloaded here.


Changes between version 2.7.0 and version 2.5.0:

  • Display of IR Temperature sensor removed (the component has reached end of life and is not mounted on the SensorTag)
  • Automatic USB enumeration (plug-and-play)
  • Basic in-tool user interface to SmartRF Flash Programmer 2
  • On-chip OAD now working
  • Firmware version 1.43 for CC2650 and CC1350 SensorTags
  • Firmware version 2.35 for CC2640R2F LaunchPad
  • Fixed minor bugs

Changes between version 2.5.0 and version 2.4.0:

  • Improved OAD GUI (more information about images)
  • Always use safe mode for OAD (removed possibility to tweek)
  • Automatically set optimal connection interval for OAD
  • OAD working again for CC2541 SensorTag
  • Manual selection of OAD method (on-chip v off-chip) for third-party applications (not SensorTag or Launchpad OOB)

Changes between version 2.4.0 and version 2.3.0:

  • Update firmware to BLE SDK 2.2.1
  • List of firmware versions available from application menu

Changes between version 2.3.0 and version 2.2.0:

  • Added firmware for CC1350 SensorTag
  • Automatically select correct firmware folder for OAD (according to which device is connected)
  • OAD tab now available offline (for generating binary files from hex files)
  • Display meta-data (image header) prior to OAD
  • Soft reset of BLE Device

Changes between version 2.2.0 and version 2.0.0:

  • Provided with BLE 2.2 application firmware for CC2650 SensorTag and CC2650/CC1350 LaunchPad
  • Split data monitoring and production test functionality
  • HCI data logging to file
  • Report firmware revision and battery level in status bar
  • OAD upgrade path for SensorTag firmware v 1.20 to 1.30
  • Improved scan settings dialog (device name filtering)
  • Remembers previously selected device
  • Optional autoconnect after scan
  • External Flash Erase

Changes between version 1.0.0 and version 2.0.0:

  • Support for CC2650 SensorTag with the new sensors
  • OAD for CC2650 SensorTag
  • OAD uses hex files directly
  • OAD customization: possible to choose between 'safe mode' (wait for notification before sending a new block) and 'fast mode' (send at a fixed interval, configurable)
  • Optical sensor TI OPT 3001 visualized
  • Added possibility to operate LED and buzzer from SensorTag panel
  • Fixed bug that made SensorTag panel reports errors with long connection interval + slave latencies
  • Scan duration configurable
  • Background scans introduced (rate is configured in Scan settings)
  • Two pre-set values for GAP settings (fast and slow modes)


Unpack the ZIP-file, run installer (Setup_BLE_Device_Monitor.exe) and confirm when Windows asks for permission to install executables and drivers. When the installation is complete there will be short-cuts on the Windows Desktop and in the Windows Start Menu.

Make sure to upload the correct image to the CC2540 USB dongle, CC2540_USBdongle_HostTestRelease_All.hex. The default location is: C:\Program Files\Texas Instruments\SmartRFTools\BLE Device Monitor\firmware\cc254x. Alternatively you can use a CC2650 LaunchPad as a dongle. The firmware is found in the firmware\cc26xx\launchpad folder (cc2650lp_host_test_rel.hex).

The Virtual COM port driver for the CC2540USB dongle and the CC2650 LaunchPad can be found in (default): C:\Program Files\Texas Instruments\SmartRFTools\drivers\vcp.

Finding the correct COM port

On Windows 7, 8 and 10 the COM-port number will be displayed as a notification when the dongle is inserted first time. On Windows XP you may need to open Windows Device Manager to find the correct COM port for the TI CC2540 Low-Power RF to CDC Serial Port (COMxx). If the CC2540 device doesn’t show up as a COM port, it is probably listed as an unknown device. Select the unknown device, right click and install the driver from: C:\Program Files\Texas Instruments\SmartRFTools\drivers\vcp.

BLE Device Monitor first use

BLE Device Monitor COM port.png

Open Device Monitor from: C:\Program Files\Texas Instruments\BLE Device Monitor\ble_devmon.exe or from Windows Start Menu. When BLE Device Monitor is opened for the first time, it will fail to open the COM port, as the predefined COM port is COM1 (this will not happen if you use SmartRF05EB or SmartRF06EB connected physically to COM1).

Go to ‘Options’ and ‘Serial Port’ and select the correct COM port and click ‘OK’. The BLE Device Monitor will automatically search for a Bluetooth low energy Host device, and display the message 'BLE Host found' and some other messages in the event log when successful. Then it will by default start scanning for BLE devices.
BLE Device Monitor start up.png

Connecting to a SensorTag (or any Bluetooth low energy device)

Insert a CR2032 (coin cell) battery in the SensorTag and click on the side button to enable advertising. The LED (D1) on the other side of the PCB should start to blink to indicate that it is ready to communicate with the BLE Device Monitor. On the CC2650 SensorTag the green LED blinks when advertising. If no connection is established within 30 seconds the LED will stop blinking and the SensorTag will go back to sleep. If that happens, push the side button again to make the SensorTag advertise for another 30 seconds. Advertising on/off can be toggled via the side button any time.
Click ‘Scan’ in BLE Device Monitor to scan for the SensorTag
BLE Device Monitor scan.png

Select the SensorTag; either by double clicking on the SensorTag name or select the SensorTag and click on ‘Connect’.
BLE Device Monitor connecting.png

The SensorTag will now change status from Not Connected to Connected and all Bluetooth low energy Services and Characteristics appear.

The Device Monitor main window has two tabs: Services tab and Sensor Tag (or CC2650 SensorTag/LaunchPad) tab. The Services tab list all available GATT services, while the SensorTag tab demonstrates test mode for all sensors. If a SensorTag is connected the SensorTag will be selected by default.

Using Services tab

The Services tab will list all the GATT Primary Services that is available for the connected Bluetooth low energy device. Click on the + to display the Characteristics of the Service. As shown in the picture below, for the SensorTag IR temperature sensor, there is a characteristic, F000AA01, which shows the raw temperature data from the IR Temperature sensor. Notifications are enabled after connection but the SensorTag will not transmit any data as the sensors are off by default. Click on the IR Temperature Data characteristics to see the temperature readings (in hex). These will show 00:00:00:00 when the sensor is off. Turn on the sensor by double-clicking in the 'Value' field of the IR Temperature Config characteristic, and enter '1'. Now data from the sensor will appear in the Value column. If the log is set to "verbose" messages will appear also there. The readout period can be changed by applying a value to the 'IR Temperature Period characteristic'. The sensor is then turned off by writing '0' to the Config characteristic.
Explore the other sensors to by opening the corresponding Services. All sensors use a common set of characteristics and are operated in the same way.

Using the SensorTag tab

BLE Device Monitor Monitoring.png

When using the Monitor mode you will be able to see the numerical readings of the sensors, as opposed to the raw (hex) values that are displayed in the log and in the Services tab. Select Monitoring and choose the sensors you want to monitor and then click 'Start'. Make sure that you haven't stopped notifications of any of the sensors you want to monitor.

The Test Mode is a production test facility for the SensorTag which will enable you to test all the sensors and peripherals that are available on the SensorTag. The operator will be prompted for action when required, e.g. to confirm that, say, an LED has been turned on or when it is necessary to operate a button. The test results are stored in a time stamped log files, one for each calendar day (XML format). Test results are best accessed via File->Open Working Directory. This will open the storage directory used by the SensorTag (Documents\Texas Instruments\BLE Device Monitor).

The test limits may be changed by changing the following XML file: C:\Program Files\Texas Instruments\SmartRFTools\BLE Device Monitor\config\test_sensortag.xml. Similar configuration files exist for all supported TI platforms (test_launchpad.xml, test_cc2650stk.xml).

Over-the-Air-Download (OAD) for CC2541 SensorTag

OAD in BLE Device Monitor

New firmware can be downloaded to the SensorTag using the OAD feature of the BLE Device Monitor. This feature is accessed with File->Program (OAD), alternatively use CTRL + P. Select the image you want to download to the SensorTag. In \\Program Files\Texas Instruments\SmartRFTools\BLE Device Monitor\firmware\cc254x there are binary images containing the latest available firmware (at the moment version 1.6 based on BLE Stack 1.42).
Click start to begin the over-the-air firmware upgrade. In options/GAP settings it is possible to change the connection interval, changing the connection interval will directly affect the time it will take to download a new firmware to the SensorTag as it defines how often the SensorTag is to communicate with the BLE Device Monitor. It is recommended to set both minimum and maximum connection interval to 20 milliseconds. Higher values will slow down the programming unnecessarily, and too low values might cause lost packets and failed FW update. With these settings reprogramming of the SensorTag will take appx. 60 seconds (this may vary between PC's).

When a new firmware has been successfully downloaded to the SensorTag it will restart and the BLE Device Monitor loses connection with it. When ready the LED on the SensorTag will blink once and the SensorTag is reset and ready to use with the new firmware. Note that the side button must be pushed to restart advertising and the user may now reconnect and verify that the upgrade succeeded. Aborting the OAD upgrade is safe, the BLE device will continue to operate with its current firmware. This is easiest done by inspecting the log where the FW revision and the build date is displayed in bold green.

Over-the-Air-Download (OAD) for CC2650 SensorTag

This device is programmed using a different GUI from the CC2541 SensorTag. It can program hex files directly either by choosing them with a file open dialog or by drag and drop. For the CC2650 SensorTag the upgrade possibilities depend on the firmware that is already present in the SensorTag. The initial batch of SensorTags were programmed with BETA firmware (pre-RTM), given the version number 0.89. This version permits an upgrade to version 0.91 only. When this is done you may upgrade to subsequent CC2650 firmware versions (the latest is 1.12). If you have a SensorTag with 0.89 firmware pre-programmed it is highly recommended that you update to version 1.20 via version 0.91. Note that CC2650 SensorTag or LaunchPad does not distinguish between images types A/B as it uses an external flash for temporary storage of the image.

It is possibly to override the restrictions on upgrade paths simply by changing the file filter when you open a file for download. If you set the filter to all you can download any hex- or bin-file, but at your own risk. If the new image doesn't contain an BLE OAD service the only way to reprogram device is via the Debug Devpack (or LaunchPad).

OAD changes in BLE 2.2

With BLE 2.2 the OAD approach for SensorTag and other TI Bluetooth Smart examples have been harmonized to use the same approach. Thus it is no longer possible to program any hex image on the SensorTag. Only images that start on address 0x1000 and contain a valid OAD record (meta-data) in the first 16 bytes will be accepted. Page 0 and page 31, containing reset vector and BIM (Boot Image Manager) can no longer be reprogrammed over the air.

CC2541 SensorTag Attributes

The complete Attribute Table for the SensorTag can be found in here BLE_SensorTag_GATT_Server.pdf

CC2650 SensorTag Attributes

The complete Attribute Table for the CC2650 SensorTag can be found at here. Scroll to the bottom and expand GATT Attribute Table.

Back to Bluetooth SensorTag main page