Arduino SDcard e acelerometro MM7361

Olá pessoal!
Estou com problemas ao utilizar o acelerometro MM7361 com arduino e SD card, estou utilizando o sketch datalogger exemplo do arduino.
Quando inicializo o arduino com o SD card somente alguns dados são gravados depois a gravação para, eu retirei o acelerometro das entradas analógicas a gravação é feita normalmente.
Alguém saberia me dizer porque isso acontece?
Dados com acelermetro conectado.
350,457,229
351,434,**
Aparece alguns simbolos estranhos.

Dados sem o acelerometro ligado.
23,12,45
45,56,89
...

Grava normalmente.

Sem ver como conectas o acelerómetro ou o programa que estás a correr, sinceramente não faço a minima ideia do problema.

Ah sim, como disse eu estou usando este exemplo: http://arduino.cc/en/Tutorial/Datalogger
Os sinais dos eixos do acelerometro são analógicos 0-3.3v ligados nas entradas analógicas 0,1 e 2 do arduino exatamente como no exemplo.
Se observar o scketch verá que as três entradas são concatenadas em uma só string, quando o arduino eo sd card é ligado sem nada na entrada, é armazenado no sd alguns valores, ruido.
21,23,45 desta forma os dados são salvos normalmente indefinidamente.
Quando eu ligo o acelerometro esses valores aumentam pois em repouso o acelerometro gera 1,5v conventendo em bits seria por volta de 307
307,307,305 dessa forma os dados são gravados somente uma vez no SD e depois para.
Estou suspeitando que seja o tamanho da string, o que você acha?

Não me parece que seja o tamanho da String.
O facto de ligares os sensores às entradas analógicas (ao invés de deixar as entradas vazias) apenas interfere se os pinos das entradas analógicas estiverem a fazer outra função qualquer no hardware... o que não me parece que seja. Isto porque quando não tens nada ligado as funções de conversão do AD estão em funcionamento.

Como ligaste o pino de CS ao cartão de memória? Condiz com o programa que tens? Será a versão do Ethernet Shield que estás a usar que provoca isto por não usares o pino de CS correctamente? Apenas estou a supor.

Não estou usando shield, e sim breakout sd card, o sistema está funcionando normalmente se os bits não ultrapassarem duas casas decimais.
Se tiver um nivel de tensão na entrada que gere um valor abaixo de 100bits tipo 22,37,44 os dados são gravados se o valor ficar acima de 99 ai começa o problema 101,150, 137.
Eu modifiquei o scketch para gravar uma entrada em cada linha sem concatenar, funcionou normalmente. Por isso eu ainda acredito que seja o tamanho da string.
12,25,32 grava
123,250,450 não grava

E estás a usar aquele código que colocaste do exemplo? Tal e qual?

Com esse scketch os dados são gravados uma entrada em cada linha.
450
570
989
...

#include <SD.h>

const int chipSelect = 10;

void setup()
{
//Serial.begin(9600);
//Serial.print("Initializing SD card...");
// pinMode(10, OUTPUT);

}

void loop()
{
for (int analogPin = 0; analogPin < 3; analogPin++) {
int sensor = analogRead(analogPin);
File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println(sensor);
dataFile.close();
}
}
}

E aí pessoal ainda continuo com o problema alguma ideia?