{"id":82666,"date":"2025-03-04T12:12:08","date_gmt":"2025-03-04T17:12:08","guid":{"rendered":"https:\/\/www.engineersgarage.com\/?p=82666"},"modified":"2025-03-04T12:12:08","modified_gmt":"2025-03-04T17:12:08","slug":"how-to-wake-esp32-from-deep-sleep-using-ext1","status":"publish","type":"post","link":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/","title":{"rendered":"How to wake ESP32 from deep sleep using EXT1"},"content":{"rendered":"<p>In the previous project, we discussed how to wake ESP32 using EXT0. ESP32 supports five <a href=\"https:\/\/www.engineersgarage.com\/micropython-esp32-modem-light-deep-sleep-modes-timer-external-touch-wake-up\/\">power modes<\/a>: active, modem sleep, light sleep, deep sleep, and hibernation. For battery-powered or <a href=\"https:\/\/www.engineersgarage.com\/esp32-sd-card-emmc-filesystems\/\">Internet-of-Things<\/a> (IoT) applications, deep sleep mode is particularly useful.<\/p>\n<p>In this mode, the <a href=\"https:\/\/www.engineersgarage.com\/esp-now-esp32-communication-without-router-or-internet\/\">ESP32<\/a> powers down most components, including the CPU, flash memory, Wi-Fi, Bluetooth, and peripherals. It &#8220;wakes up&#8221; in response to specific <a href=\"https:\/\/www.engineersgarage.com\/esp32-sms-twilio-api\/\">triggers<\/a> such as a timer, touch, EXT0, EXT1, UART, or RTC. Deep sleep mode significantly conserves battery life and operates the controller only if needed.<\/p>\n<p>There are two ways to wake ESP32 from deep sleep using external signals: EXT0 and EXT1. We already demonstrated how to use EXT0, which allows the board to wake up via an external signal on a specific RTC GPIO. However, EXT0 is limited to a single &#8220;wake-up&#8221; source.<\/p>\n<p>In contrast, the EXT1 enables ESP32 to wake from multiple external sources and can even detect which GPIO triggered this. The board can then be programmed to execute different tasks based on the specific GPIO or external trigger source, such as a button press, sensor input, or any signal generating a defined falling or rising edge.<\/p>\n<p>In this project, we&#8217;ll demonstrate how to wake the ESP32 from deep sleep using EXT1 and detect which GPIO triggered it. Based on the trigger source, the board will execute different tasks. Specifically, we will configure two external wake-up sources: GPIO36 and GPIO39.<\/p>\n<ul>\n<li>If the GPIO36 triggers ESP32 to wake, the LED will blink twice.<\/li>\n<li>If the GPIO39 triggers ESP32 to wake, the LED will blink five times.<\/li>\n<\/ul>\n<p>While this example uses LED blinking for demonstration purposes, any task can be executed based on the external trigger. Additionally, specific console messages will be printed to the serial port for each trigger event.<\/p>\n<h3>Using EXT1<\/h3>\n<p>EXT1 lets ESP32 to wake up using multiple RTC GPIOs. While EXT0 uses the RTC input\/output to trigger waking, EXT1 uses the RTC controller instead. As a result, RTC peripherals and RTC memories need not be powered during the deep sleep.<\/p>\n<p>EXT1 also allows for multiple &#8220;wake-up&#8221; sources with different logic. Similar to EXT0, EXT1 only uses the RTC GPIOs. The available RTC GPIOs vary slightly between ESP32 chip revisions as follows:<\/p>\n<ul>\n<li>ESP32-S3: GPIOs 0-21<\/li>\n<li>ESP32: GPIOs 0, 2, 4, 12-15, 25-27, 32-39<\/li>\n<li>ESP32-S2: GPIOs 0-21<\/li>\n<\/ul>\n<p>To configure EXT1 on ESP32, the esp_sleep_enable_ext1_wakeup_io() function must be called. It has this prototype:<\/p>\n<p><span style=\"color: #800000;\"><strong>esp_sleep_enable_ext1_wakeup_io(bitmask, mode);<\/strong><\/span><\/p>\n<p>Where&#8230;<\/p>\n<p><strong>bitmask:<\/strong> this 64-bit integer represents the GPIO pins used to wake ESP32. Each bit within the bitmask corresponds to an RTC GPIO pin. If a bit is set (1), that pin is enabled for wake-up. If a bit is clear (0), that pin is disabled for the wake-up. Typically, bitwise operations like OR (|), AND (&amp;), and bit shifts (&lt;&lt;) are used to create the bitmask.<\/p>\n<p><strong>mode:<\/strong> specifies the logic that triggers the wake-up. There are two possible modes:<\/p>\n<ul>\n<li><span style=\"color: #800000;\"><strong>ESP_SLEEP_WAKEUP_ANY_HIGH:<\/strong><\/span> ESP32 will wake if any of the enabled GPIOs (those with a &#8216;1&#8217; in the bitmask) are HIGH. This is an &#8220;OR&#8221; condition.<\/li>\n<li><span style=\"color: #800000;\"><strong>ESP_SLEEP_WAKEUP_ALL_LOW:<\/strong><\/span> ESP32 will wake only if all of the enabled GPIOs (those with a &#8216;1&#8217; in the bitmask) are LOW simultaneously. This is an &#8220;AND&#8221; condition.<\/li>\n<\/ul>\n<p>For ESP32-S2, ESP32-S3, ESP32-C6, or ESP32-H2, the available modes are following.<\/p>\n<ul>\n<li><span style=\"color: #800000;\"><strong>ESP_EXT1_WAKEUP_ANY_LOW:<\/strong><\/span> ESP32 will wake if any of the enabled GPIOs (those with a &#8216;1&#8217; in the bitmask) are LOW.<\/li>\n<li><span style=\"color: #800000;\"><strong>ESP_EXT1_WAKEUP_ANY_HIGH:<\/strong><\/span> ESP32 will wake if any of the enabled GPIOs (those with a &#8216;1&#8217; in the bitmask) are HIGH.<\/li>\n<\/ul>\n<p>Like with EXT0, EXT1 can also use the RTC fast memory for data storage during deep sleep. This allows for storing data that must be preserved across sleep cycles and is extremely useful for keeping track of how many times ESP32 has woken up, storing sensor readings, and more.<\/p>\n<p>To store a variable in RTC memory, use the RTC_DATA_ATTR attribute. For example:<\/p>\n<p><span style=\"color: #800000;\"><strong>RTC_DATA_ATTR int bootCount = 0;<\/strong><\/span><\/p>\n<p>This declaration tells the compiler to place the bootCount variable into RTC memory. The value of the bootCount is retained even when ESP32 is in deep sleep. However, it&#8217;s important to note that the RTC memory is typically erased when ESP32 is powered down or reset.<\/p>\n<h3 data-start=\"0\" data-end=\"28\"><strong data-start=\"0\" data-end=\"26\">Using EXT1\u00a0<\/strong><\/h3>\n<p data-start=\"30\" data-end=\"305\">Now, let&#8217;s implement EXT1 to wake the ESP32. In this project, we&#8217;ll configure ESP32 so it detects a rising wake-up signal from two push buttons connected to the GPIO36 and GPIO39. Upon waking, the ESP32 will perform the following tasks before re-entering deep sleep:<\/p>\n<ol data-start=\"307\" data-end=\"682\" data-is-last-node=\"\" data-is-only-node=\"\">\n<li data-start=\"307\" data-end=\"346\">Update and display the boot count.<\/li>\n<li data-start=\"347\" data-end=\"397\">Identify and print the wake-up source (EXT1).<\/li>\n<li data-start=\"398\" data-end=\"503\">If GPIO36 triggered the wake-up, blink the LED twice and print specific messages to the serial port.<\/li>\n<li data-start=\"504\" data-end=\"614\">If GPIO39 triggered the wake-up, blink the LED five times and print specific messages to the serial port.<\/li>\n<li data-start=\"615\" data-end=\"682\" data-is-last-node=\"\">After completing the designated tasks, re-enter deep sleep mode.<\/li>\n<\/ol>\n<h3><strong>Components<\/strong><\/h3>\n<ol>\n<li>ESP32 x1<\/li>\n<li>Push button x2<\/li>\n<li>LED x1<\/li>\n<li>10K resistors x3<\/li>\n<li>Breadboard x1<\/li>\n<li>Jumper wires<\/li>\n<li>MicroUSB cable to connect ESP32 with your computer<\/li>\n<\/ol>\n<h3><strong>Circuit connections<\/strong><\/h3>\n<p>Begin by interfacing an LED with ESP32&#8217;s GPIO23. Connect an LED&#8217;s cathode to ESP32&#8217;s GPIO and its anode to the ground. You&#8217;ll note, it&#8217;s impossible to interface the LED to GPIO34, GPIO35, GPIO36, or GPIO39 as these pins cannot be configured as digital output on ESP32.<\/p>\n<p>So, we&#8217;ve interfaced an LED with ESP32&#8217;s GPIO23. Next, interface two pushbuttons, one at the GPIO36 and the other at the GPIO39 with an external pull-up. The circuit diagram is below.<\/p>\n<p><a href=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-82667\" src=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram.png\" alt=\"\" width=\"599\" height=\"654\" srcset=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram.png 828w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram-275x300.png 275w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram-768x838.png 768w, https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/P74-01-ESP32-EXT1-Wakeup-Circuit-Diagram-218x238.png 218w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/p>\n<h3><strong>The sketch<\/strong><\/h3>\n<p>After making circuit connections, upload the following sketch to ESP32.<\/p>\n<style>\n.gist-data{    height:250px; \/\/ Any height    overflow: auto;<br \/>}<\/style>\n<p><script src=\"https:\/\/gist.github.com\/Ajak58a\/6d4da7734963e4a3e5d90f983e7184e8.js\"><\/script><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/drive.google.com\/file\/d\/187CX70daFNuwnzbCNVL38y3IldpyBbPP\/preview\" width=\"640\" height=\"480\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous project, we discussed how to wake ESP32 using EXT0. ESP32 supports five power modes: active, modem sleep, light sleep, deep sleep, and hibernation. For battery-powered or Internet-of-Things (IoT) applications, deep sleep mode is particularly useful. In this mode, the ESP32 powers down most components, including the CPU, flash memory, Wi-Fi, Bluetooth, and&hellip;<\/p>\n","protected":false},"author":387,"featured_media":82670,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[13,1871],"tags":[4339,3337,4646,4645,42,4647,660,3463],"class_list":{"2":"type-post","17":"entry","18":"has-post-thumbnail"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.2 (Yoast SEO v25.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to wake ESP32 from deep sleep using EXT1<\/title>\n<meta name=\"description\" content=\"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to wake ESP32 from deep sleep using EXT1\" \/>\n<meta property=\"og:description\" content=\"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\" \/>\n<meta property=\"og:site_name\" content=\"Engineers Garage\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineersgarage\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil Agnihotri\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:site\" content=\"@EngineersGarage\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil Agnihotri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\"},\"author\":{\"name\":\"Nikhil Agnihotri\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6\"},\"headline\":\"How to wake ESP32 from deep sleep using EXT1\",\"datePublished\":\"2025-03-04T17:12:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\"},\"wordCount\":955,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png\",\"keywords\":[\"electronicproject\",\"ESP32\",\"ext0\",\"ext1\",\"led\",\"sleepmode\",\"video\",\"wakeup\"],\"articleSection\":[\"Electronic Projects\",\"Video\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\",\"url\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\",\"name\":\"How to wake ESP32 from deep sleep using EXT1\",\"isPartOf\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png\",\"datePublished\":\"2025-03-04T17:12:08+00:00\",\"description\":\"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png\",\"width\":800,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.engineersgarage.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to wake ESP32 from deep sleep using EXT1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.engineersgarage.com\/#website\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"name\":\"Engineers Garage\",\"description\":\"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News\",\"publisher\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.engineersgarage.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.engineersgarage.com\/#organization\",\"name\":\"Engineer's Garage - WTWH Media\",\"url\":\"https:\/\/www.engineersgarage.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"contentUrl\":\"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png\",\"width\":372,\"height\":52,\"caption\":\"Engineer's Garage - WTWH Media\"},\"image\":{\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/engineersgarage\",\"https:\/\/x.com\/EngineersGarage\",\"https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6\",\"name\":\"Nikhil Agnihotri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g\",\"caption\":\"Nikhil Agnihotri\"},\"url\":\"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to wake ESP32 from deep sleep using EXT1","description":"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/","og_locale":"en_US","og_type":"article","og_title":"How to wake ESP32 from deep sleep using EXT1","og_description":"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.","og_url":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/","og_site_name":"Engineers Garage","article_publisher":"https:\/\/www.facebook.com\/engineersgarage","og_image":[{"width":800,"height":500,"url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png","type":"image\/png"}],"author":"Nikhil Agnihotri","twitter_card":"summary_large_image","twitter_creator":"@EngineersGarage","twitter_site":"@EngineersGarage","twitter_misc":{"Written by":"Nikhil Agnihotri","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#article","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/"},"author":{"name":"Nikhil Agnihotri","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6"},"headline":"How to wake ESP32 from deep sleep using EXT1","datePublished":"2025-03-04T17:12:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/"},"wordCount":955,"commentCount":0,"publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"image":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png","keywords":["electronicproject","ESP32","ext0","ext1","led","sleepmode","video","wakeup"],"articleSection":["Electronic Projects","Video"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/","url":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/","name":"How to wake ESP32 from deep sleep using EXT1","isPartOf":{"@id":"https:\/\/www.engineersgarage.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage"},"image":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png","datePublished":"2025-03-04T17:12:08+00:00","description":"Learn how to wake ESP32 from deep sleep using external signals. Discover effective methods for power-saving applications.","breadcrumb":{"@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#primaryimage","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32.png","width":800,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.engineersgarage.com\/how-to-wake-esp32-from-deep-sleep-using-ext1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.engineersgarage.com\/"},{"@type":"ListItem","position":2,"name":"How to wake ESP32 from deep sleep using EXT1"}]},{"@type":"WebSite","@id":"https:\/\/www.engineersgarage.com\/#website","url":"https:\/\/www.engineersgarage.com\/","name":"Engineers Garage","description":"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News","publisher":{"@id":"https:\/\/www.engineersgarage.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.engineersgarage.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.engineersgarage.com\/#organization","name":"Engineer's Garage - WTWH Media","url":"https:\/\/www.engineersgarage.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","contentUrl":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2019\/08\/EGlogo.png","width":372,"height":52,"caption":"Engineer's Garage - WTWH Media"},"image":{"@id":"https:\/\/www.engineersgarage.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/engineersgarage","https:\/\/x.com\/EngineersGarage","https:\/\/www.youtube.com\/channel\/UC0VITh11JSYk-UW7toLebUw"]},{"@type":"Person","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/3c71105e3b40a1fd12c79c15602914b6","name":"Nikhil Agnihotri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.engineersgarage.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d26b31563fa36169891c8c7d312e9b33de8a0e3da1340ec14ef2de84d5c43497?s=96&r=g","caption":"Nikhil Agnihotri"},"url":"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/"}]}},"featured_image_src":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32-600x400.png","featured_image_src_square":"https:\/\/www.engineersgarage.com\/wp-content\/uploads\/2025\/02\/ROTATOR-ESP32-600x500.png","author_info":{"display_name":"Nikhil Agnihotri","author_link":"https:\/\/www.engineersgarage.com\/author\/nikhil-agnihotri\/"},"_links":{"self":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/82666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/users\/387"}],"replies":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/comments?post=82666"}],"version-history":[{"count":0,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/posts\/82666\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media\/82670"}],"wp:attachment":[{"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/media?parent=82666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/categories?post=82666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.engineersgarage.com\/wp-json\/wp\/v2\/tags?post=82666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}