TI BLE5-Stack Quick Start

This section serves as a road map for users developing applications and products using the TI SimpleLink CC23xx wireless MCU platform for Bluetooth Low Energy applications. Whether a seasoned developer or just getting started, TI has created a variety of resources to simplify development on the CC23xx platform. These resources will enhance your experience with the TI SimpleLink TI BLE5-Stack 5.30.00.xx from the out-of-the-box demo to production.

Using BLE5-Stack Projects with CCS

For BLE5-Stack projects, the CC2340Rx devices use FreeRTOS. The necessary FreeRTOS code is integrated into all FreeRTOS-based projects present in the CC23xx SDK. This means that importing a BLE5-Stack project will import a single project which has the FreeRTOS files located within the project itself. Additionally, this single project will also link to TI’s BLE5-Stack library files.

For more information about FreeRTOS, please reference the FreeRTOS (RTOS Kernel) Overview section of the User’s Guide.

For more details and how to change configurations look at the SimpleLink TI BLE5-Stack User’s Guide.

Import Project Using CCS Import Project Tool

A quick and easy way to start working with the SDK is to use the Import Project tool available in CCS.

This section describes how to import and build an existing project and references the basic_ble project. All of TI BLE5-Stack projects included in the development kit have a similar structure.

  1. Open the CCS IDE from the Start Menu.

  2. Create a workspace.

    Attention

    Ensure that the CCS workspace path does not contain a whitespace.

  3. Import a CCS Project using Import

    • Open Import Wizard: FileImport…

    • Expand Code Composer Studio

    • Click on CCS Projects and click Next

    • Ensure Select search-directory is checked.

    • Click on Browse… in the Select search-directory: section.

    • Navigate to the directory for your chosen example:

      <SDK_INSTALL_DIR>/examples/rtos/LP_EM_CC2340R5/ble5stack/ble_basic

    • Click Select Folder

    • Click Finish

    ../_images/cc2340_import_project.png

    Figure 12. Import CCS Projects

  4. Wait for import process to finish

    • If everything is successful, the project should appear in Project Explorer: basic_ble_LP_EM_CC2340R5_freertos_ticlang

    ../_images/cc2340r_imported_projects.JPG

    Figure 13. Projects Imported into CCS

Build and Download Project

To build and download Basic BLE project:

  1. Follow all the steps contained in the Introduction to the SimpleLink Low Power F3 SDK guide. The procedure described in the above guide goes over all the prerequisites and setup required to build the example projects for the CC2340RX. Do not proceed until all the setup contained in the guide has been completed or the projects will not build.

  2. Make sure the variable FREERTOS_INSTALL_DIR containing the location of your FreeRTOS installation has been added to WindowPreferencesGeneralWorkspaceLinked Resource category (see here for more details).

  3. Build the Application project.

    • Set the Application project as the active project.

    • Select ProjectBuild All to build the Application project.

    • As part of the prebuild process, SysConfig will run and generate code based on the .syscfg in the workspace. For more information on SysConfig, see the SysConfig chapter of the User’s Guide.

  4. Load the Application project

    • Select RunDebug to download the application

Before beginning execution, open a terminal window with the following settings:

Table 1. Basic BLE UART Settings

UART Param

Default Values

Baud Rate

115200

Data length

8 bits

Parity

None

Stop bits

1 bit

Flow Control

None

When the debugging session opens, click the Green start button to start execution.

Running the Demo

After hitting the play button, your terminal window should display the Basic BLE UART output as shown below:

../_images/CC2340R_Basic_BLE_UART.png

Figure 14. Basic BLE UART Output

This provides information about the address used for Basic BLE.

Choose the Central device from the list below to connect with:

Click to Expand BTool Instructions

Host Test Setup

The easiest way to connect to the Basic BLE example with another LaunchPad is by using BTool and a LAUNCHXL-CC26X2R1 (or similar) LaunchPad. BTool allows you to send HCI commands to the LaunchPad to easily establish BLE communication with another device. In this case, we can use BTool to connect to the CC2340Rx device.

To use BTool, you must flash your second LaunchPad with the Host Test firmware from a compatible version of the TI BLE-Stack/BLE5-Stack. Pre-built Host Test binaries are included in the ble5stack examples directory of the SDK.

Note

It’s also possible to use a CC2340R5 LaunchPad with BTool.

If the second LaunchPad is a LAUNCHXL-CC26X2R1 device, then you must install the latest https://www.ti.com/tool/SIMPLELINK-CC13XX-CC26XX-SDK. Once installed, the BTool software and firmware will be found in the SDK directory for the SIMPLELINK-LOWPOWER-F2-SDK.

Uniflash can be used to program the LaunchPad with the Host Test firmware:

../_images/ble5-uniflash-host-test.png

Figure 15. Flash Host Test using Uniflash

Open BTool from the tools\ble5stack\btool folder of the SDK install directory of the LAUNCHXL-CC26X2R1 SDK directory. Start BTool by double clicking Run_BTool.bat Select the XDS110 UART COM Port for your Host Test LaunchPad:

../_images/btool_serial_port.png

Figure 16. BTool Serial Port Settings

When BTool connects to the LaunchPad, it will issue several initialization commands. If the commands succeed, you will receive multiple HCI Events with a Status of “SUCCESS”.

Connect to BLE Basic

Scan for nearby advertising Bluetooth devices by selecting the Scan button in the Discovery window. Make sure your BLE Basic LaunchPad is connected to power and advertising.

Compare the device addresses in the Device Address dropdown with the address shown in the BLE Basic terminal window. Select the matching address and click “Establish” to connect to BLE Basic.

../_images/btool-scan-connect.png

Figure 17. Scanning & Connecting with BTool

After the connection has established, discover & read the current value of the services and characteristics available on BLE Basic by right-clicking on the Handle in the Connection Info section and selecting Read Values.

../_images/btool-read-values.png

Figure 18. BTool GATT Table Discovery

The bottom of the BTool GUI will display the device’s GATT Table to help you navigate and control the BLE Basic services.

../_images/CC2340r_SimplePeripheral_GATT_Table.JPG

Figure 19. BTool GATT Table Discovery

Using the Simple Profile Service

You can read and write multiple bytes of data by using the Data Service. Double click on the Value field of the String Char. You can write the new value directly in ASCII or you can choose a different type by selecting from the Value Type dropdown menu.

../_images/CC2340r5_Writing_Data_Service.JPG

Figure 20. Writing to the Data Service

Click to Expand Android/iOS Instructions

Download the latest version of the TI SimpleLink Connect App from your app store.

Apple App Store (Left QR code)

Google Play Store (Right QR code)

../_images/Apple_Google_QR_code.png

Figure 21. SimpleLink Connect App

When the download completes, open the app:

../_images/ble5_android_starter_app.png

Figure 22. SimpleLink Connect App

Enable location permissions to allow the app to function properly, if you deny it by error go to your phone application settings to allow it back.

Connect to BLE Basic

Open the SimpleLink Connect App on your device. The app should begin scanning for Bluetooth LE devices automatically after you click on Enable Bluetooth LE scan. Make sure your Basic BLE LaunchPad is nearby and advertising. Basic BLE project should appear in the Bluetooth low energy devices list:

../_images/App_Scanned_Devices.png

Figure 23. Discovering BLE Basic

Establish a connection to the Basic BLE project by clicking on the arrow next to its name in the devices list. The Simplelink Connect Application will display the Basic BLE project service and allow the user to interact with these services.

../_images/basicBLE_ConnectionPage_Android.png

Figure 24. BLE Basic Services

Using the Simple Profile Service

The Simple Profile Service is the service with the UUID that begins with 0xFFF0 (TI Simple Peripheral Service). Tap the arrow next to the item and you will see five characteristics. The different characteristics can be used to read and write multiple bytes of data. You can do this by pressing Read characteristic to get data from Basic BLE project, Write characteristic to send multiple bytes of data to Basic BLE project and Notifications to know when a characteristic has changed its value.

../_images/basicBLEServices.png

Figure 25. List of Services in Basic BLE project

../_images/WritebasicBLECharacteristic.png

Figure 26. Writing to the Simple Profile Service

Learning More About TI BLE5-Stack

SimpleLink Academy provides a comprehensive set of training tools that allow users from beginners to experienced developers to learn about the SimpleLink MCU Platform.

Using introductory material and labs, learn the fundamentals of BLE and how to develop a custom BLE profile.

SimpleLink Academy also contains modules written to demonstrate the rich debug environment and peripheral driver capability provided by TI-RTOS.

This material teaches users who are new to TI-RTOS or any RTOS programming in general about TI’s RTOS kernel implementation.

Modules within the kernel training greatly expand the information presented in the TI-RTOS Overview chapter in the TI BLE5-Stack User’s Guide.

Learn how the TI-RTOS provides the most optimal power management and design flexibly.

  • App Notes, Tools and other resources available on the CC2340R5 product page

  • This User’s Guide

Developing a New BLE5-Stack Based Application

Usage of the SimpleLink SDK, the Software User’s Guide and SysConfig is intended for programmers who are ready to start developing an end product using the CC23xx. To begin:

Get Familiar with the BLE5-Stack User’s Guide

This User’s Guide is meant to be used alongside the TI BLE5-Stack when developing an end product. It contains documentation on the stack architecture, APIs, and suggestions for developing applications.

Select an Example Project

The TI BLE5-Stack includes a basic set of projects to use as a starting point for development of your custom application. Click the links below to find out more information about each project:

Table 2. BLE examples available for the CC23xx platform

Name

Description

basic_ble

Example project where device can be configured to operate as a Bluetooth LE peripheral, central, or both.

basic_ble_oad_offchip

Same as basic_ble above with OAD functionality to enable wireless firmware updates off chip.

basic_ble_oad_onchip

Same as basic_ble above with OAD functionality to enable wireless firmware updates on chip.

basic_ble_ptm

Same as basic_ble above with Production Test Mode (PTM) functionality.

data_stream

Example project which implements data stream profile to enable UART over BLE communication.

host_test

A network processor project that is interfaced with HCI and Vendor Specific HCI commands.

basic_persistent

Permanently resident application that implements OAD profile

Troubleshooting Help

While developing your custom application, you may run into issues that require the use of a debugger. See the Debugging chapter in the TI BLE5-Stack User’s Guide for guidance.

Enhance Your Project

Additional sample applications created to implement specific use cases and examples. These are made to work in conjunction with the SDK.

Examples of system designs containing complete hardware and software examples, using the CC23xx.

Bluetooth Qualification

The CC23xx TI BLE5-Stack is Bluetooth qualified.

To prepare the qualification process, Texas Instruments experts have written the How to Certify Your Bluetooth Product guide to assist you through this process.

Getting Support

A support community providing answers to questions relating to the CC23xx and other SimpleLink devices. You can browse questions from other developers or ask your own questions if you run into issues developing with TI BLE5-Stack 5.30.00.xx.