Low-power Wi-Fi®: How application properties impact energy consumption

Often times the energy consumption of Wi-Fi® based systems can be significantly improved by making the right configurations for the system properties and thus minimizing the use of energy wasteful actions.

An example of an energy wasteful behavior that could be easily optimized is that many home automation products, although they are stationary and expected to always connect to the same home network, perform a search for known networks every single time they get ready to reconnect to the Wi-Fi network. A more energy optimized approach in this case would be for the device to automatically attempt to connect to the last connected network, and only in the rare case that such an attempt should fail, will perform the energy wasteful search for known networks.

The SimpleLink™ Wi-Fi CC3100/CC3200 devices, designed for low-power IoT applications, provide features, easily accessible by direct API calls, to help you configure your system’s properties for optimal energy consumption based on your application’s needs. Read on to learn more about properties that can be easily configured to improve energy consumption.

Wi-Fi layer properties: 

Fast connect –This feature configures the device to connect to the last access point (AP) that it was connected to instead of performing a scan (searching for APs). Eliminating the need for a scan reduces the device’s energy consumption. Fast Connect can be configures using the “CC3100_sl_WlanPolicySet” & “CC3200_sl_WlanPolicySet” APIs.

Service discovery – Service discovery protocols allow automatic detection of devices on the Wi-Fi network and the services they offer. When connecting to an AP, the device typically automatically starts advertising itself by sending mDNS (multicast Domain Name System) packets. This activity, which runs in the background, consumes energy, hence you may wish to control this behavior, and in some cases may want to eliminate the mDNS advertisement upon connecting the AP in order to save energy. This can be configured using the following APIs: “CC3100_sl_NetAppStop” & “CC3200_sl_NetAppStop” APIs.

Built in system reception filters – The device supports an advanced filtering mechanism in several different logical layers.  Using this filters feature can reduce the amount of unwanted packets transferred to the host, hence reducing the number of times it wakes up and the energy consumed as a result. To configure the device’s filtering mechanism, use “CC3100_sl_ WlanRxFilterAdd”, “CC3100_sl_ WlanRxFilterSet” , “CC3100_sl_ WlanRxFilterGet”  & “CC3200_sl_ WlanRxFilterAdd”, “CC3200_sl_ WlanRxFilterSet”, “CC3200_sl_ WlanRxFilterGet”. 

Long sleep interval (LSI) – In applications that require being perpetually connected to the Wi-Fi network, the Wi-Fi device listens to every beacon (typically transmitted every 102ms) or every DTIM (Delivery Traffic Indication Map) from the AP according to the AP TBTT (Target Beacon Transmission Time). The LSI parameter determines the desired sleep interval between two consecutive wakeups for beacon reception, taking into consideration that beacons are missed in between wakeups, when the device is in low power mode. This policy is very useful for an application that works in client mode and is connected to an external network. It automatically terminates mDNS and internal HTTP server running on the device. The recommended LSI value in this case is up to 500msec, to ensure reliable service while optimizing power consumption significantly. To configure the device, use “CC3100_sl_WlanPolicySet” & “CC3200_sl_WlanPolicySet”.

Network and server layer properties:

UDP vs TCP solution energy consumption – TCP and UDP are transport layer protocols used for sending data over the Internet. TCP is a connection oriented protocol which requires connection establishment prior to transmission and assures reliable and orderly delivery of messages. The TCP protocol’s overhead is higher due to bigger headers and the requirements for data acknowledgment resulting in increased energy consumption. UDP is a connectionless protocol in which no connection setup is required prior to transmission. UDP supports best effort delivery of messages, provides no guarantee that the messages or packets sent would reach its destination. In UDP the packets are also independent of each other, and may be received with no inherent order. UDP protocol requires smaller overhead and no response or acknowledgment from the server. Hence for reliable data transfer TCP is preferred. For volatile traffic with minimum overhead UDP is the recommended power-optimized option. To configure the device transport layer protocol use CC3100_sl_Socket & CC3200_sl_Socket.

Secured socket (SSL/TLS) energy consumption – The periods of connection to server and energy consumption may vary depending on the cipher suits used in the system. Both the cipher suite and whether to use a secured connection can be configured by the following SimpleLink Wi-Fi device APIs:

TI is constantly looking for ways to reduce the power consumption of our Wi-Fi® solutions. This includes developing advanced algorithms related to the behavior of the device with either the access point and/or the server, reducing timing and power consumption for static power modes and optimizing the system sequences in each one of the system layers. This enables the user to optimize its application energy consumption by easily configuring the device parameters.

More details on low-power Wi-Fi development and how to optimize your designs can be found at: SimpleLink Wi-Fi CC3100/CC3200 Internet-on-a-chip™ networking sub-system power management application note and the SimpleLink Wi-Fi APIs: SimpleLink Wi-Fi CC3100 API & SimpleLink Wi-Fi CC3200 API as well as previous posts of our low-power Wi-Fi blog series. 

Check out the other blogs in our low-power Wi-Fi series:

Read our white paper on low-power Wi-Fi connectivity: