Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

CC256x Bluetooth Hardware Evaluation Tool

From Texas Instruments Wiki
Jump to: navigation, search

Return to CC256x Main Wiki


The CC256x Bluetooth Hardware Evaluation Tool is a Texas Instruments (TI) tool which can be downloaded as a complete package from the TI web site. It is a very intuitive, user-friendly tool to evaluate TI's Bluetooth chips. More specifically, it is used to configure the BT chip's properties through the Service Pack (SP) and also allows to test RF performance.

Use Cases:

  • Set device properties such as baud rate, sleep mode, XTAL support, etc.
  • RF performance testing
  • FCC certification testing
  • SIG certification testing

Not Used For:

  • Transmitting/Recieving messages
  • Running Bluetooth stack
  • Bluetooth Sniffing

The testing can be done for both BR and BLE devices. Please load the corresponding SP for the device. The CC256x PC Tool controls a TI Bluetooth device from a computer by sending and receiving Host Controller Interface (HCI) commands. Current functionality includes loading Service Packs and putting the device in specific test modes.


The following table lists some of the abbreviations/acronyms used in this page:

BT Bluetooth
BTS File Format for Service Packs
SP Same as Service Pack, service patch, patch, init script
CC256x TI's Latest Single-Chip Bluetooth Device


PC Tool

CC256x Bluetooth Hardware Evaluation Tool

Basic Rate(BT V2.1+EDR)

BLE Bluetooth Low Energy(BT V4.1)
HCI Host Controller Interface
GUI Graphical User Interface



The CC256x Bluetooth Hardware Evaluation Tool is a java program which can be downloaded as a complete package from Texas Instruments. The
following is a list of its minimum system requirements:

  • Microsoft Windows® XP operating system
  • Pentium® II processor
  • 64 MB of RAM
  • Hard disk drive with 100MB free space
  • Serial Communication Port (RS-232) or USB Port (using Virtual COM Port)
  • Java SE Runtime Environment 7u7 (Windows x86): 


To install the software, download the package from (product site) under "Tools & Software " section and follow the InstallAnywhere prompts to install the package.

{{#if: |

|}}NoteNote: {{#if: |{{{1}}}

}} Direct Link: CC256x Bluetooth Hardware Evaluation Tool

You should see the following window after successfully running the installer, just ignore the warnings and click "Done":


After installing, you can access the PC Tool using the Start menu:

Start>Texas Instruments>CC256x Bluetooth Hardware Evaluation Tool v0.5>CC256x Bluetooth Hardware Evaluation Tool:


Alternatively, you can click on the CC256x Bluetooth Hardware Evaluation Tool Folder to find the Tool.

This will open up the GUI for the PC Tool. The CC256x Bluetooth Hardware Evaluation Tool wiki link(the one you are reading now) is also conveniently provided in this directory for easy access.

Setting Java Path

If GUI does not show up, please make sure that your PATH includes Java such as: C:\Program Files (x86)\Java\jre7\bin

For reference:

{{#if: |

|}}NoteNote: {{#if: |{{{1}}}

}}As an alternative you can edit the script file(Right click on the tool in Start menu > Edit):

in the line that starts with "start", change to the complete path where javaw is located: PctoolPathEdit.PNG

Change line 4 to:

start "C:\Program Files (x86)\Java\jre7\bin\javaw -jar" BT_TOOL_EXE.jar

If running into an issue of the Port chooser window not opening, you need to copy the RXTXcomm.jar and rxtxSerial.dll files from:

C:\ti\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\v1.0\BT_TOOL_EXE_lib\


C:\ti\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\v1.0\

and restart the application.

Setup Configuration

The BT device(Controller) interfaces to the MCU (Host) using HCI interface. The PC Tool also uses HCI commands to communicate with the BT device. The HCI provides a uniform interface
method of accessing a Bluetooth Controller’s capabilities.  


There are several ways for the PC Tool to communicate with the BT device. One way is that is it interfaced to the Host CPU/MPU in which the Host CPU/MPU is in a transparent mode. Transparent mode means it will just pass data coming from the PC to the CC256x device and vice-versa. The other way it can be interfaced is that the PC is directly connected to the HCI interface of the CC256x device without the CPU/MPU present. This can be done using a USB/Serial converter to translate the USB voltage levels from the PC to the Serial voltages of the CC256x device. First we will go over the generic setup and the required connections that need to be made, then we will show an example that meets all the setup requirements.  

Generic Setup

The following figure represents a generic setup to use the CC256x PC Tool: 


*Implementations may vary

The CC256x device requires at least these 3 major connections(6 signals) in addition to power and ground. The nSHUTD is required for proper startup. The guideslines for a proper startup must be followed as described here:

The slow clock must also be provided in order for the CC256x to function. The HCI consists of four signals(TX,RX,RTS,CTS) collectively called H4 UART, which should be interfaced to communicate with the CC256x device using HCI protocol as described in the Bluetooth specifications.

Example A: Transparent Mode

In this setup, the Host CPU/MPU is the MSP430. The MSP430 is running a program which puts it in transparent mode (as shown below). As stated earlier, transparent mode will just pass data coming from the PC to the CC256x device and vice-versa. The USB signals are converted to UART signal on the MSP430 Experimenter's board(red board) as shown below and passed through HCI UART lines to the CC256x device. The MSP430 also provides the slow clock and nSHUTD signals. The MSP-EXP430F5438 board configurations are shown here.

For example, the transparent code for the Experimenter board is found in this relative directory: C:\TI\Connectivity\CC256X BT\CC256x Bluetooth Hardware Evaluation Tool\vX.X\TI Transparent MSP430 PAN1323ETU\MSP-EXP.

You can use an IDE to compile and download the source code or just flash the binary following the FETPRO Tool Setup Guide


*Note also the CC256x has 1.8V I/O pins.

A Quick Tour of the CC256x Bluetooth Hardware Evaluation Tool

Now we will go through some simple steps to use the PC Tool for a simple use case, to execute a continous spectrum at a particular frequency. The three main things to do is(in order):

  1. Connect to the serial port
  2. Loading the Service Pack
  3. Send RF Test Mode commands

The ordering make sense since you have to first connect to the device before communication can take place. Then you have to load the service pack which is required for the BT device to function properly. The you can send the HCI commands corresponding to the different test modes the BT device can be placed.

Connecting to Serial Port

There are multiple ways CC256x PC Tool allows the user to connect to a Serial COM port. By default, all TI Bluetooth device
are configured to work with the following settings:

  • Baud Rate: 115,200 bps
  • Flow Control: Hardware

Automatic Connection

The PC Tool will automatically for a COM port number in the file "COMsaved" and connect to that COM port when it is opened. If that is unsuccessful, it will automatically pop up a window saying COM port is not found. If COM port is not found, the user can initiate a Manual connection as described next. The following is a screenshot of PC Tool first opened up and automatically connected to the serial port, in this case it is connected to COM3:


Manual Connection

To initiate serial port connection manually, click Setting -> Serial Port. A "Port Chooser" window will pop up for the user to select the corresponding COM port (using the drop down menu) to the BT device. The program will then save that COM port information in "COMsaved" and will try to connect automatically to that COM port next time the program is opened.



Loading Service Pack

Click on Browse to look for the BTS file and open it. The Status will then changed to "Received BTS file". Reset the target BT device then click on "SEND" to load the service to the CC256x BT device.


The user can also load the Service Pack by using the Menu bar: File ->Open.

Modifying Service Pack

After loading SP, Modify SP button will be enabled.


  1. Click on one of the configuration options on the right panel which will pop up a window.
  2. Press "OK" to set the changes.
  3. Press "Save as..."  to save the changes as BTS format (.bts) or C array (.h). 

Crystal Mode

  • Enables support for 26MHz crystal.

Output Power

  • Configures output power of BT/BLE radio

{{#if: |

|}}NoteNote: {{#if: |{{{1}}}

}} CC256x QFN device EDR2 and EDR3 max output power should be limited to 8 dBm as stated in the datasheet.

Sleep Mode

  • Used to turn on low power sleep mode

{{#if: |

|}}NoteNote: {{#if: |{{{1}}}

}} Must turn off if host does not support the sleep mode protocol if it is already enabled in the SP.

Baud Rate

  • Configure the baud rate to communicate to the CC256x controller from the host

Converting Service Pack to C array (For MCU)

The BHET tool can also be used to convert the BTS format of the SP to a C array. Basic steps include:

  1. Load SP in BTS format
  2. Save as ".h" file (File > Save as..)

Then the C array can be found in the textfile where the file was saved and can be copy/pasted to any source code.

Add to TI’s Bluetooth Stack SDK

In the SDK, in BTPSVEND.c, open the right header file containing the patch used ("__SUPPORT_CC256XB_PATCH__" might be defined in project settings):

  /* By default we will include the CC256X patch.  This can be used on */
  /* the CC2560A, and CC2564 TI Chipsets.                              */

>#ifndef __SUPPORT_CC256XB_PATCH__

> #include "CC256X.h"


> #include "CC256XB.h"


After opening the correct header file, you will see two arrays. One is the BasePatch which is the base SP, the other is the LowEnergyPatch which is the add-on for enabling BLE on the CC256x. The bytes correspond to mixture of HCI commands sent to the CC256x device by the host processor.

Combining Service Packs (For Linux)

{{#if: |

|}}NoteNote: {{#if: |{{{1}}}

}} When using add-ons on a Linux Host with the CC256x device, you must combine the Main init script with Add-on init script.

Step-by-step instructions for combining CC256X bts scripts (for Linux) : CC256x Service Pack User's Guide

Send RF Test Mode commands

After connecting to the serial port and loading the Service Pack to the CC256x, click on one of the test modes in the left panel on the RF Testing tab. Then choose the appropriate parameters in the dropdown boxes in the right panel. Click on "SEND" to load the service pack to the BT device.


After pressing the Send button, you should observe the messages as shown above on the debug trace corresponding to the Test mode (in this case, Continuous TX). You should also observe on the spectrum analyzer a spectrum centered on Channel 0 similar to:

FCC 1.jpg

Detailed Description of the CC256x Bluetooth Hardware Evaluation Tool

In this section, we will provide a more detailed description of the features and function of the BT Tool. We will go over the 3 main sections of the CC256x PC Tool GUI:

  • Menu Bar
  • Tabs
  • Debug Trace

Menu Bar


Item Description
Open Same as "Browse" button. Opens BTS file.
Quit Quits the program


Item Description
Select Port Manually connect to COM port to BT device
Clear Trace Clears the debug trace


Item Description
About Displays Version Info


The program thus far contains two tabs:

Item Description
CC256x SP Load the SP
RF Testing Puts the BT device into specific test modes

CC256x SP

This tab is used to load the SP. The main features of this tab includes:

Item Description
BROWSE Browses for BTS file in file directory
PATH Displays the absolute path to the currently selected BTS file
Status Displays Status information relating to the BTS file
SEND Sends the BTS file to the BT device

RF Testing

This tab is used to put the BT device into specific test modes. This tab is split into two panes, Test Modes and Test Parameters, and two buttons, Send and Cancel:

Item Description
Test Modes Click on one of the buttons to select test mode
Test Parameters Configure the parameters for the test mode
Cancel Cancels Test Mode/Displays blank
Send Sends test mode commands

Now we will describe the individual test modes:

Test Mode Description
Continuous TX BT device continously transmits at a particular frequency, modulation, and power 
Continuous RX Sets BT device to receive continuously at a particular channel
Packet TX/RX BT device continously transmits packets at particular frequency, packet type, etc...
BT RF SIG Mode Put the device into Device Under Test mode to be used with Bluetooth Tester

Now we will describe the parameters to each test mode:

Continous TX


User can select 5 modulations:

Modulation Description
CW Continuous Wave
GFSK Gaussisan Frequency Shift Keying modulation (1 Mbps)
Pi/4 DPSK aka 2-EDR (2 Mbps)
8 DPSK aka 3-EDR (3 Mbps)
BLE BLE Testing

Continous RX

Select the channel to receive on and select loop mode:


Packet TX RX

The user can select the parameters here to select the type of packets to transmit continuously:



You will enter SIG Test Mode by clicking the ENTER TEST MODE button:


You can then connect to the Bluetooth Tester such as the R&S CBT Bluetooth Tester to carry out automated RF Tests. The hardware setup using MSP430+PAN13xx is described here.

Debug Trace

The Debug Trace shows the output and input serial commands sent to and from the BT device. This trace is useful for debugging purposes. The following lists summarizes the functions of the Debug Trace:

  • Shows serial port connection status
  • Font color changes to red when error occurs in transmitting/receiving serial data
  • Lists all outgoing bytes sent to the BT device and incoming bytes returned from BT device


As usual if it doesn't work the first time, please try closing the program, reset board, browse for bts file and send again.

# Problem Solution
1 COM Port Time Out after loading SP Use modified SP to make sure sleep mode is [disabled]
2 COM Port Time Out before loading SP Reset the board
3 SP does not load Reset the board
4 Port Chooser does not show (Settings>Select Port) Re-install JRE