Comment by LeifCarrotson

Comment by LeifCarrotson a day ago

0 replies

An ESP32 is a power hog meant to be plugged into a wall. Here are the current requirements for the various modes according to [1]:

    Active mode, 260mA to 790 mA (!)  
    Modem sleep, 20mA  
    Light sleep: 0.8 mA  
    Deep sleep: 10 uA  
    Hibernate: 2.5 uA  
Even with fancy DTIM beacons, Wifi and Bluetooth IoT devices just have a really power-hungry protocol stack and radio system to run.

Compare that to something like an STM32U5 microcontroller [2]:

    3.1 mA Run mode at 160 MHz
    19.5 μA/MHz Run mode at 3.3 V
    6.6 µA stop 2 mode with full SRAM
    1.7 μA stop 3 mode with 16 Kbyte SRAM
    0.5 uA standby mode with RTC
    0.3 uA standby mode (24 wakeup pins)
    0.1 uA shutdown mode (24 wakeup pins)
And probably more importantly, an actual low-power microcontroller can wake from sleep in something like 4 microseconds, do something for a few cycles, and go back to sleep. Pager protocols are designed for this, putting the pager to sleep for sometimes an hour, and the crystal oscillator restarts the battery-powered device moments before the frame arrives, then goes back to sleep. Conversely, booting up the whole protocol stack on the ESP32 and acquiring a connection can take literally 4 seconds.

That results in a power consumption ratio on the order of 100,000,000. ESP32s are not efficient.

[1]: https://lastminuteengineers.com/esp32-sleep-modes-power-cons...

[2]: https://www.st.com/en/microcontrollers-microprocessors/stm32...