user28108: This is my first post. I hope that I am posting in the right section of the forum. Otherwise, could an admin move this topic to the appropriate section please?
Board : Arduino Pro Mini 3.3V 8MHz
Arduino IDE : 1.6.12
Arduino is powered by a FTDI Board and USB Mini-B cable from the computer USB port in the following order : 
Arduino        FTDI
BLK              GND
GND             CTS
VCC             VCC
RXi              TX
TXo             RX
DTR             DTR
Also, I have connected a HC-06 bluetooth module in the following order :
Arduino    HC-06
GND         GND
VCC         VCC
D10         TXD
D11         RXD
The Serial Monitor is open on COM4, Newline, 9600 baud.
The code that I'm trying to run is : 
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); 
void setup()  
{
  pinMode(13, OUTPUT);
  BT.begin(9600);
  // Send test message to other device
  BT.println("Hello from BTSerial");

  Serial.begin(9600);
  Serial.println("Hello from Serial");
}

char a; // stores incoming character from other device
void loop() 
{

  if (BT.available())
  // if text arrived in from BT serial...
  {
    a=(BT.read());
    if (a=='1')
    {
      digitalWrite(13, HIGH);
      BT.println("LED on");
    }
    if (a=='2')
    {
      digitalWrite(13, LOW);
      BT.println("LED off");
    }
    if (a=='?')
    {
      BT.println("Send '1' to turn LED on");
      BT.println("Send '2' to turn LED on");
    }
    Serial.println(a);
  }
}

I am trying to communicate with the HC-06 from an Android phone.
I am posting in this section of the forum because when I send a message from the phone to Arduino the following is printed in the Serial Monitor : 
à„…€ƒ¦¤„„‡…§¤¦„‡Å„EóAãbBãbHãb

When I am trying to send a message from Arduino to the phone, nothing is received on the phone.
Could someone please explain why I get garbage output on the Serial Monitor even though the baud rate is the same in the code as it is in Serial Monitor window?
Is there a problem with the Arduino IDE?
Edit 12.11.2016
This is what I get when I open the Serial Monitor in the Arduino IDE with this code :
Newline, Baud rate 9600
‚Æ‡¥Ç$¤†Fó

If I change the Serial Monitor properties to Newline, Baud rate 19200 this is what I receive :
Hello from Serial

On the Android phone application I do not get anything printed.
Also, please note that this question is also addressed on the Arduino forum at the following link : 
http://forum.arduino.cc/index.php?topic=434623.0
I will try and answer in both places as I am not sure that everybody has an account on the forum

user27157: Flip the RX and TX wires of the HC06. This is because this statement : SoftwareSerial BT(10, 11); actually means SoftwareSerial BT(RXpin, TXpin);. Considering this, 10 is your Rx and 11 is your Tx. In this case, you have to connect pin 10 (software Rx) of your Arduino to the Tx pin of your HC06 and pin 11 (software Tx) to the Rx pin.

user4143: 
BLK GND
GND CTS

That looks backwards to me. Connect GND to GND and CTS to BLK.
The bluetooth module operates at a predefined baud rate. You need to ensure that your Arduino communicates at that baud rate - you don't get to pick any old baud rate. 
The baud rate can be changed with the AT+UART=x command (where x is a single digit representing the baud rate: 1=1200, 2=2400, 3=4800, 4=9600 (default), 5=19200, 6=38400, 7=57600, 8=115200, 9=230400, A=460800, B=921600, C=1382400).  If the HC-06 isn't on the default baud rate of 9600 (which is highly possible) then you will have to guess what the right baud rate is. Work through the possible ones listed there in yopur BT.begin(...) function to see if one of them starts working.

user31042: I had the same issue. The problem was solved in an other forum:
https://forum.arduino.cc/index.php?topic=434623.0
I copy the solution here:
It appears that in fact your board is not running at 8MHz, but instead 16MHz.
Please select the correct setting for your board:
Tools > Processor > ATmega328(5V, 16MHz)
Or if it has the ATmega168:
Tools > Processor > ATmega168(5V, 16MHz)


28108: <p>This is my first post. I hope that I am posting in the right section of the forum. Otherwise, could an admin move this topic to the appropriate section please?</p>

<p>Board : Arduino Pro Mini 3.3V 8MHz</p>

<p>Arduino IDE : 1.6.12
Arduino is powered by a FTDI Board and USB Mini-B cable from the computer USB port in the following order : </p>

<p>Arduino        FTDI</p>

<p>BLK              GND</p>

<p>GND             CTS</p>

<p>VCC             VCC</p>

<p>RXi              TX</p>

<p>TXo             RX</p>

<p>DTR             DTR</p>

<p>Also, I have connected a HC-06 bluetooth module in the following order :</p>

<p>Arduino    HC-06</p>

<p>GND         GND</p>

<p>VCC         VCC</p>

<p>D10         TXD</p>

<p>D11         RXD</p>

<p>The Serial Monitor is open on COM4, Newline, 9600 baud.</p>

<p>The code that I'm trying to run is : </p>

<pre><code>#include &lt;SoftwareSerial.h&gt;
SoftwareSerial BT(10, 11); 
void setup()  
{
  pinMode(13, OUTPUT);
  BT.begin(9600);
  // Send test message to other device
  BT.println("Hello from BTSerial");

  Serial.begin(9600);
  Serial.println("Hello from Serial");
}

char a; // stores incoming character from other device
void loop() 
{

  if (BT.available())
  // if text arrived in from BT serial...
  {
    a=(BT.read());
    if (a=='1')
    {
      digitalWrite(13, HIGH);
      BT.println("LED on");
    }
    if (a=='2')
    {
      digitalWrite(13, LOW);
      BT.println("LED off");
    }
    if (a=='?')
    {
      BT.println("Send '1' to turn LED on");
      BT.println("Send '2' to turn LED on");
    }
    Serial.println(a);
  }
}
</code></pre>

<p>I am trying to communicate with the HC-06 from an Android phone.
I am posting in this section of the forum because when I send a message from the phone to Arduino the following is printed in the Serial Monitor : </p>

<pre><code>à„…€ƒ¦¤„„‡…§¤¦„‡Å„EóAãbBãbHãb
</code></pre>

<p>When I am trying to send a message from Arduino to the phone, nothing is received on the phone.</p>

<p>Could someone please explain why I get garbage output on the Serial Monitor even though the baud rate is the same in the code as it is in Serial Monitor window?
Is there a problem with the Arduino IDE?</p>

<p><strong>Edit 12.11.2016</strong></p>

<p>This is what I get when I open the Serial Monitor in the Arduino IDE with this code :
Newline, Baud rate 9600</p>

<pre><code>‚Æ‡¥Ç$¤†Fó
</code></pre>

<p>If I change the Serial Monitor properties to Newline, Baud rate 19200 this is what I receive :</p>

<pre><code>Hello from Serial
</code></pre>

<p>On the Android phone application I do not get anything printed.</p>

<p>Also, please note that this question is also addressed on the Arduino forum at the following link : 
<a href="http://forum.arduino.cc/index.php?topic=434623.0" rel="nofollow noreferrer">http://forum.arduino.cc/index.php?topic=434623.0</a>
I will try and answer in both places as I am not sure that everybody has an account on the forum</p>
 27157: <p>Flip the RX and TX wires of the HC06. This is because this statement : <code>SoftwareSerial BT(10, 11);</code> actually means <code>SoftwareSerial BT(RXpin, TXpin);</code>. Considering this, 10 is your Rx and 11 is your Tx. In this case, you have to connect pin 10 (software Rx) of your Arduino to the Tx pin of your HC06 and pin 11 (software Tx) to the Rx pin.</p>
 4143: <blockquote>
  <p>BLK GND</p>
  
  <p>GND CTS</p>
</blockquote>

<p>That looks backwards to me. Connect GND to GND and CTS to BLK.</p>

<p>The bluetooth module operates at a predefined baud rate. You need to ensure that your Arduino communicates at that baud rate - you don't get to pick any old baud rate. </p>

<p>The baud rate can be changed with the <code>AT+UART=x</code> command (where <code>x</code> is a single digit representing the baud rate: <code>1=1200, 2=2400, 3=4800, 4=9600 (default), 5=19200, 6=38400, 7=57600, 8=115200, 9=230400, A=460800, B=921600, C=1382400</code>).  If the HC-06 isn't on the default baud rate of 9600 (which is highly possible) then you will have to guess what the right baud rate is. Work through the possible ones listed there in yopur <code>BT.begin(...)</code> function to see if one of them starts working.</p>
 31042: <p>I had the same issue. The problem was solved in an other forum:
<a href="https://forum.arduino.cc/index.php?topic=434623.0" rel="nofollow noreferrer">https://forum.arduino.cc/index.php?topic=434623.0</a>
I copy the solution here:</p>

<pre><code>It appears that in fact your board is not running at 8MHz, but instead 16MHz.
Please select the correct setting for your board:
Tools &gt; Processor &gt; ATmega328(5V, 16MHz)
Or if it has the ATmega168:
Tools &gt; Processor &gt; ATmega168(5V, 16MHz)
</code></pre>
