Tag Archives: Cloud

Send Notification from TI CC3200 Launchpad to Iphone4s using “If This Then That”

IFTTT or If This Then That provides a way to interact two web services in a “If This Then That” condition. The two web services that are paired up at IFTTT are called recipe.

At IFTTT setting both web services to work together are like cooking the web service ingredients to become one recipe.

Here are some recommended recipes from IFTTT:

  • Tweet your Facebook Status Updates
  • Save your new Instagram photos to Dropbox
  • Rain Tomorrow? Get notification
  • Save new texts your receive in a Google Spreadsheet
  • Get an email if there will be rain in your area tomorrow
  • Mute your phone when you arrive at work
  • Unmute my phone when I get home
  • Get Notified with your Teams Final Score
  • Document your daily activity in a Google Spreadsheet
  • Every day at 6 AM, add today’s weather report to my calendar

I am going to use TI Adrian Fernandez guide on “how to trigger an event with the Texas Instruments LaunchPad & the IFTTT Maker Channel”. From the guide, what is used is, MSP-EXP432P401R LaunchPad and CC3100 Wi-Fi BoosterPack from Texas Instruments. What I will use instead is TI CC3200 Launchpad. Using Energia Sketch I will just need to set the target board to “Launchpad w/ cc3200EMT (80MHz)”.

The ingredients for this IFTTT recipe are Maker Channel and Boxcar 2.


The Maker Channel enables you to connect IFTTT to any microcontroller board that can make or receive a web request.

Boxcar 2 is an app, that provides notifications to your mobile phone. It provides services similar to Pushover and Parse Push Notifications.

I upload the Energia Sketch Project to my TI CC3200 Launchpad and run it.

Tera Term Output:


Notification at my Iphone4s:


Upon pressing the Notification, Boxcar App opens showing the Notification contents:



Testing Parse quickstart example program using TI CC3200 Launchpad

Successful Quickstart Test

Parse is one of those companies that offers public cloud services for IoT-enabled devices. Below, quoted from the Parse website.

“Instantly add a powerful cloud database, push notification services, and analytics tracking to your app. Choose from over thirteen native SDKs for mobile, desktop, and IoT devices and discover all that Parse has to offer”

Parse has chosen TI SimpleLink Wi-Fi CC3200 Wireless MCU to be one of the microcontroller platforms supported by Parse SDK. Surely is a good choice, since SimpleLink Wi-Fi CC3200 Wireless MCU has the reputation of being the industry’s first programmable Wi-Fi wireless MCU and having won several IoT industry awards.

Parse provides an example program to Send Push Notifications using TI CC3200 Launchpad. Here below is the link to Parse Guide for testing the example program “quickstart” using TI CC3200 Launchpad.

Parse Quickstart Guide using TI CC3200 Launchpad

As of this blog post writing the Parse Quickstart Guide and the Quickstart Program has issues. Your excitement following the guide will turn from enthusiasm to disappointment. Hopefully when you try out the Parse Quickstart Guide, Parse has already fixed the issues.

Two issues following the Parse Quickstart Guide.

  1. quickstart example program has build errors.
  2. At the guide it says there “Using Uniflash, open quickstart\uniflash\quickstart_release.ucf”. However there are no .ucf file at that folder location. What is there are two .usf files. These .usf files cannot be recognized by Uniflash.

Here are the quickstart build errors that I have encountered using CCS Version

Description Resource Path Location Type
#10008-D cannot find file quickstart C/C++ Problem
#10010 errors encountered during linking; “quickstart.axf” not built quickstart C/C++ Problem
#10234-D unresolved symbols remain quickstart C/C++ Problem
unresolved symbol parseInitialize, first referenced in ./main.obj quickstart C/C++ Problem

After this I upgraded my CCS to Version:, I got these build errors.

Description Resource Path Location Type
#10008-D cannot find file “C:/ti/CC3200SDK_1.1.0/cc3200-sdk/example/CC3200StarterProject-1.0.0/cc3200/samples/quickstart/../../../cc3200/src/Debug/libparse.a” quickstart C/C++ Problem
#10010 errors encountered during linking; “quickstart.axf” not built quickstart C/C++ Problem
<a href=”file:/C:/CCSV6/ccsv6/tools/compiler/dmed/HTML/10234.html”>#10234-D</a> unresolved symbols remain quickstart C/C++ Problem
unresolved symbol parseInitialize, first referenced in ./main.obj quickstart C/C++ Problem

The other build error messages are after adding the code lines mentioned at the guide.

I posted this problem at Texas Instruments E2E Community seeking advice how to resolve the build errors. TI E2E Guru Rafael De Souza, generously provided the solution to the build errors.

File Search Path Settings that results to build errorsquickstartwithoutfix

File Search Path Settings that resolves the build errors


After, you have made the necessary changes at Code Composer Studio File Search Path Settings, build quickstart example program. The build errors should have been resolved.

At Code Composer Studio, press the “Debug” button, and “Run” quickstart example program

Following the Parse Quickstart Guide further down, click the “Test” button to send a push.

A successful push screen capture can be seen on the top of this blog post.

To send a custom push notifications, go to Parse Dashboard.

succesful push notification

To see the push details select your push notification at Parse Dashboard.

Push Details

Next, I will try to integrate this Parse quickstart example program to a mobile app.

Post Updates to Twitter from TI CC3200 Launchpad Using Temboo Choreo and Energia Sketch

Here is YouTube video below after I have copied the Temboo Choreo code to Energia and build without errors.

Requirements to post updates to Twitter from CC3200 Launchpad:

  1. You need a Temboo account. If you don’t have one yet, you can register for free here.
  2. Get the latest version of Energia Sketch here.
  3. Twitter account.
  4. A TI CC3200 Launchpad.
  5. A WiFi internet connection.

Register your Application at Twitter:

  1. You need to register your application at Twitter here.
  2. At the “Create and Application” page, enter your Application Name and Description at the corresponding fields. At the Website field, enter https://www.temboo.com/oauth_helpers/confirm_twitter/.
  3. Agree to the “Developers, Rules of the Road”, and then finish creating your Twitter Application.
  4. In order to post Tweets to Twitter, set Permissions to either Read and Write, or Read, Write and Access direct messages.
  5. At the Key and Access Tokens tab, generate your Access Token.
  6. Copy your Twitter Application Access Token, Access Token Secret, Consumer Key, and Consumer Secret.

Auto-Generate your Launchpad Energia Sketch Code from Temboo:

  1. Log in to Temboo, and go to Twitter->Tweets->StatusUpdate Choreo Library.
  2. Turn the IoT Mode switch to ON, and select Texas Instruments Launchpad from the drop down menu. Also, at “How is it Connected” drop down menu, select TI CC3200 Launchpad (Wifi) and provide the details of your WiFi internet connection.
  3. Enter your Twitter Application Access Token, Access Token Secret, Consumer Key, and Consumer Secret at the Input fields.
  4. Click “Run” to test the Twitter->Tweets->StatusUpdate Choreo. If there are errors after the test, means that you have a wrong value at the input fields. If pass, your C codes below are good to be copied into Energia Sketch. (YouTube video after step 4 is shown at the top of this post)

CC3200tembootwitter.c Energia Sketch code.


#include <WiFi.h>
#include <WiFiClient.h>
#include <Temboo.h>
#include "TembooAccount.h" // Contains Temboo account information

WiFiClient client;

int numRuns = 1; // Execution count, so this doesn't run forever
int maxRuns = 1; // Maximum number of times the Choreo should be executed

void setup() {
 int wifiStatus = WL_IDLE_STATUS;

 // Determine if the WiFi Shield is present.
 if (WiFi.status() == WL_NO_SHIELD) {

 // If there's no WiFi shield, stop here.


 // Try to connect to the local WiFi network.
 while(wifiStatus != WL_CONNECTED) {
 wifiStatus = WiFi.begin(WIFI_SSID, WPA_PASSWORD);

 if (wifiStatus == WL_CONNECTED) {
 } else {

 Serial.println("Setup complete.\n");

void loop() {
 if (numRuns <= maxRuns) {
 Serial.println("Running StatusesUpdate - Run #" + String(numRuns++));

 TembooChoreo StatusesUpdateChoreo(client);

 // Invoke the Temboo client

 // Set Temboo account credentials

 // Set Choreo inputs
 String AccessTokenValue = "xxxxxxxx";
 StatusesUpdateChoreo.addInput("AccessToken", AccessTokenValue);
 String AccessTokenSecretValue = "xxxxxxxx";
 StatusesUpdateChoreo.addInput("AccessTokenSecret", AccessTokenSecretValue);
 String ConsumerSecretValue = "xxxxxxxx";
 StatusesUpdateChoreo.addInput("ConsumerSecret", ConsumerSecretValue);
 String StatusUpdateValue = "Tweet! Tweet! from Markel's TI CC3200 Launchpad!";
 StatusesUpdateChoreo.addInput("StatusUpdate", StatusUpdateValue);
 String ConsumerKeyValue = "xxxxxxxx";
 StatusesUpdateChoreo.addInput("ConsumerKey", ConsumerKeyValue);

 // Identify the Choreo to run

 // Run the Choreo; when results are available, print them to serial

 while(StatusesUpdateChoreo.available()) {
 char c = StatusesUpdateChoreo.read();

 delay(30000); // wait 30 seconds between StatusesUpdate calls

TembooAccount.h Energia Sketch code:

IMPORTANT NOTE about TembooAccount.h

TembooAccount.h contains your Temboo account information and must be included
alongside your sketch. To do so, make a new tab in Energia, call it TembooAccount.h,
and copy this content into it. 

#define TEMBOO_ACCOUNT "xxxxxxxx" // Your Temboo account name 
#define TEMBOO_APP_KEY_NAME "myFirstApp" // Your Temboo app name
#define TEMBOO_APP_KEY "xxxxxxxx" // Your Temboo app key

#define WIFI_SSID "xxxxxxxx"
#define WPA_PASSWORD "xxxxxxxx"

The same TembooAccount.h file settings can be used for all Temboo sketches.

Keeping your account information in a separate file means you can share the 
main .ino file without worrying that you forgot to delete your credentials.