micropython / micropython/micropython-lib

Raspberry Pi Pico and SD Card module

Open
#731 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2.9k
Forks
1.1k
Avg merge
7d 6h
Merged PRs (30d)
3

Description

Hi there,

I've been trying really hard to sort out this error with wiring and looking at other forums but just cannot work it out.

This is the error message I get when using sdcard.py:
Traceback (most recent call last):
File "", line 19, in
File "sdcard.py", line 231, in readblocks
OSError: [Errno 5] EIO

And this is the code I am calling it from:
import machine
import sdcard, uos
import time

cs = machine.Pin(13, machine.Pin.OUT)

Intialize SPI peripheral (start with 1 MHz)

spi = machine.SPI(1,
baudrate=1000000,
polarity=0,
phase=0,
bits=8,
firstbit=machine.SPI.MSB,
sck=machine.Pin(14),
mosi=machine.Pin(15),
miso=machine.Pin(12))
sd = sdcard.SDCard(spi, cs)
time.sleep_ms(500)
vfs = uos.VfsFat(sd)
uos.mount(vfs, "/sd")
#uos.mount(sd, '/sd')
time.sleep_ms(500)
print(uos.listdir('/sd'))

If anyone could help that would be appreciated!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied SPI setup and sdcard.py, especially readblocks at line 231, then reproduce the EIO error using the provided Raspberry Pi Pico code. Done means identifying the wiring or initialization cause and confirming that mounting and listing /sd work without the error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, raspberry-pi
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.