There are always situations in real life when some old stuff — no matter what we're talking about, whether it be sneakers or your favorite Hi-Fi amplifier — must be replaced with something newer and you think to yourself: "If I just can get the new one it will be at least as good as the old one was." Something similar was on our mind when we realized that TI's CC3000 WiFi module should be replaced with new CC3100MOD.
What can happen then is that you can (A) become even more nostalgic about your old favorite equipment; or (B) you can realize that your old stuff was good but the new one is far better. In our case, it was B. We are really satisfied with the new successor which came two years after the original was released. We have it on a click board and on mikromedia 5 for TIVA.
The first question might be - what are the differences? Focusing on hardware, you can probably find the greatest improvement for the CC3100MOD is the reduced power consumption. Compared to CC3000's typical 92 mA during the reception, CC3100MOD consumes only 53 mA. This fact gives CC3100MOD the title of IoT solution which can be easily integrated to low power MCUs. Also 802.11n wireless-networking standard is now available on CC3100MOD, which was the biggest shortcoming of the CC3000. The new module kept the original's very low standby power consumption of 140 μA, and has an even lower consumption in hibernation mode of 5μA.
It is important to say that CC3100MOD integrates all protocols for Wi-Fi and Internet, which greatly minimizes host MCU software requirements. With built-in security protocols, the CC3100MOD solution provides a robust yet simple security experience. The CC3100MOD supports Station, Access Point, and Wi-Fi Direct modes. The device also supports WPA2 personal and enterprise security and WPS 2.0. This subsystem includes embedded TCP/IP and TLS/SSL stacks, HTTP server, and various Internet protocols.
CC3100MOD is part of SimpleLink Wi-Fi family that dramatically simplifies the implementation of Internet connectivity. The device driver minimizes the host memory footprint requirements requiring less than 7KB of MCU's flash memory and 700B of RAM memory for a TCP client application.
SimpleLink
As a part of SimpleLink family, the functionality of the CC3100 is covered by TI's SimpleLink™ driver. The SimpleLink SDK allows easy and fast porting to various platforms. Once ported, SimpleLink offers a wide variety of possible solutions. TI already provides examples that can be found inside our GIT repository, but also inside the packages shared on our Libstock page. The examples make it very easy to understand how to use SimpleLink and develop your own solution.
https://github.com/MikroElektronika/Click_CC3100
CC3100 click
The click board in our L mikroBUS™ format carries a module and ceramic antenna as main parts. It allows communication with the host MCU through either the SPI or UART bus. This choice is available by changing the SMD jumpers position on the click board.
There is another SMD jumper, Force AP, which is used to start the device in AP mode (Access Point). In AP mode the un-provisioned device wakes-up initially as an AP with an SSID defined by the equipment manufacturer. Before trying to connect to the home network for the first time, the un-provisioned device creates a network of its own, allowing a PC or a smartphone to connect to it directly to facilitate its initial configuration.
CC3100 click also has reset (RST) and hibernation (HIB) pins. The first is for performing a hardware reset; the second is for putting the device into its most economic mode – hibernation, with just 5μA current used.
Example
Currently SimpleLink SDK provides almost 40 examples of usage. We have chosen two different examples for ARM and FT90x compilers. The ARM example gets current weather conditions for the city provided as CITY_NAME preprocessor. The FT90x example is a simple Get Time application which gets current time from an NTP server provided as sntp_server constant.
https://youtu.be/DYzSj5jGYP4
You will probably realize that in case of ARM, our example is different from the example that TI provides with the SDK. That's because we had no success gathering information from openweather.com, so we have chosen apixu.com to provide current weather conditions.
The FT90x example is also used to demonstrate our new revision of mikromedia 5 for TIVA. The source code can be founded on our Libstock page.
Summary
We were able to recreate the same mikromedia 5 for Tiva example we created originally for CC3000, even though the original was not based on the SimpleLink™ SDK. This demonstrates that the provided SDK is a really powerful piece of software which can help you build your own idea with almost no trouble.