Skip to content

Boot time regression from 9.2.x to 10 when exiting deep sleep (esp32-s3) #10934

@mlupo

Description

@mlupo

CircuitPython version and board name

Adafruit CircuitPython 10.1.4 on 2025-04-01; Adafruit QT Py ESP32-S3 no psram with ESP32S3

Code/REPL

# sleep is initiated with:
pin_alarm = alarm.pin.PinAlarm(pin=TX, value=False, pull=True)
alarm.exit_and_deep_sleep_until_alarms(pin_alarm)

Behavior

With Adafruit CircuitPython 9.2.7 on the adafruit_qtpy_esp32s3_nopsram, when exiting deepsleep from a pin alarm the boot time is about 450ms, while the 10.x series takes about 1.5 seconds to enter code.py.

With the same code.py, this was measured from a button press to turning on a high-power led, while using the handy nrf power profiler.

Here is the measured boot time from the 9.x series:
Image

And, measured with the 10.x series (same with newest and 10.1.4):
Image

During the longer boot time the status LED on the board blinks blue on and off, while with the 9.x the LED does not blink at all when returning from sleep, as expected.

Description

No response

Additional information

I did try to compile the CircuitPython source with less time spent in safemode.c, but it didn't seem to have much effect, and I quickly found myself out of my depth.

Thanks so much!!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions