ESP 32 Devkit C Power usage and reduction
ESP32 Real world power use.
The specification for the ESP32 WROOM that is included on the ESP32 DevkitC are :
Worst case scenario Active WiFi
802.11b WiFi TX 345mA
802.11n WiFi TX 280mA
RX mode are all around 83mA
For the processor:
@160 MHz 20mA
@80 MHz 15mA
To measure real world power usage I am using a USB power meter from Amazon. Ruideng shows on the screen when it first loads and it seems accurate enough for this test.
When programming via USB ~ 300mA
Plugging in an ESP32 Devkit C with the default code shows 125mA.
TimerWakeUp / Deep Sleep sketch in Arduino IDE
10mA This is with a serial connection open !
Without serial connection open from PC the power consumption drops to ~3mA I only realised this by chance and a lot of online sources state ~10mA
BLE server example sketch
56 - 57mA
BLE Beacon Scanner example sketch
125mA
Taking these readings into account it seems that 3mA while in deep sleep is as good as the ESP32 DevkitC is going to get. It is also significantly lower than the BLE server reading of 50mA. As I am using the ESP32 to monitor temperature / humidity and it will be running off battery and solar charger the 47mA difference is quite a lot.
To enter deep sleep first define a wakeup timer and time. The example code below is commented well and is self explanatory.
#define uS_TO_S_FACTOR 1000000ULL // Conversion factor for micro seconds to seconds
#define TIME_TO_SLEEP 600 // Time ESP32 will go to sleep (in seconds) 600 = 10 minutes
esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
esp_deep_sleep_start();
Comments
Post a Comment