sd card y matrix neopixel

Saludo ante todo. Este programa que le muestro aqui que es leer un mensage escrito
en una targeta sd de 8Gb funciona muy bien,pero apenas nada mas le incorporo la
librerias GFX,NEOPIXEL Y NEOMATRIX para sacar el mensage por la matrix neopixel
me da error.El arduino lo compila bien y carga bien el programa e inclusive se dectecta
la memoria pero en ves de salir el mensage en el monitor serial; me sale esto:
INICIANDO SD CORRECTO
ERROR,Aqui le muestro el programa sin las librerias NEOMATRIX,NEOPIXEL Y GFX
y mas abajo se lo muestro con estas librerias que es donde me da error,; cual es el
misterio de este error.

#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;
File myFile;

void setup() {
  Serial.begin(9600);
  Serial.print("Iniciando sd");
  if(!SD.begin(chipSelect)){
    Serial.println("error");
    return;
  }
  Serial.println("correcto");
  myFile=SD.open("ernesto.txt");
  String cadena="";
  if(myFile){
    while(myFile.available()){
      char caracter=myFile.read();
      cadena=cadena+caracter;
      Serial.print(cadena); 
    }
    myFile.close();
  }
  else{
    Serial.println("error");
  }
}
void loop() {
   
}

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(30, 8, PIN,
  NEO_MATRIX_TOP     + NEO_MATRIX_LEFT +
  NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG,
  NEO_GRB            + NEO_KHZ800);

const uint16_t colors[] = {matrix.Color(255, 0, 0) };
#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;
File myFile;

void setup() {
  Serial.begin(9600);
  Serial.print("Iniciando sd");
  if(!SD.begin(chipSelect)){
    Serial.println("error");
    return;
  }
  Serial.println("correcto");
  myFile=SD.open("ernesto.txt");
  String cadena="";
  if(myFile){
    while(myFile.available()){
      char caracter=myFile.read();
      cadena=cadena+caracter;
      Serial.print(cadena); 
    }
    myFile.close();
  }
  else{
    Serial.println("error");
  }
}
void loop() {
   
}