Error de compatibilidad SD - RadioControl

Buenas, recientemente he estado trabajando en un robot controlado por RC, que registra datos a una SD.

Pero cuando he empezado a ponerme con la parte de la SD, al poner SD.Begin en el void setup o en cualquier otro sitio, la conexión con el RC deja de funcionar.

Aquí les dejo mi codigo:

#include <SPI.h>
#include <Wire.h>
#include <LSM303D.h>
#include <SD.h>
#include <NewPing.h>

int ch2 = 10;
int aile = 0;
int ch0 = 0;
int thro = 8;
int ch1 = 9;
int rudder = 0;
int ch3 = 11;
int elevator = 0;
const int pulseInDelay = 20000;
int m1 = 4;
int e1 = 5;
int e2 = 6;
int m2 = 7;
const int UltrasonicPin = 12;
const int MaxDistance = 500;
int bip = 0;
NewPing sonar(UltrasonicPin, UltrasonicPin, MaxDistance);
int accel[3]; 
int mag[3];  
float realAccel[3]; 
float heading, titleHeading;
char rtn = 0;
File logFile;
File TempHumPres;



void setup() {
  Serial.begin(9600);  
  pinMode(e1, OUTPUT);
  pinMode(e2, OUTPUT);
  pinMode(m1, OUTPUT);
  pinMode(m2, OUTPUT);
  pinMode(13, OUTPUT);
  SD.begin(3)
 

}

void loop() {
 lectura();
}
 

void lectura() {
  
//Canal Aile  
  int rawValueCH2 = pulseIn(ch2, HIGH, pulseInDelay);  
  aile = map(rawValueCH2, 1093, 1860, -255, 255);
  if (aile < -255)
  {
    aile = -255;
  }
  if (aile > 255)
  {
    aile = 255;
  }
  if (aile > -40.0 and aile < 40.0)
  {
   aile = 0;
  }

Serial.println(aile);

//Canal Elevator
  int rawValueCH3 = pulseIn(ch3, HIGH, pulseInDelay);  
  elevator = map(rawValueCH3, 1100.0, 1676.0, -255, 255);
  if (elevator < -255)
  {
    elevator = -255;
  }
  if (elevator > 255)
  {
    elevator = 255;
  }
  if (elevator > -40.0 and elevator < 40.0)
  {
   elevator = 0;
  }

Serial.println(elevator);
  delay(300);

}

Gracias de antemano