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

Popular posts from this blog

Intro and Welcome

Exchange 2013 Event ID:15021, OWA blank screen

ScreenGrab