This WiFi click board carries the successor of the highly popular CC3000 module from Texas Instruments. Its claim to fame was that it simplified WiFi for embedded developers by integrating multiple Internet Protocols and a Wifi driver with a simple API.
CC3100 inherits all these benefits, and on top of that, adds an updated protocol stack (support for 802.11n) and cutting edge security features (TSL encryption, hardware crypto-engine and more).
To quote Hackaday:
Especially when you have it on a click board.
The CC3100 module itself comprises a Wi-Fi Network Processor and Power-Management Subsystems. This Fully Integrated Module Includes all Required Clocks, SPI Flash, and Passives.
For wireless reception, CC3100 click has a 2.4 GHz PCB antenna.
CC3100 can function either as an access point, a station (connects to a router), or a node in a P2P connection. CC3100 click has an onboard jumper FORCE AP for configuring the board to work in Access Point mode by default.
For communicating with the target board MCU, either the UART or SPI interface can be used (also configured through onboard jumpers).
For WiFi devices that can run for several years on two AA batteries
CC3100 has sophisticated power optimization features to make it suitable for IoT applications.
In hibernation mode, it can consume as little as 4 microamps. And it takes just 95 milliseconds for it to connect to WiFi out of hibernation. Even in applications when the module is always connected to WiFi, it can still cycle between sleep mode (120 microamps) to active mode (37 miliamps).
On CC3100 click, entering and exiting from hibernation mode is controlled nHIB pin (in place of mikroBUS™ PWM pin).
For devices that are both smart AND secure
Developers have access to encryption technologies used to secure online banking and government services. Yet many IoT devices on the market are not secure, posing a terrible danger for users and manufacturers alike. With CC3100, you can make make devices that are both smart and secure.
CC3100 has a powerful on-chip crypto engine for fast, secure Wi-Fi and Internet Connections, with support for 256-Bit AES Encryption and TLS/SSL protocols. All with highly abstracted APIs that make them accessible. All of these are running on the module itself – offloading the target board MCU.
Read more in the vendor’s data sheet.
CC3100 vs CC3000 – less power, more speed, and more
The most noticeable improvement that CC3100 has compared to its predecessor is the the updated protocol stack that now supports 802.11n - which allows for larger throughput. This is what enables all the newly added advanced security features listed above.
For a more detailed comparison of differences between CC3000 and CC3100, read the tutorial article here.
Adding WiFi to devices that surround us can simplify our lives greatly. Just think how much easier it would be to come home from work and have the TV start your favorite show while the temperature is perfect and the lighting is soft. All of that with within a few seconds.
- Cloud Connectivity
- Home Automation
- Home Appliances
- Access Control
- Security Systems
- Smart Energy
- Internet Gateway
- Industrial Control
- Smart Plug and Metering
- Wireless Audio
- IP Network Sensor Nodes
For illustrative examples of WiFi-enabled devices in real world use, look up “Blink home controller” and “New Matter 3D printer” – both of which rely on CC3100 for WiFi connectivity.
||Adding WiFi to devices that surround us can simplify our lives greatly. Just think how much easier it would be to come home from work and have the TV start your favorite show while the temperature is perfect and the lighting is soft
||Texas Instruments CC3100
||802.11 b/g/n, Crypto Engine, Onboard 2.4 GHz ceramic antenna
||Low power consumption: down to 4µA in hibernation mode
|Click board size
||L (57.15 x 25.4 mm)
This table shows how the pinout on cc3100 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
||Active-low hibernation mode pin
|Active-low reset pin
||Function depends on position of SPI/UART jumper
|Function depends on position of SPI/UART jumper
CC3100 vs CC3000 comparison chart
The following table show the comparison of cc3100 and cc3000 features:
|802.11 transceiver mode - Allows transmitting and receiving of proprietary data through a socket without adding MAC or PHY headers
||Doesn't have this option
|Support of eight simultaneous TCP, UDP, or RAW sockets
||Supports four simultaneous TCP or UDP sockets
|Service discovery: Multicast DNS service discovery lets a client advertise its service without a centralized server
||Doesn't have this feature
|Interfaces over a 4-wire serial peripheral interface (SPI) with any MCU or a processor at a clock speed of 20 MHz.
||Interfaces over 4-wire serial peripheral
interface (SPI) with any microcontroller, or processor
at clock speed up to 16 MHz
|Ultra-low leakage when disabled (hibernate mode) with a current of less than 4 µA with the RTC running
||Ultra-low leakage shut-down mode with current < 5 µA
|Operating temperature: -40° to 85°C
||Operating temperature: -20° to 70°C
|MAC with a crypto engine for fast, secure internet connections with 256-bit encryption.
||Doesn't have this feature
CC3100 is part of TI's SimpleLink embedded wireless product line.
Texas Instruments offers a SimpleLink SDK. You can use the SDK as example code for any platform. The CC3100 SDK contains drivers, many sample applications for Wi-Fi features and Internet and documentation needed to use the CC3100. The examples available on Libstock are also based on code from the SDK. We particularly chose examples that make it easy to understand how to use SimpleLink and develop your own solutions.
This code snippet shows the initialization routine (EasyFT90x board with the click placed on mikroBUS socket #1) which must be done before using the SimpleLink driver.
01: void system_init()
03 GPIO_Digital_Output( &GPIO_PORT_00_07, _GPIO_PINMASK_1 );
04 GPIO_Digital_Output( &GPIO_PORT_24_31, _GPIO_PINMASK_4 );
05 GPIO_Digital_Output( &GPIO_PORT_56_63, _GPIO_PINMASK_0 );
06 GPIO_Digital_Input( &GPIO_PORT_00_07, _GPIO_PINMASK_3 );
08 SPIM1_Init_Advanced( _SPI_MASTER_CLK_RATIO_8, _SPI_CFG_PHASE_CAPTURE_FALLING |
09 _SPI_CFG_POLARITY_IDLE_LOW | _SPI_CFG_SS_AUTO_DISABLE |
10 _SPI_CFG_FIFO_DISABLE, _SPI_SS_LINE_NONE );
12 GPIO03_CFG0_bit = 1;
13 GPIO03_CFG1_bit = 1;
14 GPIO03_CFG2_bit = 0;
15 GPIO03_CFG3_bit = 0;
17 IRQ_CTRL.B31 = 0;