You can use an external interrupt to wake up the ESP32 from deep sleep. There are two types of external wake-ups in the ESP32.

  • ext0: This is used when a single GPIO pin is being accessed.
  • ext1: This is used when several GPIO pins are being accessed e.g. through different push buttons.

Only Real-time clock or RTC input-output pins can be used as a wake up source and you need to make sure that during deep sleep the RTC peripherals are powered ON. So, you can only use the RTC GPIOs to trigger the ext0, ext1 external wake-up.

GPIO wakeup for ESP32-C3

Any IO can be used as the external input to wake up the chip from Light-sleep.

IOs that are powered by the VDD3P3_RTC power domain (see esp32-c3 datasheet “Pin Description” section) can be used to wake up the chip from Deep-sleep.

Digital GPIOs (GPIO6 ~ 21) are in a high impedance state in Deep-sleep mode.

We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.


Your email address will not be published. Required fields are marked *