Introduction: CC3200 Wi-Fi Board for Internet of Things

About: I am a researcher leading quantum optics labiratory. Previously I was working on development of optical atomic clocks. Electronics is my hobby since childhood when my uncle was bringing me old phones to play a…

Great news for Internet of Things people!

Texas Instruments CC3200-LAUNCHXL board is now supported by Energia v.13+

Energia is Arduino environment adapted for Texas Insturments chips.

CC3200 can be programmed using TI CCStudio but it is much more complicated to Energia:

Element 14 Blog

Step 1: Energia Installation and Try

After downloading Energia unzip it and click on energia.exe.

No installation, so easy!

Select CC3200 as output board and serial port. I already had device drivers installed from CCStudio.

It is no longer necessary to toggle SOP2 jumper every time for programming. Connect a jumper wire between SOP2 and J8 as shown in picture below.

If WiFi examples do not work for you you might have an lder board version and need to use Uniflash and update bootloader. I did not need to update mine.

Blink example

runs immediately blinking the red LED.


It did not run as A0 is not specified. How to write input PIN_58 or 58 or ADC1 or analogRead(6)? See next.


It displays ADC value on serial and as yellow LED intensity

const int analogInPin = 6; // this is pin number on P1 header PIN_59

const int analogOutPin = 9; // yellow LED

Thermometer TMP006 example did not compile.

QuickTMP006.ino:17:20: fatal error: tmp006.h: No such file or directory.
TMP006.cpp:(.text.setup+0x10): undefined reference to `tmp006::begin(unsigned short)' TMP006.cpp.o: In function `loop': TMP006.cpp:(.text.loop+0x14): undefined reference to `tmp006::getTempStruct(TMP006_TempStruct*)'

Step 2:

WiFi server example

It did not connect to AP. This example is for encrypted network, I had open network. Works after modifying line to: "WiFi.begin(ssid);"

ConnectNoEncription for WiFi works:

Attempting to connect to Network named: OpenWrt ...
You're connected to the network
Waiting for an ip address..
IP Address obtained
SSID: OpenWrt BSSID: F0:0:20:1:79:C4
signal strength (RSSI):0
Encryption Type:0
IP Address:
MAC address: 78:A5:4:2E:C1:3E
SSID: OpenWrt
BSSID: F0:0:20:1:79:C4

This example generates a page with pushbuttons allowing to switch on red LED on board. It is suitable for switching on/off things over internet for example internet controlled power outlet.

Attempting to connect to Network named: OpenWrt.
You're connected to the network
Waiting for an ip address ..
IP Address obtained
SSID: OpenWrt
IP Address:
signal strength (RSSI):0 dBm
To see this page in action, open a browser to
Starting webserver on port 80
Webserver started!

Step 3: ​WiFiHivelyClient


Works nicely, but if once the connection is lost it does not reconnect.
analogRead(6) measures from PIN_59.
Result on Xively:

Attempting to connect to Network named: OpenWrt ..
You're connected to the network Waiting for an ip address.
IP Address obtained SSID: OpenWrt
IP Address:
signal strength (RSSI):0dBm
HTTP/1.1 200 OK
Date: Sat, 13 Sep 2014 12:18:06 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: close
X-Request-Id: ebabd5c32aa8091805293a803012d80cd172fbdd
Cache-Control: max-age=0
Vary: Accept-Encoding

Step 4:


finds wifi networks around without connecting. It can do it very fast compared to Windows.

SimpleLink SDK 0.5
MAC: 78:A5:4:2E:C1:3E
Scanning available networks...
** Scan Networks **
number of available networks:3
0) Bumbieris Signal: -88 dBm Encryption: WPA
1) Chernichka Signal: -86 dBm Encryption: WPA
2) OpenWrt Signal: -38 dBm Encryption: None


Should send an email from a google mail user to any address.
Needs registration at Temboo account, Temboo API key, google allowing 3-rd party requests, ...

too complicated - did not wish to spend an hour to figure it out.

Hibernate and watchdog

There were no examples fro CC3200. Can somebody, please, help where to get hibernate and watchdog example code. It id so important for battery driven applications? Probably one needs to write binary data into specific counter registers.

Resuming: Energia is good for projects where an example can be taken and modified/combined with antoher example.

Hope this Instructable will make it easier for other people to get IoT projects running.