16x32 RGB LED Matrix panel + Libelium BT Board -NEED HELP !!

NEED HELP …! I have hooked up a Libelium BT + XBEE Shield onto my Arduino UNO + 16x32 RGB LED Matrix panel, after configuring the setup to allow my Android phone to be able to connect with it using BT successfully there comes the issue… From my codes i have setup the 16x32 panel to turn on after the Android phone has successfully connected using BT however, the 16x32 panel is not functioning as i would like it to. It manages to turn on but the display is just haywire… Always displaying two rows of the LED at all time. Can someone help me troubleshoot this problem, please :cry: :cry:

#include <Adafruit_GFX.h>   // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library

// Similar to F(), but for PROGMEM string pointers rather than literals
#define F2(progmem_ptr) (const __FlashStringHelper *)progmem_ptr

#define CLK 8  // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT A3
#define OE  9
#define A   A0
#define B   A1
#define C   A2

// Last parameter = 'true' enables double-buffering, for flicker-free,
// buttery smooth animation.  Note that NOTHING WILL SHOW ON THE DISPLAY
// until the first call to swapBuffers().  This is normal.
RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, true);
// Double-buffered mode consumes nearly all the RAM available on the
// Arduino Uno -- only a handful of free bytes remain.  Even the
// following string needs to go in PROGMEM:

int led = 13;
int val = -1;

void setup()
{
  Serial.begin(115200);
  pinMode(led, OUTPUT);
  digitalWrite(led,LOW);
  delay(4000);
  Serial.print("AT+JRES\r\n");
  val = Serial.read();
  while(val != 'R')
  {
    val = Serial.read();
  }
  delay(500);
  Serial.print("AT+JSEC=1,1,1,04,1111\r\n"); // Register local sevice
  val = Serial.read();
  while(val != 'O')
  {
    val = Serial.read();
  }
  delay(500);
  Serial.print("AT+JDIS=3\r\n");
  val = Serial.read();
  while(val != 'O')
  {
    val = Serial.read();
  }
  delay(500);
  Serial.print("AT+JRLS=1101,11,Serial Port,01,000000\r\n");
  val = Serial.read();
  while(val != 'O')
  {
    val = Serial.read();
  }
  delay(500);
  Serial.print("AT+JAAC=1\r\n");
  val = Serial.read();
  while(val != 'O')
  {
    val = Serial.read();
  }
  delay(2000);
  pinMode(led, OUTPUT);
  digitalWrite(led,HIGH);
  val = Serial.read();
  while (val != '+')
  {
    val = Serial.read();
  }
  digitalWrite(led,LOW);
  delay(1000);
  Serial.print("AT+JSCR\r\n"); // Stream Connection Request
  
  Serial.flush();
  matrix.begin();
  matrix.setTextWrap(false); // Allow text to run off right edge
  matrix.setTextSize(2);
}

void loop()
{
  
}