Problema con Serial al mandar por Monitor Serial y ver por BT

Hola a todos:

Estoy realizando un programa en el que yo mande texto a través del monitor serie y/o un terminal bluetooth en el móvil a un Arduino Leonardo y se vea por el monitor del IDE, la terminal del móvil y una pantalla LCD lo que envío.

El problema lo tengo en la consola BT del móvil ya que recibo unos caracteres raros cuando envío algo desde el monitor del IDE.

Cabe destacar que cuando envío algo desde el terminal se manda los caracteres \r\n al final.

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int i;
char cadena[32];
void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // initialize the serial communications:
  Serial.begin(9600);
  Serial1.begin(9600);


}

void loop() {
  for (i = 0; i < 34; i++)
    cadena[i] = NULL;
  // when characters arrive over the serial port...
  if (Serial1.available()) {

    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial1.available() > 0) {
      // display each character to the LCD
      for (i = 0; i < 34; i++) { ///GUARDA CARACTERES EN UN ARRAY DE 34
        cadena[i] = Serial1.read();
      }
      i = 0;
      while (cadena[i] != ('\r')) { // SI ENCUENTRA \r DEJA DE ESCRIBIR
        Serial.write(cadena[i]);
        Serial1.print(cadena[i]);
        lcd.print((cadena[i]));

        if (i == 16) { //A PARTIR DE POSICION 16 PONEMOS CURSOR EN BARRA DE ABAJO
          lcd.setCursor(0, 1);
          lcd.print ((cadena[i]));
        }
        i++;
      }
      Serial.println();
      //  Serial.print(Serial1.read());//
      // lcd.write(Serial1.read());

    }
  }
  /////////////////////////////////////////////////
  ///////////////////////////////////////////////////
  for (i = 0; i < 34; i++)
    cadena[i] = NULL;
  if (Serial.available()) {

    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      for (i = 0; i < 34; i++) { ///GUARDA CARACTERES EN UN ARRAY DE 34 POSICIONES
        cadena[i] = (Serial.read());
        Serial1.print(cadena[i]);
      }
      i = 0;
      while (cadena[i] != ('\r')) { // SI ENCUENTRA \r DEJA DE ESCRIBIR
        Serial.write((cadena[i]));
        // Serial1.print((cadena[i]));
        lcd.write((cadena[i]));
        if (i == 16) { //A PARTIR DE POSICION 16 PONEMOS CURSOR EN BARRA DE ABAJO
          lcd.setCursor(0, 1);
          lcd.write((cadena[i]));
        }
        i++;
      }
      Serial.println();
    }
  }

 

}