Skip to main content
Ctrl+K

TI SimpleLink™ Connect App#

Texas Instruments

17 min read

Introduction#

This workshop offers a first experience with the TI SimpleLink™ Connect App. The app brings together three core features:

  1. Scanner: Scan and connect to BLE devices, discover services and characteristics. With GATT operations, this tool simplifies device communication and management. The TI SimpleLink™ Connect App can be used for firmware update (OAD).

  2. BLE Mesh: Build and manage and configure mesh networks.

  3. Stress Tests: Evaluate the performance of your BLE connections by performing data transfer via Bluetooth between a smartphone and a device.

Agenda#

  1. How to download the TI SimpleLink™ Connect mobile App
  2. Use the TI SimpleLink™ Connect mobile App
    1. Scan, connect and discover peripheral
      1. Supported profiles & services
      2. Update firmware using OAD
    2. Stress Tests
    3. BLE Mesh
  3. Modify the TI SimpleLink™ Connect App

Download TI SimpleLink™ Connect App#

Warning

TI SimpleLink™ Connect app does not get automatically updated. You need to update the app in your OS app store manually

Find the TI SimpleLink™ Connect App on both OS Android and iOS.

  • TI SimpleLink Connect on Apple App Store

  • TI SimpleLink Connect on Google App Store

Flash with your smartphone or your tablet the QR code to download the TI SimpleLink™ Connect App below:

../../_images/Apple_Google_QR_code1.png

QR codes to download TI SimpleLink™ Connect App#

Hint

It’s recommended to use the basic_ble or data_stream examples for your first experiences on TI SimpleLink™ Connect App. For more insights on these examples and how to use them, see their labs here:

  • data_stream lab

  • basic_ble lab

Use TI SimpleLink™ Connect App#

Scanner#

The following screenshots shows the scanner view of TI SimpleLink™ Connect App. In the scanner view, you can see all nearby advertising peripherals (both connectable and non-connectable devices).

../../_images/ScannerFirst.png
../../_images/ScannerSecond.png

Smartphone Scanning view#

Hint

Add a filter on the proximity of the device by pressing the settings menu (three dots on the top right-hand corner) or swapping to the right. Then activate the RSSI filter and update its value.

This feature will help you to filter out any faraway devices and make it easier to find your device in a crowded BLE environment.

By this menu you can also enable sorting by RSSI so nearby devices will be shown at the top of the screen.

../../_images/SettingView.png

Smartphone Settings view#

Connection View#

The following screenshot shows the connection view of TI SimpleLink™ Connect App after connecting to a device. You can update the device through OAD as well as view and look inside any service present on the device.

../../_images/ServicesFirst.png
../../_images/ServicesSecond.png

Smartphone Services view#

Characteristics View#

The following screenshot shows the characteristics view of TI SimpleLink™ Connect App. In this view you can read, write and enable notifications for the different characteristics.

../../_images/CharacteristicFirst.png
../../_images/CharacteristicSecond.png

Smartphone Characteristic view#

Update Firmware#

Hint

It’s recommended to use the basic_dual_image example for your first experiences with OAD process on TI SimpleLink™ Connect App. For more insights on this example and how to use it, see their labs here:

  • basic_dual_image

The following screenshot shows the update firmware views of TI SimpleLink™ Connect App. In this view you can update the peripheral FW by the following steps:

  1. Connect the peripheral.

  2. Click on “Update FW” link.

  3. Select HW Type from the list.

  4. Select an image.

  5. Verify image details shown in the “Image Details Section”.

  6. Click “Update” button (appears at the bottom of the screen).

  7. Wait for the process to finish.

../../_images/OADFirst.png

Hint

To use your own firmware, you can either upload a local file or change the repository URL.
The repository URL can be changed by clicking on the “setting” icon, enter repository details, test connection and save configurations.
Notice, if the repository is private, you should enter your access token.

../../_images/RepositoryUrlChange.png

Warning

OAD update fails on iOS when using RPA with public ID

The OAD process when using on-chip OAD consists is:

  1. Connect to the application.

  2. Reset the target.

  3. Connect to the persistent app.

However, when the device is advertising at step #3, it uses a different address than the one it uses at step #1. This “issue” prevents the mobile app to recognize the device and to reconnect to it to continue the OAD process. This leads to a timeout and eventually to the error message you have mentioned. The workaround consists in connecting and pairing to the CC2340R5 using the iOS’s Bluetooth interface. Once the device is paired, the OAD process can be run through the SimpleLink Connect mobile app.

Supported Profiles and Services#

The TI SimpleLink™ Connect App provides dedicated views for a list of profiles and services. Each supported profile has a dedicated view that simplifies its functionality.

The supported services are:

  1. Data Stream (0xC0C0).

  2. Continuous Glucose Monitoring (0x181F).

  3. Glucose (0x1808).

  4. ECG (0xBB00).

  5. Matter Light (0x11A0).

  6. Wi-Fi Provisioning Over BLE (0xCC00).

  7. Health Thermometer (0x1809).

  8. OAD (0xFFC0, 0xFFD0).

  9. Humidity (0xAA20).

  10. Barometer (0xAA40).

  11. Battery Service (0x180F).

  12. Accelerometer Service (0xFFA0).

  13. Temperature Service (0xAA00).

  14. Light Sensor Service (0xAA70).

The following screenshots show examples of usage of some of the supported services.

Continuous Glucose Monitoring#

After connecting to a device that supports the CGM profile, the user can navigate to its dedicated screen by selecting the service from the services list.

../../_images/CgmService_1.png

Hint

Each section in the view represent characteristic and its functionality, learn more by clicking on the help icon on the section.

../../_images/CgmService_2.png
Usage Example#

Send command using “Record Access Control Point” characteristic to get all stored record.

../../_images/CgmService_3.png
Health Thermometer#

After connecting to a device that supports the Health Thermometer (HT) profile, users can access its dedicated screen by selecting the service from the services list.

The HT profile includes a characteristic (0x2A1C) that supports indications for temperature measurements. When indications are enabled, the device sends temperature data. Once the user enables indications in the HT screen, the TI SimpleLink™ Connect starts to enable the indications at each interval, displays the data in real-time, and plots the measurements on a graph. Users can also adjust the polling interval, as shown in the screenshots below.

../../_images/HealthThermometerService.png
Glucose Service#

After connecting to a device that supports the Glucose profile, the user can navigate to its dedicated screen by selecting the service from the services list.

Hint

Each section in the view represent characteristic and its functionality, learn more by clicking on the help icon on the section.

../../_images/GlService.png

Stress Tests#

The objective of this feature is to verify that the software functions seamlessly with other devices or components, ensuring compatibility without any issues. Stress testing involves validating that the interaction between two systems meets the specified requirements from end to end.

In this case, the test examines data transfer via Bluetooth between a smartphone and a device. The following screenshots demonstrate how to conduct stress tests using the TI SimpleLink™ Connect App. These tests involve performing GATT operations on the Data Stream service and the Simple Peripheral service.

The following screenshots show how to execute stress tests using TI SimpleLink™ Connect App. Those tests perform GATT operations on Data Stream service and Simple Peripheral service.

There are two ways to conduct a test:

  1. Full Stress Test
    In this test each iteration includes connect/disconnect operations, MTU exchanging and bonding in addition to the GATT operations.
    With this test you can also choose multiple devices to test.

  2. Partial Stress Test
    This test will be performed after the peripheral is connected. This test includes GATT operations only.

Full Stress Test#

To access the tests view, on home screen, click on “Stress Tests” button.

../../_images/EnterStressTest.png

Follow the instruction in UI and click “Run Test” button to start the test.

../../_images/FullTestSteps1.png
../../_images/FullTestSteps2.png

Hint

You can import and export the test parameters by clicking on the icons in the top right corner. The uploaded file should be in JSON format as follows:

JSON file with test parameters example#
{
    "devices_name_list": [
        "Data Stream"
    ],
    "connection_phy": 1,                            // 0 for 'NO_PREFERENCE', 1 for '1M', 2 for '2M', 3 for 'LE'
    "pair_and_bond": false,
    "gatt_data_testing": true,      
    "mtu_size": 100,                                // 27 - 251
    "supported_service": "TI Terminal",             // "TI Terminal" or "TI Simple Peripheral Service"
    "test_case": "write & receive notification",    // "write & receive notification" or "write & read"
    "delay_between_gatt_tests": 3000,               // milliseconds
    "num_loops_gatt_test": 3,
    "write_data_size": 5,                           // bytes
    "expected_notifications_size": 5,               // bytes
    "main_loop_number": 1,
    "delay_between_main_loops": 2000                // milliseconds
}
Inputs & Explanations#
  • Devices name: BLE devices name to scan and connect to (name or local name).

  • Pair And Bond: Create bonding if enabled - Android only.

  • Connection Phy: Set the Connection Phy during connection (Default: 1M) - Android only.

  • Number of Connections Iteration: How many connection iterations for each device.

  • Delay Between Main Loops: Milliseconds to wait before moving to the next connection iteration.

  • Perform GATT Data testing: If enabled, the following will happen depends on chosen test type:

    • Write and Read Test: The application will initiate a process where it writes data to a specific characteristic within the GATT service. Once the data is successfully written, the application will then attempt to read the same characteristic to verify that the data was transmitted accurately. This test ensures that the device can both send and receive data reliably.

    • Write and Receive Notification Test: The application will start by writing data to a designated characteristic. Subsequently, it will subscribe to notifications for that characteristic. When the value of the characteristic changes, the device will send a notification to the application, which will then receive and process it. This test confirms the device’s capability to send real-time notifications upon changes in attribute values.

  • GATT Test Iterations: Number of GATT operations loop in each connection iteration.

  • Delay between GATT loops: Milliseconds to wait between GATT test loops.

  • GATT Supported Service: Choose the service supported by the peripheral (Simple GATT Profile or Data Stream) which you want to test.

  • GATT Test Type: GATT Operation to perform on GATT loop - Write & receiving Notification or Write & Read.

  • MTU Size: MTU for GATT data packets size (27-251) - Android only.

  • Write data size: Size of the data that will be written to the characteristic (in bytes).

  • Expected notification size: Expected notification size to be received after writing operation. The notification size is defined in the profile of the GATT server.

    • In Simple GATT Profile, the notification is 1 byte by default.

    • In Data Stream, the received notification size is the number of bytes that has been written.

  • Connection Duration: Millisecond to wait before disconnecting (if GATT Data Testing is disabled).

Hint

After the test completes, you can view the results, identify any failed tests along with their error messages, and download both the logs and results as a file to your local storage.

../../_images/StressTestExecutionView.png
../../_images/TestResultsView.png
Test Scenario#

After clicking the “Run Test” button the following will happen for each device input:

  1. Remove all bond data (Android only).

  2. For input number of connection iterations (between each loop wait for “delayBetweenMainLoops” ms):

    1. Scan and look for current device name.

    2. If device was found (If device was not found after 12 seconds or connection failed, move to the next iteration-step 1):

      1. Bond and Pair (if chosen)- if peripheral already bonded, continue. If bond failed 3 times, stop test.

      2. Connect (and set connection PHY) to device.

      3. MTU exchange.

      4. Enable notification if needed.

      5. For number of GATT test iterations: (if GATT testing is disabled,wait for “connectionDuration” ms, disconnect peripheral and move to the next iteration- step 1).

        • If write & receive notification test has been chosen:

          1. Write data (random bytes) to characteristic.

          2. Wait for notification and check if the size of the notification is the expected size.

          3. Wait before next GATT iteration.

          4. Continue to next GATT iteration.

        • If write & read test has been chosen:

          1. Write data (random bytes) to characteristic.

          2. Read data from the characteristic.

          3. Wait before next GATT test.

          4. Continue to next GATT iteration.

      6. Disconnect

      7. Continue to next connection iteration.

../../_images/TestScenario.png

Main Loop Illustration#

Partial Stress Test#

To enter the tests view, first connect to the required device, choose the service you want to test and click on “Run Stress Test”

../../_images/PartialStressTest.png
../../_images/PartialStepsExecution.png

BLE Mesh#

Bluetooth Mesh combines the power of Bluetooth with mesh networking, enabling many-to-many communication where data can travel seamlessly between all connected devices. The SimpleLink™ Connect app offers an intuitive and user-friendly way to create, manage, and configure a Bluetooth Mesh network directly from your mobile phone.

Supported functionality by TI SimpleLink™ Connect App:

  • Add and remove nodes from the network.

  • Create network and application keys.

  • Bind/unbind network and application keys to nodes.

  • Bind/unbind application keys to models.

  • Send and receive vendor model messages.

  • Configure and retrieve subscriptions and publications.

  • Create and subscribe to groups.

  • Edit the network name.

  • Export network data as a JSON file.

  • Connect and disconnect from provisioned nodes.

  • Set Proxy Filter.

  • Configure provisioners.

The following screenshots shows the BLE Mesh view of TI SimpleLink™ Connect App.

Add New Node to Network#

../../_images/AddNewNode_1.png

Configure Node#

In the node view, users can update the node’s name, TTL, and bound network and application keys, as well as view its models.

To configure a node’s model, select an element to display its associated models. Clicking on a model navigates to the model view, where users can bind or unbind application keys, manage subscriptions, and configure publications.

../../_images/ModelView.png

Hint

To quickly configure multiple models at once – such as binding application keys, adding subscriptions, and setting publication – navigate to the node view and click on “Quick Node Setup” button.

../../_images/QuickNodeSetup.png

General functionality#

Manage keys, configure proxies and provisioners, export and reset the network can be done from the network view, by clicking on the 3 dots icon on the top right of the screen.

../../_images/MeshConfigureOptions.png

Modify TI SimpleLink™ Connect App#

TI provides the TI SimpleLink™ Connect App source code on the Simplelink Connect Github. Please refer to the README included in the repository for details about leveraging the code provided. Refer to the Manifest.html file for licensing details

Perform OAD with custom OAD UUID#

In order to perform OAD when using a different UUID than the TI UUID used by the application follow the steps:

  1. Open simplelink-connect/src/assets/services.ts and add entity to MappedService with your OAD service details:

{
  serviceName: '<your-service-name>',
  serviceUuid: '<service-uuid>',
  icon: {
    type: 'font-awesome-5',
    iconName: 'download',
  },
  serviceSpecificScreen: 'FwUpdateServiceModel',
},
  1. Change UUIDs values that match to your OAD service in the UUID object located here: simplelink-connect/src/components/FWUpdate/constants/Uuids.ts

Connect to specific server to fetch firmware bins#

If you want to get your firmware image from server that is not a GitHub repository you need to change getAvailableFw function in simplelink-connect/src/components/FWUpdate/FWUpdate_Modal.tsx and fetch your own server instead of the GitHub server.

References#

TI SimpleLink Connect on Apple App Store
TI SimpleLink Connect on Google App Store
Simplelink Connect Github

previous

SimpleLink Low Power F3 SDK Environment Setup Guide

next

SimpleLink™ data_stream examples

On this page
  • Introduction
  • Agenda
  • Download TI SimpleLink™ Connect App
  • Use TI SimpleLink™ Connect App
    • Scanner
      • Connection View
      • Characteristics View
      • Update Firmware
      • Supported Profiles and Services
        • Continuous Glucose Monitoring
          • Usage Example
        • Health Thermometer
        • Glucose Service
    • Stress Tests
      • Full Stress Test
        • Inputs & Explanations
        • Test Scenario
      • Partial Stress Test
    • BLE Mesh
      • Add New Node to Network
      • Configure Node
      • General functionality
  • Modify TI SimpleLink™ Connect App
    • Perform OAD with custom OAD UUID
    • Connect to specific server to fetch firmware bins
  • References

© Copyright 2025, Texas Instruments.