What is the power cost of WiFi on a battery-powered device?
WiFi is fundamentally power-hungry because the protocol was designed for always-on, AC-powered devices. A typical WiFi SoC like the ESP32 draws approximately 80 mA in receive mode, 120-240 mA during transmission (depending on TX power and modulation), and 20-60 mA during active scanning. Even the association process — scanning for the AP, authenticating, completing the DHCP handshake — can take 2-8 seconds and consume several hundred milliamp-seconds of charge. For a battery-powered sensor that must report data once per minute, each wake-up cycle including WiFi association, DNS lookup, TLS handshake, HTTP POST, and disconnection might consume 200-400 mA for 3-5 seconds — roughly 1-2 mAs per transmission. On a 1000 mAh battery, that limits the device to approximately 500-1000 transmissions, or less than a day at one-per-minute reporting.
The 802.11 power-save modes help but do not fundamentally solve the problem. Legacy Power Save (PS-Poll) lets the station sleep between beacon intervals (typically 100 ms) and wake to check the TIM field in the beacon; if data is buffered at the AP, the station sends a PS-Poll to retrieve it. This reduces idle current but still requires the radio to wake every 100 ms. WMM Power Save (U-APSD) improves on this by allowing trigger-based delivery. The most aggressive optimization is Target Wake Time (TWT), introduced in WiFi 6 (802.11ax), which allows the station to negotiate a specific schedule with the AP — for example, waking once every 10 seconds for a 2 ms window. TWT can reduce average WiFi current to the hundreds-of-microamps range for infrequent data exchange, making battery operation feasible.
Practical strategies for battery-powered WiFi devices include: keeping the WiFi association alive (avoiding the expensive reconnect cycle) using light-sleep with periodic beacon listening; batching multiple sensor readings and transmitting them in a single burst; using UDP instead of TCP to avoid the handshake overhead; storing the WiFi channel and BSSID in RTC memory to skip the scanning phase on wake-up (reduces connection time from seconds to hundreds of milliseconds on ESP32); and using deep sleep between transmissions with the WiFi radio completely powered down. Even with all optimizations, WiFi battery life is measured in weeks to months for infrequent reporting — compared to years for BLE or LoRa. An interviewer asking this question wants to hear that you understand the fundamental energy cost and know both the protocol-level mitigations and the system-level workarounds.
Source: Wireless Technologies Q&A
