Tag Archives: Launchpad

Texas Instruments Booster Pack Checker Tool

bpchecker1

Texas Instruments recently release a online Booster Pack Checker Tool. The tool shows pin compatibility between Texas Instruments Launchpad and Booster Packs.

Without using the Booster Pack Checker Tool, to ensure that a TI Launchpad is pin compatible with Booster Pack, you would need to compare the pin outs using their board datasheets. Which would take some time and is for some a strenuous task to do. What I would do, before I connect a Booster Pack to my TI Launchpad, is that I would make pin out tables at Microsoft Excel . See, sample pin out tables below. The highlighted green table cells below indicates pin compatibility between Tiva Connected Launchpad Booster Pack 2 Interface Connector and CC3100 Booster Pack.

TivaBP2CC3100

Using the Booster Pack checker tool prevents unnecessary buying of Booster Packs that was thought to be initially compatible with their TI Launchpad. In some cases the TI Launchpad was damaged by interfacing to a Booster Pack that is not pin compatible.

The reason for Booster Packs to be not compatible with a specific TI Launchpad, is that many Booster Packs are designed for MSP430 Launchpad, since MSP430 Launchpad is one of the first TI Launchpad released in the market. These Booster Packs compatible with MSP430 Launchpad became not pin compatible with succeeding TI Launchpad, like TI Tiva Launchpad. However, you can interface a TI Launchpad to a not pin compatible Booster Pack by re-wiring the  pin connections using a protoboard.

Here below are some features of the TI Booster Pack Checker Tool.

  1. Shows incompatible Booster Packs. bpchecker2
  2. Shows pin compatibility status.bpchecker3
  3. For TI Launchpad with 2 Booster Pack Connectors,  there is a option to switch to either TI Launchpad Booster Pack Connector, for checking Booster Pack pin compatibility.bpchecker4
  4. You can check pin compatibility of stacking multiple Booster Packs to a TI Launchpad.bpchecker5

Some things to consider using the TI Booster Pack Checker Tool.

  1. Although, the TI Booster Pack Checker tool can indicate that several Booster Packs are stackable to a TI Launchpad, it does not show power requirements of each Booster Pack. Successful designs begin with adequate power. So, before interfacing multiple Booster Packs to a TI Launchpad, you need to make sure that they have adequate power.
  2. Although, the TI Booster Pack Checker tool can show pin compatibility of a TI Launchpad pin to a Booster Pack pin, you still need to check a TI Launchpad pin default function. MCU’s GPIO’s have multiple alternate function. Some MCU GPIO’s defaults as NMI or Non-Maskable Interrupt. For these MCU GPIO’s that defaults as NMI, you would need to re-configure that GPIO pin, to your desired alternate GPIO function using a code.

Using the TI Booster Pack Checker tool, I have confirmed that my Sensor Hub Booster Pack is pin compatible to Booster Pack 1 connector of my Tiva Connected Launchpad and my CC3100 Booster Pack is pin compatible to Booster Pack 2 connector of my Tiva Connected Launchpad.

bpchecker6

With my pin compatible, Tiva Connected Launchpad + Sensor Hub Booster Pack + CC3100 Booster Pack, I can send sensor data through WiFi, to a Cloud Service Provider like Exosite.

IMG_0250

See, project at the link below.

CONNECT TIVA CONNECTED LAUNCHPAD TO EXOSITE CLOUD USING TI SIMPLELINK WIFI CC3100

Advertisements

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.

//CC3200tembootwiter.c

#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() {
 Serial.begin(9600);
 
 int wifiStatus = WL_IDLE_STATUS;

 // Determine if the WiFi Shield is present.
 Serial.print("\n\nShield:");
 if (WiFi.status() == WL_NO_SHIELD) {
 Serial.println("FAIL");

 // If there's no WiFi shield, stop here.
 while(true);
 }

 Serial.println("OK");

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

 if (wifiStatus == WL_CONNECTED) {
 Serial.println("OK");
 } else {
 Serial.println("FAIL");
 }
 delay(5000);
 }

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

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

 TembooChoreo StatusesUpdateChoreo(client);

 // Invoke the Temboo client
 StatusesUpdateChoreo.begin();

 // Set Temboo account credentials
 StatusesUpdateChoreo.setAccountName(TEMBOO_ACCOUNT);
 StatusesUpdateChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
 StatusesUpdateChoreo.setAppKey(TEMBOO_APP_KEY);

 // 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
 StatusesUpdateChoreo.setChoreo("/Library/Twitter/Tweets/StatusesUpdate");

 // Run the Choreo; when results are available, print them to serial
 StatusesUpdateChoreo.run();

 while(StatusesUpdateChoreo.available()) {
 char c = StatusesUpdateChoreo.read();
 Serial.print(c);
 }
 StatusesUpdateChoreo.close();
 }

 Serial.println("\nWaiting...\n");
 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.
*/

Post Facebook Status 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.

I have introduced at my other post how, by using Temboo Choreos I am able to integrate web services to programs running on my TI Launchpad.

I would like to venture further and test how conveniently, I will be able to integrate a web service like Facebook to a program running on my TI Launchpad using Temboo Choreos and Energia Sketch. I have no prior experience in web services and before don’t know that it is possible to communicate an electronic kit to a web service like Facebook.

What I know of from browsing in the internet are Twitter message activated devices such as this brewing machine, and vending machine below.

Lets start now, to show you how to Post Facebook Status from TI CC3200 Launchpad.

Requirements to send Facebook posts 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. A Facebook account, which most likely you already have one.
  4. A TI CC3200 Launchpad.
  5. A WiFi internet connection.

Get Facebook App ID and App Secret:

  1. Log in to your Facebook Developers Account. If you don’t have an account, you can make one here. After you have logged in go to Apps.
  2. If you are using an existing App, select your App on the Facebook Dashboard. You will be able to see the existing app at a drop down menu when you select App. Copy your AppID and App Secret.
  3. If you don’t have an existing App, at Apps select “Add a New App” to create a new App. Select Website and at the Site URL field of the form, enter https://www.temboo.com/oauth_helpers/confirm_facebook/ 
  4. After finish creating new App, select your App and Copy your App ID and App Secret.

Auto-Generate your Launchpad Energia Sketch Code from Temboo:

  1. Log in to Temboo, and go to Facebook->Publishing->Post 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. At Input fields “click” the Get OAuth Tokens icon. A window will open providing instructions how obtain OAuth Tokens. Steps 1 and 2 are discussed in more detail at Get Facebook App ID and App Secret steps above.
  4. At Step 3, enter your AppID and AppSecret at the fields and select “NEXT“.
  5. At step 4, select “LAUNCH AUTHORIZATION”. Then you will be automatically be at Step 5 with the Access Token. Select “USE THESE VALUES”. The window will close and the Access Token value will be automatically entered at the Input Access Token field.
  6. The two other fields are the “Link” and “Message”. Since I just want to post a Message at my Facebook account, I entered my message at field box.
  7. Click “Run” to test the Facebook->Publishing->Post 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 7 is shown at the top of this post)

CC3200temboofacebookpost.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 = 10; // Maximum number of times the Choreo should be executed

void setup() {
 Serial.begin(9600);
 
 int wifiStatus = WL_IDLE_STATUS;

 // Determine if the WiFi Shield is present.
 Serial.print("\n\nShield:");
 if (WiFi.status() == WL_NO_SHIELD) {
 Serial.println("FAIL");

 // If there's no WiFi shield, stop here.
 while(true);
 }

 Serial.println("OK");

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

 if (wifiStatus == WL_CONNECTED) {
 Serial.println("OK");
 } else {
 Serial.println("FAIL");
 }
 delay(5000);
 }

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

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

 TembooChoreo PostChoreo(client);

 // Invoke the Temboo client
 PostChoreo.begin();

 // Set Temboo account credentials
 PostChoreo.setAccountName(TEMBOO_ACCOUNT);
 PostChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
 PostChoreo.setAppKey(TEMBOO_APP_KEY);

 // Set Choreo inputs
 String AccessTokenValue = "xxxxxxxx";
 PostChoreo.addInput("AccessToken", AccessTokenValue);
 String MessageValue = "Hello from Temboo ! ! ! - Message was posted from CC3200 Launchpad";
 PostChoreo.addInput("Message", MessageValue);

 // Identify the Choreo to run
 PostChoreo.setChoreo("/Library/Facebook/Publishing/Post");

 // Run the Choreo; when results are available, print them to serial
 PostChoreo.run();

 while(PostChoreo.available()) {
 char c = PostChoreo.read();
 Serial.print(c);
 }
 PostChoreo.close();
 }

 Serial.println("\nWaiting...\n");
 delay(30000); // wait 30 seconds between Post 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.
*/

After just about less than 30 minutes, being able to post a message to Facebook using TI CC3200 Launchpad, I have a base product that I can already work on and expand to other possible applications.

There are lots of applications for having able to post a message, a link, a picture at Facebook using a TI CC3200 Launchpad. You can have it set as a home security alarm, a fire alarm, and a lot more.

Send Email from TI CC3200 Launchpad using Temboo Choreo and Energia Sketch

With Temboo, TI launchpads are able to connect to various web services, making it easier to connect Launchpad into the Internet of Things.

Not only easier but in a much faster and hassle free way. Temboo has over 2000 ready to run libraries called Choreos, that enables you to integrate web services like Yahoo, Twitter, Gmail, Facebook and many more into programs running on your Launchpad.

Let me emphasize again why the use of Temboo Choreos to integrate web services into programs running on your Launchpad, is much faster, and hassle free way, is because it just took me less than 15 mins to use Temboo and Energia Sketch, and then be able to send email using my TI CC3200 Launchpad. I followed the instructions below from Temboo.

https://www.temboo.com/hardware/ti/send-an-email

Here below is the Youtube video after I copied the generated code from Temboo to Energia Sketch.

Making the Email Example program work for CC3200 Launchpad

Connection with Email Server Failed
Connection with Email Server Failed

Just following the TI CC3200 Email Demo Application wiki and building and running the CC3200 Example Program at my CC3200 Launchpad led to a Error message at my Terra Term;

“Connection with Email Server Failed. Check Internet Connection and Retry

There are no specific instructions at any related documentation that mentions the need for code changes to make the Email Example Program work for CC3200 Launchpad. Maybe someone who has good experience with SMTP coding might get that idea, that there need to be some code changes to make the Email Example Program work for a CC3200 launchpad. But, for the regular person, who is just starting to learn about CC3200 launchpad, would try and try again, but end up scratching head and stuck at the error below

“Connection with Email Server Failed. Check Internet Connection and Retry”

I ask help at Texas Instruments E2E Community, and gladly someone who has experience with SMTP gave me some tips, and with those tips, I was able to make the Email Example Program work for my CC3200 Launchpad. I have sent email from CC3200 launchpad to my Yahoo Mail Inbox.

Here below are the instructions to make the Email Example Program work for CC3200 Launchpad. I am using CCS Version 6.0 and CC3200 SDK Version 0.5.2 and my CC3200 Launchpad is Revision 3.2.

  1. At file demo_config.h change SSID per your access point.
  2. If you are using Yahoo Mail to send the email change the USER, USER_RFC, and PASS with your Yahoo Email and Password as shown below.
  3. Change YAHOO_HOST_PORT to 465. The YAHOO_HOST_PORT default value is 25, and that did not work for me.
  4. If you are using Yahoo Mail to send email change at main.c, all usage of GMAIL_HOST_NAME variable to YAHOO_HOST_NAME and change all usage of GMAIL_HOST_PORT variable to YAHOO_HOST_PORT.
  5. At your Serial Console (e.g Putty, Tera Term), do not include “<” and “>” as shown in the commands.
demo_config.h
demo_config.h
Change GMAIL_HOST_NAME to YAHOO_HOST_NAME
Change GMAIL_HOST_NAME to YAHOO_HOST_NAME
Change GMAIL_HOST_PORT to YAHOO_HOST_PORT
Change GMAIL_HOST_PORT to YAHOO_HOST_PORT
Do not include <> in commands
Do not include “<” and “>” in commands.
Confirmed email receipt at my Yahoo Mail Inbox!
Confirmed email receipt at my Yahoo Mail Inbox!

Texas Instruments CC3100 Booster Pack and CC3100 Emulator Booster Pack

IMG_0075 IMG_0076 IMG_0077 IMG_0078

The CC3100 is a wireless network processor and part of TI SimpleLink WiFi family that simplifies the implementation of internet connectivity.  This device integrates both WiFi and internet connectivity in one package.

I got the CC3100 Booster Pack and CC3100 Emulator after attending a Webex training by Texas Instruments introducing these new products. These are again free gifts by Texas Instruments for my active participation at Texas Instruments Engineer to Engineer Community and also being part of TI E2E MVP group. I am grateful to be receiving these gifts for helping people at E2E. Somehow, I feel like a  sports star getting free gifts from sponsors like Nike, or Adidas.

The CC3100 Booster Pack box got a dent on it, when I received it from Fedex. Luckily, the CC3100 Booster Pack was not damaged.

Here below are links about CC3100 Booster Pack and CC3100 Emulator Booster Pack:

CC31xx & CC32xx

Here below, is to show what it can be used for:

Testing the Sensor Hub Booster Pack with TI Tiva Connected Launchpad

Tiva C Launcpad and Sensor Hub

My Texas Instruments Tiva Connected Launchpad is the first gift I received from Texas Instruments, for my active participation at their TI Engineer to Engineer forum. I was not a member yet of the TI E2E MVP’s when I received my Tiva Connected Launchpad. To be honest, receiving the Tiva Connected Launchpad is the first thing I have received from helping people in the internet. So, I was a little bit happy when I got that.

The Sensor Hub Booster Pack I got later on when I was already a member of the TI E2E MVP’s. A TI engineer who is a member of the Booster Pack Team and also at the same TI E2E MVP group as I am, offered Launchpad. But, I requested a booster pack instead, as I already have a Tiva Connected Launchpad.

The Sensor Hub was first introduced with the use of Tiva Launchpad. The Tiva Launchpad is the earlier version of Tiva Connected Launchpad with less features and no Ethernet connectivity.

As usual to learn the Sensor Hub Booster Pack, I started with the Sensor Hub Booster Pack Getting Started Guide. This turned out to be a disappointment. There indicated at the guide to demo the Sensor Hub with the Tiva Launchpad as an airmouse. Demoing the airmouse example program, you are able to do mouse functions by doing some movements with the Tiva Launchpad and the Sensor Hub. Checking the example programs of Tivaware for Tiva Connected Launchpad, there are none exist of any airmouse example program. Upon further confirmation at TI E2E Forum by a TI Engineer, there isn’t really any.

The Sensor Hub Booster Pack has 5 sensors connected using I2C interface. Care should be taken to which Booster Pack connector of the Tiva Connected Launchpad the Sensor Hub should be placed. Also, need to check if I2C standards are met to ensure proper communication of the Sensor Hub Booster Pack to the Tiva Connected Launchpad.

Based from the Sensor Hub Library of Tivaware for Tiva Connected Launchpad, the Sensor Hub Booster Pack should be connected at Booster Pack connector 1  of the Tiva Connected Launchpad. You, can quickly verify this by checking the initialization part of the program.

Here below is the pin connections table of Tiva Connected Launchpad Booster Pack 1 Connector and Sensor Hub Booster Pack:

Sensor Hub Pin Connections

The highlighted as “pink” at the tables are conflicts based from the Sensor Hub Booster Pack User’s Manual. This is a document error and should be updated. The relevant pins anyway to test the Sensor Hub Booster Pack are the I2C SDA, I2C SCL, INT TEMP, INT MOTION, GND, and 3.3V. Upon verifying all the necessary pin connections, I am confident enough to power up my Tiva Connected Launchpad with the Sensor Hub.

Close up picture of the connection of Sensor Hub Booster Pack to Tiva Connected Launchpad Booster Pack 1 Connector:

IMG_0085

Using LM Flash Programmer I load the binary files of the example programs for the sensors at Sensor Hub Booster Pack. I also have debug one of the example programs using Keil Uvision without any problems.

Output at Tera Term with the TI TMP006 non-contact infrared temperature sensor:

tmp006

Output at Tera Term with the Intersil ISL29023 ambient and infrared light sensor:

light

Output at Tera Term with the Sensirion SHT21 humidity and ambient temperature sensor:

humidity

Output at Tera Term with the Bosch Sensortec BMP180 pressure sensor:

pressure_bmp180

Output at Tera Term with the InvenSense MPU-9150: 9-axis MEMS motion tracking:

gyro

As proven by one of the E2E forum members there is a problem with the Sensor Hub Library for InvenSys MPU-9150. No fix yet has implemented at this blog post writing

Links about the Texas Instruments Tiva Connected Launchpad:

Tiva C Series TM4C1294 Connected LaunchPad

Links about the Texas Instruments Sensor Hub Booster Pack:

Sensor Hub BoosterPack

Links about Texas Instruments Booster Pack:

TI Booster Packs