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)