Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Problems with accessing SD CARD on ESP32-S3-GEEK board #10161

Closed
@donkiejkong

Description

@donkiejkong

CircuitPython version and board name

Adafruit CircuitPython 9.2.4 on 2025-01-29; Waveshare ESP32-S3-GEEK with ESP32S3

Code/REPL

import os
import board
import sdioio
import storage
import bitbangio

CMD_PIN = 35
CLK_PIN = 36
D0_PIN  = 37
SD_SLOT_WIDTH = 1

# example 1
spi = bitbangio.SPI(board.GP36, board.GP35, board.GP37) # always fails
cs = digitalio.DigitalInOut(board.DAT3)
sd = adafruit_sdcard.SDCard(spi, cs) 

# example 2 (always fails)
sd = sdioio.SDCard(clock=board.GP36, command=board.GP35, data=[board.GP37], frequency=25000000)

# example 3 (alway fails)
spi = busio.SPI(board.SD_SCK, MOSI=board.SD_MOSI, MISO=board.SD_MISO) 

# the usual things
vfs = storage.VfsFat(sd)
storage.mount(vfs, '/sd')
os.listdir('/sd')

Behavior

the error is always the same:
Adafruit CircuitPython 9.2.4 on 2025-01-29; Waveshare ESP32-S3-GEEK with ESP32S3
Board ID:waveshare_esp32_s3_geek
UID:C34872620D8B
boot.py output:
Traceback (most recent call last):
File "boot.py", line 15, in
ValueError: GP36 in use # always same error for all of the examples

Description

Hello,

This is my device:
https://www.waveshare.com/wiki/ESP32-S3-GEEK

I've installed python circuit from here: https://circuitpython.org/board/waveshare_esp32_s3_geek/

I'm trying to port one of the examples from C to python:
https://github.com/user-attachments/files/19285971/waveshare_usb_msc_wireless_disk_example.zip

However I'm currently stuck trying to make the sd card working, this is my boot.py (i've tried multiple approaches):


import os
import board
import sdioio
import storage
import bitbangio

CMD_PIN = 35
CLK_PIN = 36
D0_PIN  = 37
SD_SLOT_WIDTH = 1

# example 1
spi = bitbangio.SPI(board.GP36, board.GP35, board.GP37) # always fails
cs = digitalio.DigitalInOut(board.DAT3)
sd = adafruit_sdcard.SDCard(spi, cs) 

# example 2 (always fails)
sd = sdioio.SDCard(clock=board.GP36, command=board.GP35, data=[board.GP37], frequency=25000000)

# example 3 (alway fails)
spi = busio.SPI(board.SD_SCK, MOSI=board.SD_MOSI, MISO=board.SD_MISO) 

# the usual things
vfs = storage.VfsFat(sd)
storage.mount(vfs, '/sd')
os.listdir('/sd')


the error is always the same:
Adafruit CircuitPython 9.2.4 on 2025-01-29; Waveshare ESP32-S3-GEEK with ESP32S3
Board ID:waveshare_esp32_s3_geek
UID:C34872620D8B
boot.py output:
Traceback (most recent call last):
File "boot.py", line 15, in
ValueError: GP36 in use

I want to use the SD card and make it visible to the operating system as mass storage device. (it works in the example in C). Anyway am i missing something here? why this error happens?

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions