SdFat Card Initialization Failed with ErrorCode 0x20 ErrorData 0x0

So for some reason my sd card is failing to initialize with ErrorCode 0x20 ErrorData 0x0. I have definitely set MOSI, MISO, and SCK correctly. I have CS and SS to 0.

The strange thing is that I am able to write and read to and from the card using the nordic SDK's fatfs example. So does anyone know why there would be a difference?

Thanks, Shaun

Difference in what? You have provided no code so only you know.

"I have CS and SS to 0"

That doesn't sound correct. One of those should be an active signal that the library drive low during a transfer and high when done.

What SD module, what Arduino, and how is it connected?

Sorry Here is my code:

#include <Arduino.h>
#include <SPI.h>
//#include <SD.h>
#include "SdFat.h"
SdFat SD;

#define SD_CS_PIN 
File myFile;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin(SD_CS_PIN)) {
    Serial.println("initialization failed!");
    SD.initErrorHalt();
  }
  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop() {
  // nothing happens after setup
}

I am working on a custom board that I modified the variant files for the Adafruit feather nrf52840 express

You do not have SD_CS_PIN defined to 0, is is defined as an empty string "" so it is the same as calling SD.begin().