Skip to main content

Developing applications for the new TI SensorTag

title

A look at the development tools, platforms and protocols available for the CC2650 SensorTag.

There are numerous options available in terms of tools, platform software and protocol stacks for TI's 2nd generation SensorTag. This this post takes a look at those officially supported by TI.

For a run through of the CC2650 SensorTag hardware capabilities and the out-of-the-box Bluetooth LE smartphone demo, see the blog post from June of this year.

Hardware first

title

SensorTag with Debug DevPack. Source: ti.com.

In order to load applications onto the SensorTag and subsequently debug them, additional hardware is required to interface it with the development host. The Debug DevPack provides a compact and cost-effective solution based on the XDS-110 emulator, with official support for TI's Code Composer Studio (offline and cloud versions) and SmartRF Flash Programmer. Use with IAR Embedded Workbench is also possible and official support for this is on the cards.

The Debug DevPack supplies power to the SensorTag in addition to providing a USB JTAG interface, which means that it's also a handy solution for applications which require a permanent power source. Should the SensorTag's 10 onboard sensors not suffice or you wish to add some custom outputs, the DevPack also provides access to GPIO via traces for expansion connectors, with the BOM and schematic for the module having been made available for download.

An alternative programming and debug solution is to use the SmartRF06 Evaluation Board.

title

SmartRF06EB connected to a CC2650 SensorTag. Source: ti.com.

This board is designed to be used together with the CC2538EM Reference Design and provides a display, LEDs, sensors, buttons and other useful features. However, it also includes an integrated XDS100v3 debug probe which can be cabled up to the CC2650 SensorTag.

It looks as though initial development with the SensorTag may have used the SmartRF06EB, as the supplied example projects typically default to the XDS100v3, rather than XDS-110 provided by the Debug DevPack. Although this setting is easily changed in Code Composer Studio.

Code Composer Studio

title

Code Composer Studio (CCS) is based on the Eclipse IDE and integrates the TI App Center along with an examples browser, plus handy links for associated resources such as forums, videos and wiki content. It's available for Windows and Linux, with installation instructions for releases of Ubuntu, Linux Mint, Lubuntu, Fedora, CentOS, Debian and OpenSUSE. While at the time of writing CC2650 is not listed on the Linux Host Support page, the CC2650F128 device and XDS-110 debug probe are available to select when creating a new project with CCS on Linux.

Unfortunately, the Bluetooth LE 2.1 stack is only supported with CCS on Windows. Although it looks as though some have had success in getting this configured to work with a Linux host.

It's advisable to make sure that you have the latest version of CCS installed and the Debug DevPack is supported from v6.1.0 onwards. Once installed the TI ARM Compiler and TI-RTOS for SimpleLink can also be installed from within the App Center built into CCS.

title

BLE-Stack 2.1.0 is installed outside of CCS.

CCS Cloud

title

CCS Cloud is a simplified version of the desktop software that makes it easier to evaluate TI platforms. The service is provided free of charge and simply requires a web account. Device access is made possible via the Cloud Agent software and a browser plug-in. If these have not been installed yet instructions are provided when Target → Connect COM port is first selected. Windows, Linux and Mac are supported, with the Firefox, Chrome and Safari browsers. Installing the agent software and browser plug-in is straightforward and only takes a few minutes.

From the main menu you can select Project → Browse Examples to open up the TI Resource Explorer and navigate the CC2650 example projects. GitHub repositories can also be imported.

title

Upon importing the SensorTagApp from Resource Explorer into CCS Cloud this also pulled in the SensorTagStack as a dependency. The SensorTagApp was then selected in the online IDE and built. Following which the SensorTagStack was first flashed to the device, before then flashing the SensorTagApp to it — as per the provided instructions. This all went smoothly and without a hitch.

title

Note that CCS Cloud has only basic debugging capabilities and should you require the ability to view registers and memory, or perhaps perform advanced debugging, projects can be downloaded and then imported into the fully featured CCS Desktop.

SmartRF Flash Programmer and CCS Uniflash

title

Image source: ti.com.

SmartRF Flash Programmer and CCS Uniflash are standalone flash programming applications, with the former only available for Windows, while the latter comes in Windows and Linux versions. These both provide graphical and command line interfaces, with support for scripting operations.

Sensor Controller Studio and SmartRF Studio

title

Image source: ti.com.

The CC2650 contains a power-optimised sensor controller CPU which can perform background tasks autonomously and independent of the system CPU, offloading this from sampling and buffering the ADC, comparators or external sensors, waking up the rest of the system as needed. The Sensor Controller Studio software is used to develop programs for this in a C-like language.

SmartRF Studio is used for evaluating and configuring the radio capabilities of TI's low power RF-ICs. It allows you to perform link tests by sending and receiving packets, set the radio to continuous TX and RX, ascertain typical register settings, read and write individual registers, and much more.

Both of these applications are only available for Windows.

TI-RTOS and Protocol Stacks

title

CC26xx Software Layers. Source: ti.com.

TI-RTOS is a real-time operating system for TI microcontrollers that combines a multi-tasking kernel with additional components such as TCP/IP and USB stacks, FAT filesystem and device drivers, plus examples that can be used as a starting point for projects.

The following protocol stacks are also available for use with TI-RTOS:

  • BLE-Stack 2.1.0 provides a Bluetooth low energy implementation

  • Z-Stack provides a fully compliant ZigBee 2012 stack implementation

  • TIMAC provides a certified IEEE 802.15.4 implementation

These are all tightly integrated with CCS.

Contiki

title

Contiki web demo. Source: ti.com.

Contiki is described as The Open Source OS for the Internet of Things and provides a whole host of features, notably including support for 6LoWPAN, the IPv6 implementation for low power Personal Area Networks. TI provide Contiki examples for the CC2650 SensorTag, whereby multiple of these can be configured as IEEE 802.15.4 mesh nodes and used together with an edge router.

Contiki takes the place of TI-RTOS and is built using ARM GCC.

Summing up

By far the easiest way to get started is to use the CCS Cloud online IDE and from unboxing you can be up and running with it and a SensorTag plus Debug DevPack in a matter of minutes. Should you come to require certain more advanced features or simply prefer to be able to work offline, you can then easily make the move to using the desktop version.

The standalone flash programming software, Sensor Controller Studio and SmartRF Studio are all tools that will prove invaluable at different stages of development. For example, the latter two in particular when progressing to laying out a custom board that integrates new sensors and where PCB antenna performance may need to be tested and the board layout fine tuned.

TI have clearly invested a lot in support for wireless standards, it's great to see support for Contiki and in another post we'll take a closer look at this and building images for the CC2650 SensorTag.

Andrew Back

BUY A TI SENSOR TAG KIT

Related Posts - A look at the new improved TI CC2650 SensorTag

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.