ESP32 C3 Super Mini - SD-Karte

Erfahren Sie, wie Sie eine Micro-SD-Karte mit Ihrem ESP32 C3 Super Mini verwenden, um Daten für Ihre IoT-Projekte zu speichern und abzurufen. Dieses Tutorial behandelt alles von der Verdrahtung des SD-Kartenmoduls bis zum Lesen, Schreiben und Verwalten von Dateien.

In dieser Anleitung lernen Sie:

ESP32 C3 Super Mini - SD-Karte

Erforderliche Hardware

1×ESP32 C3 Super Mini
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Micro-SD-Karte
1×Micro-SD-Karten-Modul
1×Verbindungskabel
1×Breadboard
1×(Optional) MicroSD-zu-SD-Speicherkarten-Adapter

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Überblick über Micro SD Card Module

Das Micro-SD-Kartenmodul ist eine Schnittstellenplatine, mit der der ESP32 C3 Super Mini über SPI-Kommunikation Daten auf eine Micro-SD-Karte schreiben und von ihr lesen kann.

Hauptmerkmale und technische Daten:

  • Verwendet das SPI-Kommunikationsprotokoll für die Datenübertragung
  • Unterstützt Micro-SD-Karten, die mit FAT16 oder FAT32 formatiert sind
  • Betriebsspannung: 3,3V bis 5V
  • Dient als Brücke zwischen dem ESP32 C3 Super Mini und dem Speichermedium
  • Ideal für Datenlogger-Projekte und das Speichern von Sensorwerten
  • Einsteigerfreundlich mit unkomplizierter Verdrahtung

Warum es verwenden:

  • Fügen Sie Ihren ESP32-Projekten erweiterbaren Speicher hinzu
  • Protokollieren Sie Sensordaten über längere Zeiträume
  • Speichern Sie Konfigurationsdateien oder Webinhalte
  • Ideal für eigenständige IoT-Anwendungen

Pinbelegung

Das Micro-SD-Kartenmodul verwendet für die Kommunikation eine 6-polige SPI-Schnittstelle.

Pinbelegung des Micro-SD-Kartenmoduls

Pin-Verbindungen:

  • VCC: Zur Stromversorgung mit dem 5V-Pin des ESP32 C3 Super Mini verbinden
  • GND: Mit dem Masse-Pin des ESP32 C3 Super Mini verbinden
  • MISO: Master In Slave Out - wird mit dem MISO-Pin des ESP32 verbunden, für Daten von der SD-Karte
  • MOSI: Master Out Slave In - wird mit dem MOSI-Pin des ESP32 verbunden, für Daten zur SD-Karte
  • SCK: Serieller Takt - wird mit dem SCK-Pin des ESP32 zur Zeitsynchronisation verbunden
  • SS: Slave Select - wird mit einem beliebigen, in Ihrem Code definierten digitalen Pin verbunden (typischerweise CS-Pin)

Vorbereitung

Bereiten Sie Ihre Micro-SD-Karte vor dem Start richtig vor:

  • Stecken Sie die Micro-SD-Karte in einen USB-3.0-SD-Kartenleser
  • Verbinden Sie den Leser mit Ihrem PC
  • Formatieren Sie die Micro-SD-Karte als FAT16 oder FAT32 (suchen Sie online nach einer Anleitung zum Formatieren)
  • Werfen Sie die Karte nach dem Formatieren sicher aus
  • Stecken Sie die formatierte Karte in das Micro-SD-Kartenmodul

Verdrahtungsdiagramm

Verbinden Sie Ihren ESP32 C3 Super Mini gemäß dem folgenden Diagramm mit dem Micro-SD-Kartenmodul.

ESP32 C3 Super Mini Micro-SD-Kartenmodul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verdrahtung:

Micro-SD-Modul-Pin ESP32 C3 Super Mini Pin
VCC 5V
GND GND
MISO GPIO5 (MISO)
MOSI GPIO6 (MOSI)
SCK GPIO4 (SCK)
SS GPIO7 (CS)

Sicherheitshinweise:

  • Prüfen Sie alle Verbindungen doppelt, bevor Sie einschalten
  • Stellen Sie sicher, dass die SD-Karte richtig eingesetzt ist, bevor Sie den Code ausführen
  • Verwenden Sie eine hochwertige SD-Karte, um Lese-/Schreibfehler zu vermeiden

ESP32 C3 Super Mini - Wie man eine Datei auf der Micro-SD-Karte öffnet und erstellt, falls sie nicht existiert

Code-Übersicht

Dieses Beispiel zeigt, wie Sie die SD-Karte initialisieren und eine Datei öffnen, die automatisch erstellt wird, falls sie nicht existiert.

Was dieser Code macht:

  • Initialisiert das SD-Kartenmodul über SPI-Kommunikation
  • Prüft, ob eine Datei namens "esp32.txt" auf der Karte existiert
  • Erstellt die Datei automatisch, wenn sie nicht gefunden wird
  • Meldet den Dateistatus im seriellen Monitor
  • Zeigt grundlegende Operationen des SD-Karten-Dateisystems

ESP32 C3 Super Mini Code

/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The ESP32 C3 SuperMini pin connected to the CS pin of SD card module File myFile; void setup() { Serial.begin(115200); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); if (!SD.exists("/esp32.txt")) { Serial.println(F("esp32.txt doesn't exist. Creating esp32.txt file...")); // create a new file by opening a new file and immediately close it myFile = SD.open("/esp32.txt", FILE_WRITE); myFile.close(); } // recheck if file is created or not if (SD.exists("/esp32.txt")) Serial.println(F("esp32.txt exists on SD Card.")); else Serial.println(F("esp32.txt doesn't exist on SD Card.")); } void loop() { }

Schnelle Schritte

  • Neu beim ESP32 C3 Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
  • SD-Karte vorbereiten: Stecken Sie die formatierte Micro-SD-Karte in das SD-Kartenmodul
  • Schaltung verdrahten: Verbinden Sie das Micro-SD-Kartenmodul gemäß dem obigen Schaltplan mit dem ESP32 C3 Super Mini
  • ESP32 anschließen: Verbinden Sie den ESP32 C3 Super Mini mit dem USB-Typ-C-Kabel mit Ihrem PC
  • Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer
  • Board auswählen: Wählen Sie ESP32 C3 Super Mini im Board-Menü
  • Port auswählen: Wählen Sie den richtigen COM-Port für Ihren ESP32
  • Seriellen Monitor öffnen: Öffnen Sie den seriellen Monitor vor dem Hochladen (Werkzeuge > Serieller Monitor)
  • Code kopieren: Kopieren Sie den oben bereitgestellten Code
  • Code einfügen: Fügen Sie ihn in einen neuen Arduino IDE Sketch ein
  • Hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code auf Ihren ESP32 C3 Super Mini zu flashen
  • Ergebnisse ansehen: Prüfen Sie im seriellen Monitor den Status der Dateierstellung
  • Profi-Tipp: Öffnen Sie den seriellen Monitor immer vor dem Hochladen, um alle Initialisierungsmeldungen des ersten Durchlaufs zu sehen

Ausgabe im seriellen Monitor

Erster Durchlauf (Datei existiert noch nicht):

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 10:23:45] SD CARD INITIALIZED. [2026-04-15 10:23:46] esp32.txt doesn't exist. Creating esp32.txt file... [2026-04-15 10:23:46] esp32.txt exists on SD Card.
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Weitere Durchläufe (Datei existiert bereits):

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 10:25:12] SD CARD INITIALIZED. [2026-04-15 10:25:12] esp32.txt exists on SD Card.
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ Notiz:

Möglicherweise sehen Sie die Ausgabe des ersten Durchlaufs im seriellen Monitor NICHT, wenn Ihr erster Upload abgeschlossen ist, bevor der serielle Monitor geöffnet wird.

Am PC überprüfen:

  • Entfernen Sie die Micro-SD-Karte aus dem Modul
  • Stecken Sie sie in Ihren USB-SD-Kartenleser
  • Verbinden Sie den Leser mit Ihrem PC
  • Öffnen Sie den Ordner der SD-Karte und prüfen Sie, ob die Datei esp32.txt erstellt wurde

ESP32 C3 Super Mini - Wie man Daten in eine Datei auf der Micro-SD-Karte schreibt bzw. aus ihr liest

Code-Übersicht

Dieses Beispiel zeigt, wie Sie Textdaten in eine Datei schreiben und sie Zeichen für Zeichen wieder auslesen.

Was dieser Code macht:

  • Öffnet oder erstellt eine Datei auf der SD-Karte
  • Schreibt zwei Textzeilen in die Datei
  • Liest den gesamten Dateiinhalt Zeichen für Zeichen
  • Zeigt den Dateiinhalt im seriellen Monitor an
  • Zeigt grundlegende Datei-Ein-/Ausgabeoperationen mit dem ESP32 C3 Super Mini
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The ESP32 C3 SuperMini pin connected to the CS pin of SD card module File myFile; void setup() { Serial.begin(115200); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); // open file for writing myFile = SD.open("/esp32.txt", FILE_WRITE); if (myFile) { myFile.println("Created by esp32io.com"); // write a line to esp32.txt myFile.println("Learn ESP32 and SD Card"); // write another line to esp32.txt myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Ausgabe im seriellen Monitor

Erwartete Ausgabe:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 11:30:22] SD CARD INITIALIZED. [2026-04-15 11:30:22] Created by newbiely.com [2026-04-15 11:30:22] Learn ESP32 C3 Super Mini and SD Card
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ Notiz:

Die Daten werden standardmäßig an das Dateiende angehängt. Wenn Sie den ESP32 C3 Super Mini mit dem obigen Code neu starten, wird der Text erneut an die Datei angehängt ⇒ der serielle Monitor zeigt dann weitere Zeilen wie folgt:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 11:32:45] SD CARD INITIALIZED. [2026-04-15 11:32:45] Created by newbiely.com [2026-04-15 11:32:45] Learn ESP32 C3 Super Mini and SD Card [2026-04-15 11:32:45] Created by newbiely.com [2026-04-15 11:32:45] Learn ESP32 C3 Super Mini and SD Card
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Datei überprüfen:

  • Entfernen Sie die Micro-SD-Karte sicher aus dem Modul
  • Stecken Sie sie in Ihren USB-SD-Kartenleser
  • Verbinden Sie ihn mit Ihrem PC und öffnen Sie die Datei, um ihren Inhalt anzusehen

ESP32 C3 Super Mini - Wie man eine Datei auf der Micro-SD-Karte Zeile für Zeile liest

Code-Übersicht

Dieses Beispiel zeigt, wie Sie Dateiinhalte für eine bessere Datenorganisation Zeile für Zeile statt Zeichen für Zeichen lesen.

Was dieser Code macht:

  • Öffnet eine vorhandene Datei auf der SD-Karte
  • Liest die Datei mit readStringUntil() Zeile für Zeile
  • Nummeriert jede Zeile zur einfachen Nachverfolgung
  • Zeigt eine formatierte Ausgabe im seriellen Monitor an
  • Nützlich zum Lesen strukturierter Daten oder Protokolle
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The ESP32 C3 SuperMini pin connected to the CS pin of SD card module File myFile; void setup() { Serial.begin(115200); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); // open file for writing myFile = SD.open("/esp32.txt", FILE_WRITE); if (myFile) { myFile.println("Created by esp32io.com"); // write a line to esp32.txt myFile.println("Learn ESP32 and SD Card"); // write another line to esp32.txt myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.txt", FILE_READ); if (myFile) { int line_count = 0; while (myFile.available()) { char line[100]; // maximum is 100 characters, change it if needed int line_length = myFile.readBytesUntil('\n', line, 100); // read line-by-line from Micro SD Card line_count++; Serial.print(F("Line ")); Serial.print(line_count); Serial.print(F(": ")); Serial.write(line, line_length); // print the character to Serial Monitor // \n character is escaped by readBytesUntil function Serial.write('\n'); // print a new line charactor } myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Ausgabe im seriellen Monitor

Erwartete Ausgabe:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 14:15:33] SD CARD INITIALIZED. [2026-04-15 14:15:33] Line 1: Created by newbiely.com [2026-04-15 14:15:33] Line 2: Learn ESP32 C3 Super Mini and SD Card
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ Notiz:

Möglicherweise sehen Sie mehr Zeilen im seriellen Monitor, wenn der Inhalt der Datei zuvor nicht gelöscht wurde.

ESP32 C3 Super Mini - Wie man eine Datei auf der Micro-SD-Karte überschreibt

Code-Übersicht

Erfahren Sie, wie Sie Dateiinhalte ersetzen, statt sie anzuhängen.

Was dieser Code macht:

  • Löscht die vorhandene Datei, falls sie existiert
  • Erstellt eine neue Datei mit demselben Namen
  • Schreibt neuen Inhalt in die Datei
  • Sorgt für saubere Daten ohne alte angehängte Inhalte
  • Zeigt die Technik zum Ersetzen von Dateien mit dem ESP32 C3 Super Mini

Standardmäßig wird der Inhalt an das Dateiende angehängt. Der einfachste Weg, eine Datei zu überschreiben, ist: die vorhandene Datei löschen und eine neue mit demselben Namen erstellen.

/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The ESP32 C3 SuperMini pin connected to the CS pin of SD card module File myFile; void setup() { Serial.begin(115200); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); SD.remove("/esp32.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("/esp32.txt", FILE_WRITE); if (myFile) { myFile.println("Created by esp32io.com"); // write a line to esp32.txt myFile.println("Learn ESP32 and SD Card"); // write another line to esp32.txt myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Ausgabe im seriellen Monitor

Erwartete Ausgabe:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-04-15 16:42:18] SD CARD INITIALIZED. [2026-04-15 16:42:18] Created by newbiely.com [2026-04-15 16:42:18] Learn ESP32 C3 Super Mini and SD Card
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Überschreiben testen:

  • Drücken Sie die Reset-Taste an Ihrem ESP32 C3 Super Mini
  • Prüfen Sie die Ausgabe im seriellen Monitor
  • Stellen Sie sicher, dass der Inhalt NICHT doppelt vorhanden ist
  • Die Datei sollte nur einen Satz Zeilen enthalten

Am PC überprüfen:

  • Entfernen Sie die Micro-SD-Karte aus dem Modul
  • Stecken Sie sie in Ihren USB-SD-Kartenleser
  • Verbinden Sie ihn mit Ihrem PC und öffnen Sie die Datei
  • Bestätigen Sie, dass der Inhalt der erwarteten Ausgabe entspricht

Anwendungsideen

Hier sind praktische Projekte, die Sie mit dem ESP32 C3 Super Mini und dem SD-Kartenmodul bauen können:

  • Einen Datenlogger für Temperatur und Luftfeuchtigkeit zur langfristigen Klimaüberwachung bauen
  • Eine eigenständige Sensorstation erstellen, die Messwerte ohne WLAN-Verbindung speichert
  • Einen GPS-Tracker entwerfen, der Standortkoordinaten mit Zeitstempeln protokolliert
  • Eine bewegungsaktivierte Sicherheitskamera bauen, die Ereignisprotokolle speichert
  • Ein landwirtschaftliches Überwachungssystem entwickeln, das Bodenfeuchtedaten aufzeichnet
  • Einen Stromverbrauchsmesser bauen, der tägliche Verbrauchsstatistiken speichert

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Sehen Sie sich das folgende Video an, um eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt zu erhalten.

...VIDEO esp32-c3-super-mini/micro-sd-card.mp4

...VIDEO

Fordern Sie sich selbst heraus

Testen Sie Ihre Fähigkeiten mit diesen zunehmend anspruchsvollen Änderungen:

  • Einfach: Ändern Sie den Code so, dass eine Datei mit Ihrem eigenen Namen erstellt und eine persönliche Nachricht geschrieben wird
  • Einfach: Fügen Sie jeder Datenzeile mit der Funktion millis() einen Zeitstempel hinzu
  • Mittel: Erstellen Sie ein Programm, das alle 5 Sekunden zufällige Sensorwerte mit Zeitstempeln protokolliert
  • Mittel: Bauen Sie ein Menüsystem, mit dem Sie Dateien über Befehle im seriellen Monitor lesen, schreiben oder löschen können
  • Fortgeschritten: Implementieren Sie ein Ringpuffer-Protokoll, das nur die letzten 100 Einträge behält, um ein Überlaufen der SD-Karte zu verhindern
  • Fortgeschritten: Erstellen Sie einen Datenlogger mit mehreren Dateien für verschiedene Sensoren und implementieren Sie eine automatische Dateirotation

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!