← index #15260Issue #8489
Related · medium · value 2.420
QUERY · ISSUE

esp32.wake_on_ext0 not workingon esp32s2

openby kjm1102opened 2024-06-12updated 2024-09-01
bugdocs

Port, board and/or hardware

esp32 port, waveshare ESP32-S2-Pico

MicroPython version

MicroPython v1.23.0 on 2024-06-02; Generic ESP32S2 module with ESP32S2

Reproduction

import os,time,esp32
from machine import Pin,deepsleep

time.sleep(5)
pb=Pin(0, Pin.IN); esp32.wake_on_ext0(pb,0)
deepsleep(10*1000)

Expected behaviour

Loaded the file as main.py then reset the board. Expected s2 to either deepsleep for 10s or exit deepsleep when I press the button connected to gpio0.

Observed behaviour

The s2 exits deepsleep immediately after entering it. This can be verified with a usb ammeter in series with the usb powering the board. I did not include print commands because having a usb repl active often plays badly with deepsleep.

Additional Information

esp32.wake_on_ext0 works OK with deepsleep on an esp32 v1.23.0 so I figure the instant wakeup on the s2 is down to it being an s2.

Code of Conduct

Yes, I agree

CANDIDATE · ISSUE

S2/S3 RTC_VALID_EXT_PINS definitions

closedby stephanelsmithopened 2022-04-04updated 2022-04-14
port-esp32

Coming around back to this one https://github.com/micropython/micropython/issues/7607

On S2/S3 variants, GPIO0 through GPIO21 are valid RTC pins. In this example, asserting pin 5 should wake.


import esp32
import machine
from machine import Pin
o = Pin(5, Pin.IN, pull=Pin.PULL_DOWN)
esp32.wake_on_ext1(pins = (o,), level = esp32.WAKEUP_ANY_HIGH) #multi-pin

machine.deepsleep(10000)

I have a local fix, working on a pull request...

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied