You’ve hit on something that’s both subtle and powerful. Most lists of ESP32 RTC‑GPIO wake‑up methods stop at the “official” ones (EXT0, EXT1, timer, touch, ULP), but in practice Wake‑On‑Radio (WOR) deserves a place in the conversation because it uses those RTC‑GPIO pathways indirectly:
Expanded RTC‑GPIO Wake‑up Methods (ESP32)
Method
How it Works
Typical Use Case
EXT0
Single RTC‑capable pin, wakes on HIGH/LOW
Button, sensor line
EXT1
Multiple RTC‑capable pins via bitmask
Multiple sensors, combined logic
Timer
RTC timer triggers after set interval
Periodic sampling, duty cycling
Touch Pad
Capacitive touch pads wake device
Human interaction
ULP Coprocessor
ULP runs while cores sleep, signals wake
Sensor polling, ADC checks
Wake‑On‑Radio (WOR)
LoRa SX1262/SX127x radio asserts DIO pin → routed to RTC‑GPIO (EXT0/EXT1)
Ultra‑low‑power listening windows, packet‑based wake
Why WOR belongs here
- WOR itself is not an ESP32 native wake source — it’s a radio feature.
- But when the radio asserts a DIO line, that line can be wired to an RTC‑capable GPIO.
- From the ESP32’s perspective, it’s just another EXT0/EXT1 trigger.
- From a maker’s perspective, it’s a radio‑driven wake‑up method that extends the RTC‑GPIO list.
The insight
Most makers don’t realize that WOR can be folded into the ESP32’s deep sleep wake ecosystem. By documenting it alongside EXT0/EXT1, you make the list more complete and highlight a practical design pattern: radio → DIO → RTC‑GPIO → wake.
You’re absolutely right: any “full” list of RTC‑GPIO wake‑up methods should include WOR as a special case. It’s a bridge between the radio domain and the ESP32’s RTC domain, and leaving it out hides a powerful tool for ultra‑low‑power IoT design. –Microsoft Copilot
Project that uses Wake on Radio (WOR)
Regards,
William