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 3.03.01.00 from the out-of-the-box demo to production.
Using BLE5-Stack Projects with CCS¶
For BLE5-Stack projects, the CC23xx 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.
Open the CCS IDE from the Start Menu.
Create a workspace.
Attention
Ensure that the CCS workspace path does not contain a whitespace.
Import a CCS Project using Import
Open Import Wizard: File → Import…
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
Figure 16. Import CCS Projects¶
Wait for import process to finish
If everything is successful, the project should appear in Project Explorer: basic_ble_LP_EM_CC2340R5_freertos_ticlang
Figure 17. Projects Imported into CCS¶
Build and Download Project¶
To build and download Basic BLE project:
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.
Build the Application project.
Set the Application project as the active project.
Select Project → Build 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.
Load the Application project
Select Run → Debug to download the application
Before beginning execution, open a terminal window with the following 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.
Using BLE5-Stack Projects with IAR¶
When building with IAR, it is recommended to enable all build messages. This can be done by right-clicking in the Build window and selecting “All” as shown below:
![]()
Figure 18. Enable All Build Messages¶
Note
The installation of the SysConfig tool is bundled with the SimpleLink Low Power F3 SDK. But if
necessary the standalone SysConfig package can be downloaded here:
SysConfig Standalone Installer Download Page and must be installed to
the same location as specified by SYSCONFIG_ROOT
.
Import Project Using Workspace¶
This section describes how to open and build an existing project and references the basic_ble project.
Warning
It is recommended to use the global argument variables for all TI BLE5-Stack examples in this version of the SimpleLink Low Power F3 SDK. Import or re-enable the global SDK argvars via Tools -> Configure Custom Argument Variables.
Below you can see how to add and enable the SDK-global argument variables:

Figure 19. Select Configure Custom Argument Variables from the Tools menu¶

Figure 20. Click on Import… with either the Workspace or Global namespace selected. For Global, the imported values will persist for other projects also.¶

Figure 21. Find the Custom Argument Variables file under <SDK root>/tools/iar
¶

Figure 22. Success! Change these paths if you have installed in a different location.¶
Applications that support the TI Over-the-Air Download (OAD) will also require the MCUboot project and for On-Chip OAD also the persistent application project. For more information on the TI OAD Profile and the MCUboot see the OAD Chapter of the BLE5-Stack User’s Guide.
Open the IAR Embedded Workbench IDE from the Start Menu.
Open an IAR workspace project: File -> Open -> Workspace…
For this example, select <SDK_INSTALL_DIR>\examples\rtos\|LP|\ble5stack\basic_ble\freertos\iar\basic_ble_LP_EM_CC2340R5_freertos_iar.template.eww
This will prompt you to select a folder location as a workspace for the project
This workspace file is for the basic_ble project. When selected, the files associated with the workspace become visible in the Workspace pane on the left side of the screen. See Figure 23.
Build and Download Project¶
To build & download Basic BLE:
Build the Application project.
Select the Application project.
Select Project -> Make 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.
Warning
IAR 9.32.1 generates an error on the first build. Press Project -> Clean to clean the project and repeat the build two more times to finally overcome the error. This issue will be fixed in the next IAR version.
Load the Application project
To download and debug: Select Project -> Download and Debug
To download without debugging: Select Project -> Download -> Download Active Application
Refer to the Basic BLE README for more information about this project.
Before beginning execution, open a terminal window with the following 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 start button to start execution.
Continue on to the Running the Demo section for information about
using Basic BLE
.
Warning
When using IAR compiler, the Configuration file for BLE5-Stack is suffixed .xscfg
.
When using IAR compiler, modifying .cfg
file has no effect.
Running the Demo¶
After hitting the play button, your terminal window should display the Basic BLE UART output as shown below:
![]()
Figure 24. 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 CC23xx LaunchPad (or similar). 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 CC23xx 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. Import the host_test example into CCS or IAR, compile and flash the second LaunchPad.
If the second LaunchPad is a LAUNCHXL-CC26X2R1 device, then you must install the latest SIMPLELINK LOWPOWER F2 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:

Figure 25. 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:

Figure 26. 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.

Figure 27. 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.

Figure 28. 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.
Figure 29. 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.
Figure 30. 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)
![]()
Figure 31. SimpleLink Connect App¶
When the download completes, open the app:
![]()
Figure 32. 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:
![]()
Figure 33. 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.
![]()
Figure 34. 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.
Learning More About TI BLE5-Stack¶
SimpleLink Academy dev.ti.com/tirex
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 the SDK.
This material teaches users who are new to FreeRTOS or any RTOS programming in general about how to use FreeRTOS and the BLE5-Stack included in the SDK.
Modules within the kernel training greatly expand the information presented in the FREERTOS Overview chapter in the TI BLE5-Stack User’s Guide.
Learn how the FreeRTOS 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:
Name |
Description |
Example project where device can be configured to operate as a Bluetooth LE peripheral, central, or both. |
|
Same as basic_ble above with OAD functionality to enable wireless firmware updates off chip. |
|
Same as basic_ble above with OAD functionality to enable wireless firmware updates on chip. |
|
Same as basic_ble above with additional profiles (TI’s Simple, CGM, Glucose & Health Thermometer). |
|
Same as basic_ble above with Production Test Mode (PTM) functionality. |
|
Example project that implements high level connection tracking. |
|
Example project which implements data stream profile to enable UART over BLE communication. |
|
A network processor project that is interfaced with HCI and Vendor Specific HCI commands. |
|
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.
TI Designs™ https://www.ti.com/tidesigns
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¶
E2E Forums www.ti.com/ble-forum
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 3.03.01.00.