BLE Scan View#
The Scan view contains a collection of tools for BLE firmware application developers. It consists of three sub-views: Scanner, RSSI Graph and Active Connections. Together, they form a feature-rich set of tools to scan, connect, and interact with BLE devices.
Scanner#
Scanner is the default view. It is a powerful tool to explore the BLE devices around you. Key features include the following:
Scan for BLE devices
Sort the list by the RSSI
Filter devices to narrow down the scan results
Label favorite devices to place them on the top of the list
Inspect advertising data
Connect to a specific device
Start and Stop Scanning#
You can control when scanning starts and stops. The application does this automatically in only four situations:
Opening Scanner view starts scanning
Connecting to a device stops scanning
Refreshing the list automatically starts scanning if it was stopped
Locking the screen automatically stops scanning
Scanning will continue indefinitely until you tap Stop Scanning at the bottom right or exit Scan View. Start/Stop action does not clear the list of devices. This means that, if scanning resumes with an existing device list, new devices will be added to the end. Exiting Scan view as well as pulling down and releasing the device list causes the list to refresh. As mentioned above, pulling down also automatically starts scanning if it was stopped before.
Device Cards#
Each device discovered by the app is represented by a card containing information about that device. The image below shows the main elements of the device card.
Device name, if it's part of the advertisement, either through AD type Complete Local Name (0x09) or Shortened Local Name (0x08). If the device name is not part of the advertisement packet or the scan response packet, the app displays "N/A".
Bluetooth address. Note: On iOS the Bluetooth address is not accessible by the application.
Connect button if the advertisement is of connectable type.
RSSI (Received Signal Strength Indicator).
Advertising interval.
Known beacon format (iBeacon, Eddystone or Altbeacon). If no beacon format is identified, it will be "Unspecified".
Advertisement type (connectable or non-connectable).
The star indicates whether the device has been marked as favorite (star is blue). This can be easily toggled by tapping the star, which changes between blue and gray.
Bonding status. Note: Bonding status is not available on iOS due to system limitations.
Expand view, to inspect advertising data.
The device card can be expanded to show the advertisement data details. Once expanded, each row shows one of the advertisement data types that are part of the advertisement packet.
If the advertisement has a known beacon format, the details are also parsed according to that specific beacon format. The image below shows the details from an iBeacon advertisement (Bluetooth - SoC iBeacon sample application running on an EFR32BG22 kit).
Simplicity Connect also supports extended advertising. However, it must also be supported by the specific mobile device where the app is running. If the phone supports it and devices are sending extended advertising, that will be visible at the top of the advertisement details.
Filter#
The filter narrows down search results to a list of devices that fulfill a specific set of parameters. To reach the filter, tap the Filter icon in the top right corner.
The filter allows searching for devices with the following parameters:
Device name, Bluetooth address, or raw advertising data. The Bluetooth address can be entered with or without colon. Note: Simplicity Connect for iOS only displays the device name because the iOS Bluetooth stack does not provide the Bluetooth address and raw advertising data to the application.
RSSI above a given value so that you can limit results by signal strength threshold.
Beacon type: iBeacon, Altbeacon, Eddystone or Unspecified (none of the other three).
Only favorites
Only connectable
Only bonded. Note: This option is not available on iOS due to system limitations.
To apply the rules, tap Apply Filters. The filter is applied to the list of devices regardless of whether scanning is on-going or not. The X icon in the upper left corner closes the filter view without applying the new filtering rules. Tapping Reset clears all the filter parameters.
When a filter is active, the current filtering criteria are displayed on the top of the Scanner view.
Sort#
The sort functionality does not have a dedicated view. Pressing Sort (located in the top right corner of the Scanner and RSSI Graph views) sorts the list of devices by the RSSI in descending order.
UUID Dictionary#
The UUID dictionary can be accessed via the dictionary icon on the top right corner of the Scanner view. It contains a list of all the 128-bit UUIDs that have been renamed by the user. Inside the UUID dictionary, you can further edit their names as well as delete them.
Connect and Disconnect#
You can connect and disconnect devices directly from the Scanner view.
Once the device is connected, the app jumps directly to the Device View. When the scan list is refreshed, connected devices are removed from the list unless they continue advertising during the connection.
RSSI Graph#
The RSSI Graph shows a graphical representation of RSSI (Received Signal Strength Indicator) over time for all scanned devices. Features like sort and filter are analogous to the ones in Scanner. The RSSI Graph operates on the same data as Scanner, so the filter applied in the Scanner view is reflected on th RSSI Graph.
The main elements of the RSSI Graph view are:
Export control – save scan data to .csv file
Filter control
Sort control
Device list – horizontally scrollable
Graph data – scrollable and scalable
Scroll graph to the start time control (visible if not already at start time)
Scroll graph to the actual time control (visible if not already at actual time)
Start/Stop scanning control
A data line belonging to a specific device can be highlighted by selecting a device name in the device list section, as shown below.
Active Connections#
The Active Connections view lists all connected devices. It allows you to go to a specific connection view or disconnect from devices. All devices can be disconnected with the Disconnect All control at the bottom.
Device View#
Once a connection with a device is established or you tap an existing connection in the Active Connections view, the app jumps to the Device view, where GATT databases for both the remote and local side are displayed.
Remote (Client) vs Local (Server)#
At the bottom of the device view, you can switch between the GATT database of the remote device (where the mobile app acts as a client) or the GATT database of the local device (where the mobile app acts as a server). The UI representation of both GATT databases is the same. The local GATT database can be modified in the GATT Configurator view.
GATT Services#
Each card represents a GATT service and contains the service name and UUID. A custom service (128-bit UUID) that has not been renamed by the user is displayed as Unknown service. Similarly, a custom characteristic that has not been renamed is displayed as Unknown characteristic. There are a few exceptions for that rule, for example some Silicon Labs custom services and their characteristics, which cannot be modified.
GATT Characteristics#
Tapping the down arrow expands the card to show a list of all the characteristics belonging to the service as well as supported properties. This will not automatically read the characteristics, which means that the data fields might be empty. Read has to be done explicitly by the user. If the characteristic has descriptors, they are listed underneath the characteristic UUID.
If other properties are available, they will have additional associated icons. For characteristics without any specific data format, you can copy data to the clipboard with the copy icon on the right side of the characteristic data. Data is copied using the respective format (hex, ascii, or decimal).
If the write property is available, tapping the write icon opens a dialog to write data to the characteristic. Within that dialog you can select the write method (write request or write command), depending on what is supported by the characteristic. If one is not supported, it will be grayed-out. You can also paste data from the clipboard by tapping the Paste icon on the right side. If the data is not correctly formatted, data validation will show a warning.
Activity Log#
The Activity Log button is located in the top right corner of the Device View. The log keeps a record of all the Bluetooth activity. It can be shared via email or other methods for later analysis.
Connection Priority#
The Connection Priority control is located in the top right corner of the Device View. It allows you to choose one of the predefined connection intervals:
Low priority (100-125 ms)
Balanced priority (30-100 ms)
High priority (7,5-15 ms)
Notes:
The ranges are defined by the Android stack and are not a limitation imposed by the Simplicity Connect app.
This option is not available on iOS due to system limitations.
Request MTU#
The Request MTU control is located in the top right corner of the Device View. It allows you to request new MTU size in range 23 to 250 bytes.
Note: This option is not available on iOS due to system limitations.
OTA Firmware Update#
OTA firmware update is a process of updating a device firmware image over a wireless connection (BLE in this case). There is a dedicated OTA firmware control located below the top right corner icons. Tapping that control opens the OTA dialog. If the Silicon Labs OTA service was not found in the GATT database a warning is displayed.
OTA type
Partial: Only the application is updated.
Full: Both application and apploader are updated. This requires uploading two separate GBL files, one for the application and one for the apploader.
OTA mode
Reliability: Uses a write operation to send the GBL file data.
Speed: Uses write without response operation to send the GBL data.
Application/Apploader: The GBL file(s) to flash the device.
During the OTA process, the information about progress is displayed.
For additional guidance on the OTA process using Simplicity Connect, see Using Simplicity Connect for OTA DFU.