esp8266 / esp8266/Arduino

ESP8266 NodeMCU SD Card Not Initializing

Open
#9,156 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
13.1k
PR merge metrics
No merged PRs in 30d

Description

I have tried numerous tutorials, Arduino examples and I cant get an SD to initialize. There is a card inserted that is formatted with exFAT and there is one file test.txt. Particularly [SD Card Module With ESP8266][1] and [ESP8266 (NodeMCU) and SD Cards][2].

I'm using this SD card module, [Micro SD SDHC TF Card Adapter Reader Module with SPI Interface Level Conversion Chip Compatible with Arduino Raspberry PI 10pcs][3]. I soldiered the pin connector to the SD card so it would easily set in the breadboard.

Here are a few pics of my breadboard setup:

[![Breadboard setup#1][4]][4]

[![Breadboard setup#2][5]][5]

[![Breadboard setup#3][6]][6]

void SDsetup()
{
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);

File Textfile;
Serial.begin(9600);
Serial.println("Initializing SD card");

if (!SD.begin(15)) {
Serial.println("Initialization failed!");
return;
}

Serial.println("Initialization completed");
Textfile = SD.open("test.txt", FILE_WRITE);

if (Textfile) {
Serial.println("Writing to Textfile...");
Textfile.println("First line");
Textfile.println("1, 2, 3, 4, 5");
Textfile.println("a, b, c, d, e");
Textfile.println();
Textfile.close();
Serial.println("Completed");
Serial.println();
}
else {
Serial.println("Text file could not be read");
}

// READ TEXTFILE
Textfile = SD.open("test.txt");
if (Textfile) {
Serial.println("test.txt:");
while (Textfile.available()) {
Serial.write(Textfile.read());
}
Textfile.close();
}
else {
Serial.println("Text file could not be opened");
}
}

The serial output:

```none
smart setup
Initializing SD card
Initialization failed!
smart loop
```

[1]: https://www.instructables.com/SD-Card-Module-With-ESP8266/
[2]: https://pawitp.medium.com/esp8266-nodemcu-and-sd-cards-55e0d073d959
[3]: https://www.amazon.com/dp/B0989SM146
[4]: https://i.sstatic.net/kEew5i5b.jpg "Breadboard setup#1"
[5]: https://i.sstatic.net/CbGObifr.jpg "Breadboard setup#2"
[6]: https://i.sstatic.net/TQd4BrJj.jpg "Breadboard setup#3"

I found this https://arduino-esp8266.readthedocs.io/en/latest/filesystem.html#file-system-object-spiffs-littlefs-sd-sdfs and surprisingly SPIFFS sort of worked. It initialized but had problems with read/write.

File Textfile;
Serial.begin(9600);
Serial.println("Initializing SD card");

if (SPIFFS.begin()) {
Serial.println("Siffs success");
Textfile = SPIFFS.open("test.txt", "w");
if (Textfile) {
Serial.write(Textfile.read());
Serial.println("Writing to Textfile...");
Textfile.println("First line");
Textfile.println("1, 2, 3, 4, 5");
Textfile.println("a, b, c, d, e");
Textfile.println();
Textfile.close();
Serial.println("Completed");
Serial.println();
Serial.write(Textfile.read());
}
}
else {
Serial.println("Text file could not be read");
}
if (!SD.begin(15)) {
Serial.println("Initialization failed!");
return;
}

The above code produced the below log:

> Initializing SD card

> Siffs success

> �Writing to Textfile...

> Completed

>

> �Initialization failed!

Why cant I get either one to work properly? What am I missing?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.