ESP32 low-power topic

Topic for ESP32 low-power and ESP32 low-power development boards

These boards can either have onboard LoRa support or not.

The ESP32 is popular in the IoT and maker communities for its connectivity, versatility and accessibility. Thanks to its Arduino support it is usable for a wide audience.

The ESP32 is not one of the most power-efficient MCU’s (especially when WiFi is used) and may not be the first choice for low-power battery powered applications, but it is used on several popular LoRa development boards.

It is possible to use the ESP32 for low-power applications (it even has a special low-power coprocessor). Unfortunately most of the current popular ESP32 (LoRa and non-LoRa) development boards are not designed for low-power operation and are not battery friendly (the board design however is not something that the ESP32 MCU should be blamed for).

In practice it is (still) difficult to get an ESP32 board that is designed for low-power applications. The purpose of this topic is to collect and provide a source of information for ESP32 low-power applications and ESP32 low-power development boards.

Information for this topic can be (links to) articles, applications (repositories), tips to minimize power usage with ESP32 (boards) and information about available ESP-32 low-power boards. Maybe this can make the ESP32 a bit more attractive for DIY LoRaWAN projects.

ESP32 specifications:

  • WiFi support (which has contributed much to the popularity of the ESP32)
  • Bluetooth (BT) support
  • Dual core 32-bit microprocessor operating at 160 or 240 MHz which
    can be lowered to as low as 10 MHz to save power (80 MHz if WiFi or BT are needed)
    (some versions like the ESP32-S2 and the ESP32-Cx models have a single core)
  • Ultra low power (ULP) co-processor
  • Memory: 520 KiB SRAM, 448 KiB ROM
  • Flash memory (external) commonly 4 MB up to 16 MB
  • Some modules/boards increase RAM (PSRAM) up to 8 MB
  • 34× programmable GPIOs
  • 12-bit SAR ADC up to 18 channels
  • 2× 8-bit DACs
  • 10× touch sensors (capacitive sensing GPIOs)
  • 4× SPI, 2× I²C, 2× I²S, 3× UART serial interfaces
  • PWM up to 16 channels
  • SD/SDIO/CE-ATA/MMC/eMMC host controller, SDIO/SPI slave controller
  • Cryptographic hardware acceleration
  • 5 μA deep sleep current
  • Wake up from GPIO interrupt, timer, ADC measurements, capacitive touch sensor interrupt
  • Espressif SDK includes RTOS support (also usable for Arduino)
4 Likes

In order to test the low-power performance of the esp32 I had to acquire a few boards and I didn’t really like any of them.

ESP32 Power consumption test

1 Like

The module has been designed to be used in Sleep mode without excessive current draw. I read 9uA when powering from the Vin and Gnd pins.with the processor in deep sleep mode.

The module has been designed to be used in Sleep mode without excessive current draw. I read 12uA when powering from the Vin and Gnd pins.with the processor in deep sleep mode.

The module has been designed to be used in Sleep mode without excessive current draw. I read 12uA when powering from the Vin and Gnd pins.with the processor in deep sleep mode.

The module has been designed to be used in Sleep mode without excessive current draw. I read 12uA when powering from the Vin and Gnd pins with the processor in deep sleep mode.

Guide to Reduce the ESP32 Power Consumption by 95%

ESP32@10MHz uses 8mA

ESP32 Tips to increase battery life

  • 25-35uA in deep sleep
  • VIN: 3.3 – 12V
  • ESP32-WROVER-B
  • 8MB PSRAM
  • 8MB Flash

ESP32 Deep Sleep with Arduino IDE and Wake Up Sources

1 Like

https://kudzu.gr/solutions/kudzu-iot/#sprout-mainboard

From Europe (Greece).

  • Stable operation with as low as 2V input voltage
  • Ultra low sleep power consumption (5μΑ / 10μΑ / 150μΑ according to configuration)
  • Integrates a LiPo Charger and a Fuel Gauge to monitor the internal battery
  • Data logging on SD-Card or F-RAM for more demanding solutions
  • LoRa (868Mhz)