The Key to Keyword Spotting with TI Code Composer

Here at Edge Impulse, we love edge computing platforms, and one of our favorites is the Texas Instruments CC1352P7 LaunchPad development kit. With a powerful 48 MHz Arm Cortex-M4F processor, 704 KB of flash memory, and 144 KB of SRAM available to run our machine learning algorithms, it should be apparent why we love this board. The microcontroller also supports both sub-1 GHz and 2.4 GHz wireless communications to power connected AI device designs using Bluetooth Low Energy, Zigbee, or mioty, to name a few possibilities. With support for the TI BoosterPack module ecosystem, it is a snap (literally) to plug in additional sensors, or other capabilities, to support virtually anything that your design requires.

We know we are not the only ones putting this kit to good use, as we hear from other users all the time. One question we are frequently asked is, "How do I use Edge Impulse with this board?" We think hiding the pairing of Edge Impulse and the TI CC1352P7 dev kit from engineers is akin to failing to tell an as yet uninitiated child about the wonders of combining peanut butter and chocolate — that is to say something of a mortal sin — so we recently created some examples to show exactly how it is done. If you can spare a few minutes, then you have got enough time to deploy a few-shot keyword spotter to your CC1352P7 board. The clock is ticking, so we had better get started...

First things first

You will need to get the following items together to get underway:

Now, follow the steps in this tutorial to get your board connected to Edge Impulse. Then, using either Resource Explorer or the New Project Wizard in Code Composer Studio IDE, import the example project that is under i2secho -> TI-RTOS -> TI Clang Compiler.

Building the ML model

Chances are that you already have developed a machine learning model with Edge Impulse. But if not, welcome!  We have lots of tutorials to bring you up to speed in a jiffy. The full list, which is always growing (so be sure to bookmark it), can be found under “Tutorials” in the left navigation section of our documentation. Now to get back to the task at hand, head over to Edge Impulse Studio to run through a quick wizard that will help you build your first few-shot keyword spotter. Go ahead, we will be right here when you get back.

Or, if you would like to skip building a model for now and jump right in with a pretrained keyword spotter, this public project will fit the bill. It has been trained to recognize verbal requests to call 911.

Deploying the model

Whether you have trained your own model, or are using the example project, click on the “Deployment” tab in the left navigation of Edge Impulse Studio. From there, you will want to choose to deploy the model as a C++ library. After the library downloads, follow these instructions to integrate the library into your Code Composer project (be sure to check out the “Apply workarounds” section if you run into any trouble). Almost there! Now follow steps 5 through 7 of the integration guide to complete the deployment.

With the project built, just connect your CC1352P7-1 LaunchPad over USB to your computer, and Code Composer should automatically detect and allow programming or debugging on the device.

From here, Code Composer offers a whole suite of tools for designing and debugging embedded ML projects - such as ROV, which allows you to track the memory usage of the Edge Impulse SDK in real-time. More information and documentation is available in the TI Code Composer User’s Guide.

That’s a wrap

Before you go, take a look at all of our Code Composer integration examples. There is also a Bluetooth-enabled fall detector to get you on your way to working with accelerometer data, or with all of your new knowledge now in hand, you can start building your own project with Edge Impulse Studio.

Subscribe

Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

Subscribe to our newsletter