You must be logged in to reply.
Page 1 of 2 out of 14 messages.
TOPIC
First Impressions on the TI cc3100 Wifi chip
Master with 9,418 exp
7 months ago (modified)
Exp:   Good hardware / Excellent software   |   Own:   Cerb40, Cerb40 II, Cerberus, Cerbuino, Mountaineer
Wow. Hold on to your hats folks. My cc3100 boards arrived today and I have the TI examples working. This is even better than I thought. So first off, a recap of the features:

- UART or SPI communication
- SSL socket support
- FULL Web Server built-in
- Multiple ways to pair without a UI (essential for IoT: SmartConfig, Peer-to-Peer, WPS, and another that is not yet released)
- 8 sockets
- Integrated mDNS (although I am picky about mDNS, so I will probably roll my own Smiley

So, I got the CC3100Boost and the CC31XXEMUBoost. The CC3100Boost is the Wifi chip, antenna, and flash mounted on a pcb. The EMUBoost is the board you need to connect the CC3100 to a PC via USB. I was easily able to connect it to my wifi with the Peer-to-Peer pairing method with my Windows Phone. The Android SmartConfig app does not work on my Nexus 7 and BlueStacks didn't work, so don't bother unless you have an Android phone. But, after connecting I was greeted with the beautiful web server which serves up some configuration pages (see screenshot). I immediately tried to stress the server but was unable to crash it. It seems robust and fast. All the html, images, and javascript files are stored in the flash. You can load whatever web pages you want into the flash with a PC utility called UniFlash. You can even replace the TI files with your own versions. Also, you don't need a TI or any other MCU! The samples run from Visual Studio on your PC! Attached is the first sample of output from the Internet Time example app. And, that is one of 36 examples that cover a wide range of capabilities (see attachment).

I can already see that writing a managed driver for this will be far easier than with the cc3000. Heck, I can actually see that many developers will only need to use the web server. TI has a tokenpoller javascript file and reserved variable prefixes that grab values to dynamically update the web page being served. I could see a simple web server being constructed from this with nothing more than saving custom json templates to the flash and updating the in-memory values over UART. You wouldn't even need to touch a socket to have your device serve a custom service! I have attached the page source of their configuration page to give you a peek of what the dynamic variable substitution looks like. If you look at the cc3100Server screenshot, the page source shows a list of variables that start with "__SL_P_" then a : and the value. I believe that in the actual page stored on the flash there is a variable after the : that gets replaced with a live value when the page is served!

The most encouraging thing is the diverse set of examples. If all of these work, I think this is a huge leap over the cc3000!

In the next week, I will try to directly command the device over UART from managed C#. The great thing is that I can just use the .NET Framework on my PC to develop the code and move it to .NET MF when it works. Also, I can see in the docs that TI considered different MCUs because there is even specific mention of how to handle the floating I/Os when the STM32 hibernates. Impressed.

The only negative is that I see absolutely no mention of the low level UART and SPI command structure. So, I'll be reverse engineering the commands for the managed driver.

Anyway... that's all for now.
Employee
7 months ago
Exp:   Excellent hardware / Excellent software   |   Own:   Spider
This is some excellent news. Please keep us posted.
Master with 8,684 exp
7 months ago
Exp:   hardware / software   |   Own:   None
Wait this is out, how did you get it?
Hero with 16,654 exp
7 months ago
Exp:   Average hardware / Good software   |   Own:   Cerberus, Cerbuino, Cobra II, Hydra, Lynx, Medusa, Mini, Spider
This sounds awsome!
Master with 5,740 exp
7 months ago
Exp:   hardware / software   |   Own:   None
This is the part I like. Quote from the TI website:
The CC3100 solution can run on two AA batteries for over a year, bringing embedded Wi-Fi capabilities to battery-operated end-equipments for the first time. The platform gives customers the flexibility to use any microcontroller (MCU) with the CC3100.
Senior with 4,835 exp
7 months ago
Exp:   Good hardware / Good software   |   Own:   Cerb40, Cerberus, Cerbuino Bee, Cobra, Cobra II, G120, G400, Hydra, Mountaineer, Panda II, Spider
Mr. John Smith
Wait this is out, how did you get it?
Just the development boards are out. i got 2 coming today from Mouser.
I also got the CC3200 development board which is the wifi + stm m4 microcontroller which would make a killer netmf device. just don't know if my skill level is high enough to port 4.3 to it.
Hero with 18,502 exp
7 months ago
Exp:   Excellent hardware / Excellent software   |   Own:   Cerberus, Cerbot, Cobra, EMX, Hydra, Panda
MikeCormier
Mr. John Smith
Wait this is out, how did you get it?
Just the development boards are out. i got 2 coming today from Mouser.
I also got the CC3200 development board which is the wifi + stm m4 microcontroller which would make a killer netmf device. just don't know if my skill level is high enough to port 4.3 to it.

Do you the amount of RAM on the CC3200 dev board ?
Senior with 4,835 exp
7 months ago
Exp:   Good hardware / Good software   |   Own:   Cerb40, Cerberus, Cerbuino Bee, Cobra, Cobra II, G120, G400, Hydra, Mountaineer, Panda II, Spider
Rajesh
MikeCormier
Mr. John Smith
Wait this is out, how did you get it?
Just the development boards are out. i got 2 coming today from Mouser.
I also got the CC3200 development board which is the wifi + stm m4 microcontroller which would make a killer netmf device. just don't know if my skill level is high enough to port 4.3 to it.

Do you the amount of RAM on the CC3200 dev board ?

i believe it is 256K
Superhuman with 85,628 exp
7 months ago
Exp:   Good hardware / Excellent software   |   Own:   Cerb40 II, Cerberus, Cerbot, Cerbuino, Cobra II, EMX, G120, G400, Game-O, Hydra, Medusa, Mini, Mountaineer, Panda, Panda II, Raptor, Rhino, Spider
Master with 9,418 exp
7 months ago
Exp:   Good hardware / Excellent software   |   Own:   Cerb40, Cerb40 II, Cerberus, Cerbuino, Mountaineer
Ok, so I've been working on this cc3100 and have some progress. So I was able to run a complex sample from TI and easily capture the Serial communication on my PC. Then I decoded everything in a word document to better understand the commands. Then tonight, I hooked up a CerbuinoBee to the thing and it actually communicated on the first try.

So, I am able to send, receive and understand commands from the cc3100! It took far longer to get to this point with the cc3000 so I am thrilled.

This is the output I got:
Bytes Received: BADCCDAB 0800 0800 0000000011111111
Sending DEVICEGET Command
Bytes Received: BADCCDAB 6604 3800 16000000000001000C002C000300000300000000000000000400000002000000010503030200000000000000070000000000000022220000
Bytes Received: BADCCDAB 6300 0400 17000000

I know, it looks like a bunch of random numbers, but those are perfect responses to a DeviceGet command!

Now that I have confirmed how to communicate, it won't be long before the commands to connect are done (I have already intercepted and decoded them).

As soon as it can run a simple sample, probably gettime, I'll publish the new driver.

The great thing is that once I support the TI dynamic variable replacement commands (looks very easy to implement) creating a web service will be trivially easy!!! No sockets or anything! I think everyone is going to love this device! If you don't understand how it will work, stay tuned over the next few weeks.

I have attached pictures of the hardware and software test.

Page 1 of 2 out of 14 messages.
You must be logged in to reply.