Problema al configurar xbees s1

Buenas.

Llevo 3 dias probando y no consigo que funcione.

Tengo una placa de arduino duemilanove con un xbee shield y un xbee PRO S1. Por otro lado un Arduino Fio con un xbee S1 (sin pro) y luego, tengo una placa xbee usb explorer para programar los xbee.

EL caso es que estoy venga a probar ejemplos y ejemplos a ver si consigo que se comuniquen y enciendan un led en el otro lado y nada de nada.

He probado por defecto y a cambiar la configuracion de lox xbee. Y ahora, uno de ellos puedo ponerlo en la configuracion por defecto mediante una consola (todo eso del +++, atre, atrw) pero el otro, al poner el atrw me devuelve un error.

Puedo leer el segundo xbee (el del error) con el x ctu y ver sus valores, cambiarlos y tal. Pero a la hora de resetear no me deja, devuelve un fallo.

He intentado envir datos de forma Serial.print... y poniendo las direcciones en el DH y DL del otro lado.

¿Sabeis de algun tutorial o ejemplo que vaya paso a paso para la serie 1? Los mas explicados que encuentro son para la 2 o 2.5 y no me funcionan.

Y tambien, ¿sabeis resetear el xbee aunque de error?

Uso ubuntu, xctu a traves de wine y el arduino ide es el 0022 (no puedo instalar una mas alta) Pero dispongo de un windows 7 starter por si fuese extrictamente necesario.

Edito: Desde windows he podido resetear los dos modulos sin problemas. Pero sigo sin poder hacer funcionar la conexion por serial o poniendo las direcciones...

Este es el codigo que etoy probando ahora:

Emisor (fio con la S1 pro):

int incomingByte = 0;   // for incoming serial data

void setup() {
  Serial.begin(9600);  // opens serial port, sets data rate to 9600 bps
  pinMode(13, OUTPUT);

  // blink twice at startup
  digitalWrite(13, LOW);
  delay(1000);

  digitalWrite(13, HIGH); // first blink
  delay(50);
  digitalWrite(13, LOW);
  delay(200);
  digitalWrite(13, HIGH); // second blink
  delay(50);
  digitalWrite(13, LOW);
}

void loop() {
  delay(5000);
    Serial.write('1');
digitalWrite(13, HIGH); // second blink
  delay(50);
  digitalWrite(13, LOW);
}

Receptor (duemilanove con la S1 normal):

int incomingByte = 0;   // for incoming serial data

void setup() {
  Serial.begin(9600);  // opens serial port, sets data rate to 9600 bps
  pinMode(13, OUTPUT);

  // blink twice at startup
  digitalWrite(13, LOW);
  delay(1000);

  digitalWrite(13, HIGH); // first blink
  delay(50);
  digitalWrite(13, LOW);
  delay(200);
  digitalWrite(13, HIGH); // second blink
  delay(50);
  digitalWrite(13, LOW);
}

void loop() {
  // send data only when you receive data:
  if (Serial.available() > 0) {
    // read the incoming byte:
    incomingByte = Serial.read();

    if(incomingByte == '0'){
      digitalWrite(13, HIGH);
      delay(1000);
      digitalWrite(13, LOW);
    }else if(incomingByte == '1'){
      digitalWrite(13, HIGH);
      delay(5000);
      digitalWrite(13, LOW);
    }    
  }
}

Estan las dos antenas con PAN ID a 3332, DH 0013A200 y la DL es la SL de la otra antena.

¿Tengo que hacer algo mas? Porque asi no funciona...

En caso de no querer mandar la informacion por serial, ¿que comando seria para mandar a uno concreto?