SD card module with ESP32-S3-DevKitC-1

Wiring for the SD card module (full size, SPI) on the ESP32-S3-DevKitC-1 (ESP32-S3, 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-S3-DevKitC-1 pinNotes
GNDGroundG
3V3Power3V3Use 3V3 or 5V, not both
5VNot wired to the boardnot connectedAlternative 5 V input through the on-board regulator
CSSPI chip select10
MOSISPI MOSI11
SCKSPI clock12
MISOSPI MISO13
GND2GroundG

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(10)) {
    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:esp32s3. Use the port labelled UART. If uploading does not start, hold BOOT, press and release RESET, then release BOOT.

Questions

Which ESP32-S3-DevKitC-1 pins do I use for the SD card module?

GND → G, 3V3 → 3V3, CS → 10, MOSI → 11, SCK → 12, MISO → 13, GND2 → G.

Does the SD card module work with the ESP32-S3-DevKitC-1 at 3.3 V?

Yes: the SD card module runs at 3.3-5 V and the ESP32-S3-DevKitC-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-S3-DevKitC-1 pinout · SD card module (full size, SPI): all pins and data

The SD card module on other boards

Other parts on the ESP32-S3-DevKitC-1