In this lesson, you will learn how to evaluate the energy footprint of Wi-Fi, BLE, and LoRaWAN to strategically select the optimal connectivity solution for your device’s power budget.
The Energy Equation
In embedded systems, power consumption is not just about the radio state; it is about the energy-per-bit and the duty cycle. While Wi-Fi provides high throughput, it is power-hungry due to its complex handshakes and high peak currents required for carrier sensing and channel contention.
- Wi-Fi (IEEE 802.11): Designed for high bandwidth. Even in sleep modes, the maintenance of the association with an Access Point incurs a periodic energy cost. It is generally unsuitable for coin-cell battery applications.
- BLE (Bluetooth Low Energy): Optimized for low-duty-cycle bursts. By utilizing efficient advertising intervals and sleep states, it minimizes the
activetime. The energy cost is dominated by the time spent in theTX/RXwindow during connection events. - LoRaWAN: Optimized for long-range, low-payload scenarios. Its power efficiency stems from extreme sleep modes and low data rates. The power profile is dominated by the "time-on-air," where the Chirp Spread Spectrum modulation forces the radio to remain active longer for transmission compared to BLE.
Comparing Duty Cycles
Consider an application where a device transmits 20 bytes of data every hour. The power profile for this task looks like this:
// Simplified Energy Expenditure Model
float calculate_energy(float tx_time, float tx_power, float sleep_power) {
// Total energy = (active_time * active_current) + (sleep_time * sleep_current)
return (tx_time * tx_power) + ((3600.0 - tx_time) * sleep_power);
}
If your energy budget is constrained, you must calculate the tx_time relative to the protocol overhead. Wi-Fi’s overhead is massive for a 20-byte payload due to TCP/IP framing. BLE reduces this significantly, but LoRaWAN wins in range-per-joule for low-data scenarios because it avoids the overhead of maintaining an active connection state.
When choosing a protocol, map your payload frequency against the protocol’s handshake energy cost. If the protocol requires a high "keep-alive" energy cost, it will drain your battery regardless of how little data you actually transmit.
Key Takeaway: Power efficiency in IoT is a trade-off between the energy cost of protocol overhead and the required range; always select the protocol where your necessary payload size minimizes time-on-air and connection maintenance.