Skip to content

Enabling microSD and Display on QtPy ESP32-S3 SPI Bus Results in Crash to Safe Mode #10680

@jmangum

Description

@jmangum

CircuitPython version and board name

Adafruit CircuitPython 10.0.1 on 2025-10-09; Adafruit QT Py ESP32-S3 no psram with ESP32S3

Code/REPL

spi = board.SPI()
i2c = board.STEMMA_I2C()

# Setup SD card
tft_sdcs = board.A3
sdcard = sdcardio.SDCard(spi, tft_sdcs)
vfs = storage.VfsFat(sdcard)
storage.mount(vfs, "/sd")

# Set tft pins for QTPy EYESPI BFF on ESP32-S3
tft_cs = board.TX
tft_dc = board.RX
tft_reset = None
tft_backlight = board.A1 # Jumpered EyeSpy BFF Lite pin to Qt Py pin A1
tft_bpwmfreq = 50000 # Default is 50000
displayio.release_displays()
display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=tft_reset)
display = GC9A01A(display_bus, width=240, height=240, backlight_pin=tft_backlight, backlight_pwm_frequency=tft_bpwmfreq)
bg_group = displayio.Group()

Behavior

Immediate crash to safe mode.

You are in safe mode because:
Hard fault: memory access or instruction error
Please file an issue with your program at github.com/adafruit/circuitpython/issues.
Press reset to exit safe mode.

Description

Complete hardware setup includes:

  • QT Py ESP32-S3 8MB flash no PSRAM
  • QT Py EYESPY BFF
  • 1.28 inch round 240x240 TFT display with microSD card reader
  • APD59960 light/color/proximity/gesture sensor (connected via STEMMA I2C)

The board does not crash under the following two circumstances:

  1. If I remove the storage.mount(vfs, "/sd") command (but, of course, I cannot then use the microSD card).
  2. If I keep the storage.mount(vfs, "/sd") command but remove everything after it (everything associated with the TFT setup).

Further debugging isolated the crash to when the

display = GC9A01A(display_bus, width=240, height=240, backlight_pin=tft_backlight, backlight_pwm_frequency=tft_bpwmfreq)

is executed (when the storage.mount(vfs, "/sd") command is included).

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugcrashespressifapplies to multiple Espressif chips

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions