SD card module with ESP32-C3-DevKitM-1

Wiring for the SD card module (full size, SPI) on the ESP32-C3-DevKitM-1 (ESP32-C3, 3.3 V logic), chosen with the same pin rules BoardPilot uses: default buses first, and no pins that are used for flash, USB, the debugger or booting.

Wiring

SD card module pinRoleESP32-C3-DevKitM-1 pinNotes
GNDGroundGND
3V3Power3V3Use 3V3 or 5V, not both
5VNot wired to the boardnot connectedAlternative 5 V input through the on-board regulator
CSSPI chip select7
MOSISPI MOSI6
SCKSPI clock4
MISOSPI MISO5
GND2GroundGND

Check before you power it on

Test code (Arduino)

// Library: SD (built in)
#include <SPI.h>
#include <SD.h>

void setup() {
  Serial.begin(115200);
  if (!SD.begin(7)) {
    Serial.println("No card: check wiring, the card format (FAT32) and power");
    return;
  }
  File f = SD.open("/test.txt", FILE_WRITE);
  f.println("Hello from the board");
  f.close();
  Serial.println("Wrote test.txt");
}

void loop() {}

Arduino board: esp32:esp32:esp32c3. If uploading does not start, hold BOOT, press and release RST, then release BOOT.

Questions

Which ESP32-C3-DevKitM-1 pins do I use for the SD card module?

GND → GND, 3V3 → 3V3, CS → 7, MOSI → 6, SCK → 4, MISO → 5, GND2 → GND.

Does the SD card module work with the ESP32-C3-DevKitM-1 at 3.3 V?

Yes: the SD card module runs at 3.3-5 V and the ESP32-C3-DevKitM-1 uses 3.3 V signals, so no level shifting is needed.

BoardPilot checks this wiring in 3D as you build it, and finds crossed or missing wires on the real board.

Download BoardPilot

Full ESP32-C3-DevKitM-1 pinout · SD card module (full size, SPI): all pins and data

The SD card module on other boards

Other parts on the ESP32-C3-DevKitM-1