Power Usage Comparison of Communication Protocols on the ESP32: Wi-Fi, Zigbee, and ESP NOW
Introduction:
In the realm of IoT devices, maximizing battery life is paramount. Choosing the right communication protocol can significantly impact power consumption. In this article, I present a comparative analysis of Wi-Fi, Zigbee, and ESP NOW on the ESP32 microcontroller, focusing on their power usage characteristics. My goal is to provide insights into optimizing communication protocols for battery-powered, low-power devices.
Experimental Setup:
I conducted experiments to measure the average current consumption (in microamps) using a PPK2 from Nordic Semiconductor. My test device consisted of an ESP32 C6 development board with a BME680 temperature sensor attached to it. In the experiment, the ESP32 slept for 5 minutes in deep or light sleep mode before waking to send sensor readings to the network. This cycle repeated continuously while I measured the average current usage over extended periods.
Results and Analysis:
Wi-Fi: Despite offering high data transfer rates, Wi-Fi consumption tends to be higher compared to other protocols. My experiments revealed an average current consumption of around 600 microamps. The reason for the increased current is mainly the approximately 2 to 3 seconds it takes for the device to reconnect to the Wi-Fi network after a deep sleep period, even with static IP and DHCP turned off.