Files
esp-idf/examples/wifi/power_save

Supported Targets ESP32 ESP32-C2 ESP32-C3 ESP32-C5 ESP32-C6 ESP32-C61 ESP32-S2 ESP32-S3

Wifi Power Save Example

This example shows how to use power save mode of wifi.

Power save mode only works in station mode. If the modem sleep mode is enabled, station will switch between active and sleep state periodically after connecting to AP successfully. In sleep state, RF, PHY and BB are turned off in order to reduce power consumption. Station can keep connection with AP in modem sleep mode.

  • No power save: This is default mode. And the esp32 will work with full power.

  • Minimum modem sleep: In minimum modem sleep mode, station wakes up every DTIM to receive beacon. Broadcast data will not be lost because it is transmitted after DTIM. However, it can not save much more power if DTIM is short for DTIM is determined by AP.

  • Maximum modem sleep: In maximum modem sleep mode, station wakes up every listen interval to receive beacon. Broadcast data may be lost because station may be in sleep state at DTIM time. If listen interval is longer, more power is saved but broadcast data is more easy to lose.

  • others: not supported yet.

Note

It is recommended to use a development board with an external USB-UART chip to debug this example. If you're using the USB-Serial-JTAG port to view logs from this example, note that the internal USB peripheral will be disabled during light_sleep for power saving. This will result in:

  • Serial output interruption
  • Host-side errors like ClearCommError failed
  • Windows may show "Unknown USB device"
  • Even after wakeup, USB connection may not automatically recover

See: USB Serial/JTAG console sleep mode considerations

Typical current consumption with management enabled

current consumption with CONFIG_PM_ENABLE enabled

Typical current consumption with management disabled

current consumption with CONFIG_PM_ENABLE disabled

Note that current consumption and average current are higher when disabled.