TI Wi-Fi CC3200 LaunchPad & CC3100 BoosterPack - Review

Table of contents

RoadTest: TI Wi-Fi CC3200 LaunchPad & CC3100 BoosterPack

Author: ipv1

Creation date:

Evaluation Type: Evaluation Boards

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: None whatsoever! There is nothing like this in the market today. Brilliant!

What were the biggest problems encountered?: Honestly, it worked like a charm. Surprisingly, it was just too easy to start working with!

Detailed Review:


 

Disclaimer: I don't work for TI but I simply LOVE everything about TI's controllers from a hobbyist point of view. I have not had the opportunity to use TI Controllers professionally, but getting there...

 

Introduction


Ever since the spark core came out, I have been wanting to try out TI's wireless modules and here comes the CC3200 and CC3100. Thanks element14 and TI for the roadtest opportunity.

 

These are called Internet On A Chip and rightly so because for an IOT application, the device must connect to the internet and what better way than wirelessly. Sure there are other wifi options out there but CC3200 is different and I will discuss in detail. I will be doing a point wise review here and linking the related work below. My objective is to not only review the product but I have found this platform to be so awesome that if you have shown interest by reading this, then you should experience first hand the capabilities of the CC3200 and CC3100. Lets get started.

 

CC3200 Demystified

 

So what is the CC3200?

The CC3200 is a single chip which has the Wifi stack on the hardware instead of on a software. There is a dedicated processor for the Wifi networking, Hardware blocks for crypographic operations and also has power management all on the same chip. If that was not enough, there is also a ARM Cortex M4 processor to run your code. This is important because dedicated hardware means that your application can sleep or do exhaustive processing and there is no effect on the WiFi communication. A software TCP/IP stack means your processor will be busy decoding addresses and packets and then driving the WiFi processor which leaves your application running slow or slower! The architecture is shown below

 

 

You can see that there is a HUGE no of peripherals from the ADC and UARTs to I2C and SPI to SDCARD and even a camera  interface. There is a demo for the camera app as well but more on that later.

 

How is it different from eveything else?

The RPi or BBB or other stuff has a linux OS running which takes care of a lot of things. This means if you want a graphical app to run out of the box then these are a good option. For IOT applications where:

  1. The application is dedicated.
  2. Has to run on battery
  3. Peripherals are specific
  4. Timing need be more precise and
  5. Real time operation is a must,

The CC3200 fits the bill. It can run FreeRTOS and TI RTOS. I have used FreeRTOS on microchip PIC32 which are MIPS core but to get wifi and its just yuck!

 

Is It difficult to use?

 

I use micro-controllers professionally but have never used an ARM controller from TI. This was my first. I am also well versed with Network Sockets and programming in Linux/UNIX.

It took me around 30 minutes to get my own application running on the CC3200 which used a simple TCP socket to post data to a local apache server running PHP( I am trying to mode to node.js) via a HTTP get request.

Next I took a look at MQTT and thanks to a Tutorial by I was able to get the MQTT client running in no time.

 

The number of Demos available is just brilliant and it cuts your development time into fractions. You can make your application with no knowledge of the ARM architecture and it will work! CCS does the job brilliantly for suggesting code optimizations.

I saw some talk about the ARM processors being tough to use etc. If you want to get your hands dirty, its fantastic!

 

The project

 

For this roadtest, I had planned to use this as a part of a project. It was to be a MET system which measured weather data and sent it to an MQTT broker and things happened from there. My prototype looks like this

I am using a CC3200 Launchpad and an MSP430F5529 launchpad. The MSP430F5529 is used to emulate the weather station by generating pulses. The CC3200 uses a timer to count the pulses and then spits out a frequency. Where is the code you ask? Its in the CC3200 SDK examples folder.

Out of the box, the CC3200 comes with a HTTP web server demo as an access point and client. The code for that is also given in the CC3200 SDK examples folder.

I was able to get MQTT running using this demo.

 

Connect the CC3200 to the Internet of Things with MQTT and Paho embedded C client - Part 1

Connect the CC3200 to the Internet of Things with MQTT and Paho embedded C client - Part 2

 

If you are looking for a tutorial this one from

 

CC3200 "Internet-on-a-Chip" Getting Started Guide – Part 1

CC3200 “Internet-on-a-Chip” Getting Started Guide – Part 2

 

A link to my project module is

Forget_What: A MET System update: Experiments with PAHO

Not much detail but working on it. I will update to a blog post in the internet-of-things group and post a link here.

 

[TO BE CONTINUED]

I am still waiting for the CC3100 to be delivered and will post a comparison as I get it done.

Anonymous