Interfacing with the NRF24L01+ and a Micro SD Card

I hate to post about this issue again since I know it has been convered so much in other posts. I have an NRF24L01+ and a microSD card. I would like to use them together.

From reading other posts, I changed the microSD card module so that the MISO lines does not go through the level shifter. I have also added a 1K resistor in series with the SD card MISO line.

In my code, I start with the SDSetup();

void SDSetup() {
    SDDetect = SD.begin(csSD);
    if (SDDetect) {
      logFile ="Log0001.txt", FILE_WRITE);
      logFile.println("Time, Voltage, Altitude, Acceleration, Roll, Pitch, Yaw, Latitude, Longitude");

This section works and writes a file. I then setup the NRF.

void nrfSetup () {   


This code works as well. I then do the NRF loop.

void nrfLoop() {
    if (radio.write( &myData, sizeof(myData) )) {
        if ( radio.isAckPayloadAvailable() ) {
  , sizeof(myTele));

The issue is when I try to do a SD card loop.

void SDLoop() {
  logFile ="Log0001.txt", FILE_WRITE);
  if (logFile) {
    logFile.print(X1); logFile.print(","); logFile.println(Y1);

With the following code and setup, the SD card creates a file and writes the header text. The NRF gets setup and starts transmitting. The NRF works well and doesn't miss a beat the whole time I have the code running. My issue is that the SD card loop is not working. When I disable the NRF loop and setup code, the SD card loop works perfectly and writes to the SD card.

Is there something I have to do with the chip selects that the libraries aren't automatically doing. I am using the standard SD card library and the RF24 library.

Update: Screwing around with the code more I realized that even with the NRF unplugged from the Arudino, running the NRFSetup() code will cause the SD Loop not to work. So now I am thinking it is something to do with the NRF code interfering with the SD card?