HC-05 FC-114 and HC-06 FC-114. Part 3 – Master Mode and Auto Connect

Update 19.09.2015
The FC-114 boards I have have the Bolutek firmware. User DS has reported that he/she has FC-114 boards that have the linvorV1.8 firmware. So if the below does not work for you then check what firmware you have.

I may be missing something but I can not get the HC-05 FC-114 boards in to Master Mode and connect to other BT devices with just AT commands. The modules say they have accepted the commands, such as AT+ROLE1 but when I try to connect to other modules I get the error message “Can only be used in Lord Mode”.

The modules accept “AT+ROLE1″ and report they have changed mode but they haven’t really.

In an earlier post I mentioned that it looks likes pin 27 or pin 28 has to be pulled HIGH to enter Master Mode and this does indeed seem to be the case. Everything I have tried without pulling the pin(s) HIGH has failed.

They reply with “OK” and if you interrogate with “AT+ROLE” they report “+ROLE=1″ but they are actually still in Slave Mode.

The user guide shows the pin outs:
BLK-MD-BC04-B Pins_001
There are 2 options for entering Master Mode; bring Pin 27 HIGH or bring pin 28 HIGH. Pin 27 allows you to use software and pin 28 allows you to use a hardware switch.

When pin 27 is HIGH you use AT commands to enter Master Mode. When pin 28 is HIGH (and pin 27 LOW or NC) the modules automatically switch to Master Mode. To me both ways are about the same and I decided to go with pin 27.

So, to get pin 27 HIGH I soldered a wire between pin 27 and the EN pin on the breakout boards. I used wire wrap wire which is fine single core and ideal for this kind of thing.
Not the finest example of soldering but good enough.

I realized after I soldered the wire that I didn’t know if the EN pin was actually used on the FC-114 modules. However, pulling EN HIGH does get me in to AT Mode and does not seem to affect the modules in any other way.

Update 22.08.2015
The EN pin when brought LOW disables the module, same as the zs-040 modules. Since I am unlikely to use the EN pin to disable the module I am leaving the wire as it is. You may not want to connect it.

Remember that the pins on the mini BT board are 3.3v only. So to pull pin 27 HIGH you need to use 3.3v not 5V.

Here is the bread board set up.


The EN pin is connected to a voltage divider (a 1k ohm resistor and a 2K ohm resistor) and then to 5V. The voltage divider reduces the 5V to 3.3v.



– Arduino D2 to BT TX
– Arduino D3 to voltage divider and then to BT RX
– Arduino 5v out to BT vcc in
– HC-05 pin 27 to voltage divider then to Vcc
– GND to GND

HC-05 FC-114 Connections

Make the connections and upload the following sketch to the HC-05 FC-114.


Arduin0 Sketch HC-0x_FC-114_01_9600

// Basic bluetooth test sketch. HC-0x_FC-114_01_9600
//  Uses hardware serial to talk to the host computer and software serial for communication with the bluetooth module
//  Pins
//  BT VCC to Arduino 5V out. 
//  BT GND to GND
//  Arduino D3 to BT RX through a voltage divider
//  Arduino D2 BT TX (no need voltage divider)
//  When a command is entered in the serial monitor on the computer 
//  the Arduino will relay it to the bluetooth module and display the result.
// The HC-0x FC-114 modules require CR and NL
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX | TX
char c=' ';
boolean NL = true;
void setup() 
      Serial.println("Sketch HC-0x_FC-114_01_9600");
      Serial.println("Arduino with HC-0x FC-114 is ready");
      Serial.println("Make sure Both NL & CR are set");
      // FC-114 default baud rate is 9600
      Serial.println("BTserial started at 9600");
void loop()
    // Read from the Bluetooth module and send to the Arduino Serial Monitor
    if (BTSerial.available())
        c = BTSerial.read();
    // Read from the Serial Monitor and send to the Bluetooth module
    if (Serial.available())
        c = Serial.read();
        // Echo the user input to the main window. The ">" character indicates the user entered text.
        if (NL) { Serial.print(">");  NL = false; }
        if (c==10) { NL = true; }

Set up a Slave Device – HC-06

I have a HC-06 on a separate bread board. I’m not doing anything with this except powering it and allowing the HC-05 to connect to it.



Set up Auto Connect on the HC-05 FC-114

Open the serial monitor and cycle the power to the HC-05 FC-114. The LED on the HC-05 should be blinking; 1 second on, 1 second off.


Make sure “Both NL & CR” are selected and enter the following:

AT+ROLE1 puts the module in to Master Mode.
AT+CMODE1 allows the module to connect to any other BT slave device.


The LED should still have the same blink pattern; 1 second on, 1 second off.
The LED on the HC-06 should be blinking about 5 times a second.

With the serial monitor open cycle the power to the HC-05. The welcome message should now say “MASTER mode”.


When you re-power the HC-05 it will search for connectible Bluetooth devices and then auto connect to the strongest signal. While it is searching the LED will blink quickly 3 times every couple of seconds. Connection should take no more than a couple of seconds.

Once connected, the LED on the HC-05 is constant on.

One of the nice things about the HC-05 Fc-114 modules is that they output the current status and you can monitor when they are connecting and then connected.

The module seems to remember the first slave device it connects to and will try to connect to the same module when the power is cycled. I have set up 2 more HC-06s and these seem to be ignored, even when the original HC-06 is not powered.


Once the module has been set up you no longer need to have pin 27 HIGH. The HC-05 Fc-114s will auto connect even without power to pin 27.

I have now been playing with this for a couple of hours, constantly stopping and starting the HC-05. It always connects to the original HC-06 even when other HC-06s and HC-05s (in slave mode) are available.


17 thoughts on “HC-05 FC-114 and HC-06 FC-114. Part 3 – Master Mode and Auto Connect

  1. Pingback: HC-05 FC-114 and HC-06 FC-114. First Look | Martyn Currey

  2. Pingback: Quick Links | Martyn Currey

  3. Thx for the tutorial.
    I have another version of HC-05 FC-114. This one say VERSION:2.0-20100601 and comes with other AT-commands.

  4. Hi,
    When i put pin 27 in HIGH it put my module in AT command as would do pin 34 and my module doesn’t seem to get to master mode. Any connection is made with my other module

  5. Hi Thanks for sharing ! I really need your help.
    I have a question. I’m wondering if you used two computers for the connection
    between HC-06 and HC-05. I mean, Did you monitor the two Arduino serial monitors
    on just one computer?

    • One computer, 2 serial monitors. I have IDE version 1.0.5 installed and I also use the portable version of 1.6.3.

      I believe you can run 2 instances of the same IDE and so open 2 serial monitors using the same IDE

      • Thank you for your answer! I have one more question. I thought you posted just hc05 master module cording but it was hc 0x. Do i have to use this cording in 05 and 06 modules each other?? Do i have to change “x” into “5” or “6” as well??

  6. Hi, Sir. ! you can help me a question? I own two HC-05. I have a code adapted to create USBs gamepads for AVR microcontrollers. When I connect the AVR into a USB port and place one of the Bluetooth modules as “Slave”, this device receives signals from any Android device through Bluetooth communication. I can control games on PC, with my Samsung Galxy, for example.
    I am trying to adapt a design of a SNES controller to Android, via Bluetooth and Arduino, to make the SNES controller can send signals via bluetooth to my “AVR USB gamepad”.
    But I have doubts on the question of pairing. The modules connect only if one is in Master mode and the other in Slave Mode.
    In the example of the SNES Arduino control for Android, the module must be in Slave mode. If the module is in Master mode, no Android is able to recognize it.
    My question is :

    I can make two HC-05 modules connect both being as “Slave”?

    Because I think the module as “Slave”, the module is “Transceiver”.

    If I can not connect both modules as Slave, how I do to the slave module receives the signals I’m sending module that is as master ? the code that I did , isn’t working. You could guide me on what to do ?

    Thank you in advance.

    • If you want to connect 2 HC-05s together then one of them must be a master and one must be a slave.

      As you have found out, when using an Android device it is regarded as the master device and the HC-05 must be the slave.

      My solution would be to have the HC-05 connected to the AVR as the slave. Then set to HC-05 connected to the game pad as a master. You can then connect an Android device or the game pad to the AVR.

      • Thanks, Sir. In my country, your knowledge on the subject is like a “bible”. I will follow all your instructions and try to achieve the goal. Greetings !

  7. Sir Martyn, just one more question and I promise that I do not bother you anymore. Is there any other Bluetooth module that can be connected to an Arduino and enabling connection with an HC-05 module, both as “transceivers Slaves” ? Thank you in advance.

    • The HC-05 can be either a master or slave. You set which one through the AT commands.

      The Arduino can control the HC-05 and can change the HC-05 settings automatically. You just need to have a way of putting the HC-05 in to AT mode. Remember though, different modules have different ways of doing this.

      Once the HC-05 is in AT mode you can use the Arduino to issue AT commands.

      Have a look at Entering AT Mode Method 2. Using the Arduino to Control the HC-05 which is part of the http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/ post.

      Please note that the method to get in to AT mode may not be the same for your module. For example if you have the FC114 version you will need to add a wire to pin 27 or pin 28, see above.

  8. Dear Marty,

    I have some problem calling AT+INQ when in AT Mode. Did I done anything wrong here?

    The command and replies entered:

    I tried using “AT+INIT” the HC05 will just blink rapidly and no “AT” commands could work, unless pulling the EN wire to low while pressing the button on HC 05.

    The model I am using is FC 114 and running on version 2.0-20100601.

    Advanced thanks for your help and advise. :)


Leave a Reply

Your email address will not be published. Required fields are marked *

9 + = eleven

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>