SD card module with Raspberry Pi Pico 2

Wiring for the SD card module (full size, SPI) on the Raspberry Pi Pico 2 (RP2350, 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 pinRoleRaspberry Pi Pico 2 pinNotes
GNDGroundGND
3V3Power3V3(OUT)Use 3V3 or 5V, not both
5VNot wired to the boardnot connectedAlternative 5 V input through the on-board regulator
CSSPI chip selectGP17
MOSISPI MOSIGP19
SCKSPI clockGP18
MISOSPI MISOGP16
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(17)) {
    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: rp2040:rp2040:rpipico2. If the board is not found, hold the BOOTSEL button while plugging in the USB cable.

Questions

Which Raspberry Pi Pico 2 pins do I use for the SD card module?

GND → GND, 3V3 → 3V3(OUT), CS → GP17, MOSI → GP19, SCK → GP18, MISO → GP16, GND2 → GND.

Does the SD card module work with the Raspberry Pi Pico 2 at 3.3 V?

Yes: the SD card module runs at 3.3-5 V and the Raspberry Pi Pico 2 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 Raspberry Pi Pico 2 pinout · SD card module (full size, SPI): all pins and data

The SD card module on other boards

Other parts on the Raspberry Pi Pico 2