HC-05 FC-114 and HC-06 FC-114. Part 2 – Basic AT commands

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.

Since the HC-05 FC-114s and the HC-06 FC-11s share the same firmware the following should work on either module.

The default setting on start up is Slave Mode waiting for pairing or a connection and also accepting AT commands. This means it is fairly simply to start using AT commands.

HC-05 FC-114 & HC-06 FC-114_1200


The connections are the same as other HC05 and HC-06 modules
– Arduino D2 to BT TX
– Arduino D3 to voltage divider and then to BT RX
– Arduino 5v out to BT vcc in
– GND to GND

HC-05 FC-114 & HC-06 FC-114 Connections to Arduino
HC-05 FC-114 & HC-06 FC-114 Connections to Arduino_002_1200


Sketch HC-0x_FC-114_01_9600

Once you have made the above connections upload the following sketch. The sketch takes anything entered in to the serial monitor and sends it to the Bluetooth module. It also copies anything received from the Bluetooth module to the serial monitor. It also echos the user input in the serial monitor back to the serial monitor main window.

// 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; }


After uploading open the serial monitor and you should see the following

To confirm AT commands are working enter “AT” and hit Send.

You can also check the firmware version using “AT+VERSION”

The modules I have report the firmware as
+BOLUTEK Firmware V2.43, Bluetooth V2.0, HCI V2.1, HCI Rev37, LMP V4, LMP SubV37

To get a list of the available At commands enter AT+HELP and hit Send

And that’s all there is to it.

For more details about the AT commands look at the BLK-MD-BC04-B At Command user guide.


27 thoughts on “HC-05 FC-114 and HC-06 FC-114. Part 2 – Basic AT commands

  1. In the bluetooth module FC 114, there is an EN pin. What is the use of that pin and where do I connect it with arduino uno . How do I use that bluetooth module in master mode while pairing it with other bluetooth module ( PI 05).

  2. Hi,
    I also got fc-114s, and having some troubles.

    As you know, it is easy to enter the AT mode, but in my case AT commands do not work.

    only the test command, ‘AT’ works, and I can see ‘OK’ on the screen. (I’m using Tera Term with USB serial connector)

    other AT commands,


    no responses at all..

    as you mentioned in this article, there are not many docs about this fc-114

    Do you have any idea about this problem?

    thanks in advance.

    • Since few time i got a fc-114 so i’m not an expert but to have responses, i have to press the button just above the EN pin on the bluetooth module, during sending the AT commande (keep press during send the command)

      Hope it can help..

    • Thank you for your reply,

      I tried some AT commands,
      (I wrote these commands into notepad, and ‘copy and paste’ it, if I enter AT commands with keyboard, only ‘AT’ works, like ‘ATOK’)

      anyway, I pasted ‘AT+VERSION’ and HC-05 immediately returns ‘OK’ and ‘linvorV1.8′


      and ‘AT+HELP’ does not work. it is weird..hmm..


      • OK. You don’t have the FC-114 modules. You have a different version, possible the JY-MCU. It is also possible that you have a HC-06.

        Can you post a photo somewhere or link to a picture of the same device.
        How many pins does the module have?
        What markings are on the module?

          • I guess the manufactures are using the same break out boards for different BT modules. The boards I have all have the Boulutek firmware. The linvorV1.8 firmware is one of the standard firmwares and has been mostly found on boards like the JY-MCU.

            Going forward it may be better to get the firmware version first and use that rather than the model number printed on the board.

  3. Hi, im having a lot of trouble with this HC-05 FCC-114 module, even with your method, could it be the Arduino IDE? or my OS WIN 8.1 x64… im going crazy :((

    About AT mode, double checked everyting, baud rate, NL & CR, tried both 9600 and 38400 baud and LED shows it is actually in AT mode by blinking once every 2 sec, i kept the button on the corner pressed before powering, to achieve that, but no AT commands work for me, not even ‘AT’ or ‘AT+VERSION’ nothing… could it be related to the button on the corner? because i read somewhere that you need to keep it always pressed.

    Also tried using it without touching any AT command and module seems functional, LEDs are blinking as they should and also pairing and sending data from the module to a smartphone works fine, i used Bluetooth Terminal app to test it, it is able to send data to the phone, but nothing sent from my phone reaches the module and im really confused about why is that happening if everything else seems correct.

    I would be really thankful if you could give me some help, im running out of time with this project and im new to these bluetooth modules :(

    • It does appear that the manufacturers are using different bluetooth modules on the same breakout board and the first step should be to try an identify the firmware. It could be Bolutek (same as me) or it could be linvorV1.8. It may even be something else.

      The push button switch connects pin 34 of the small BT module to +3.3v. So far, I have found this works only on the zs-040 modules with the 2.0-20100601 firmware. On the modules you have, is pin34 connected? Pin34 if top right. If you look at the photos above you can see that pin34 is not connected (no solder) on the boards I have. See http://www.martyncurrey.com/wp-content/uploads/2015/08/HC-05_FC-114__HC-06_FC-114_001_1600.jpg

      Connect the module using the above diagram and then, while connected to the Arduino, with the Arduino on and with the serial monitor open, reset the BT module (remove power, reconnect to power). You should get some kind of start up message. If you do not, change the baud rate and try again. Try 9600, 38400 and 115200. If you get garbage characters then you have the wrong baud rate.
      If this still does not work follow the instruction at http://www.martyncurrey.com/arduino-and-hc-06-zs-040/. This should work if you have the linvorV1.8 firmware.

      If you find you have the linvorV1.8 firmware then you have an HC-06 and this acts differently.

      What name does the module use, what name is broadcast when you pair it?

      If you have the Bolutek firmware (same as me) then the push button doesn’t do anything and you can use AT commands straight away.

      What name is broadcast

      • THANKS A LOT for the fast reply, i’ve tried step by step and got the following results.

        Pin 34 looks connected, since it clearly has solder on top.

        Also tried resetting the module using every baud rate you sugested, and still no response at all to any AT commands, nor a startup message, im using same baud rates in both sentences Serial.begin(); and BTSerial.begin() (because that was the only way i got the bluetooth terminal test, to actually show something on the serial monitor) or should they be different one from the other? for example
        Serial.begin(9600) BTSerial.begin(38400)…

        By the way i checked the HC-06 link you said, and my module looks identical with the MX chip on top, but breakout board says FC-114 and the module LED behaves like an HC-05 since it blinks twice when paired, its never constantly on… the first time i scanned with a phone, broadcast said ‘HC-05′ but after reseting it started broadcasting ‘H-C-2010-06-01′, noticed the ’06’ in there but looked more like a date to me…

        if you know anything else i could try, ill be waiting, but again thanks for the fast reply, and keep it up, your page is great and the only one that explains everything in such a detailed way.

  4. Pingback: Quick Links | Martyn Currey

  5. Pingback: Arduino with HC-05 (ZS-040) Bluetooth module – AT MODE | Martyn Currey

  6. Hi..
    AT mode is not detecting perfectly at the master if we use your code…
    But it is detecting perfectly when we are using the just
    void setup(){
    void loop{
    how can we overcome this and make the AT mode detect perfectly?

  7. Hellow , I’m using FC-114 HC-05 pin34 is connect,
    when I enter an AT command, it give no response just the letters in typed in.

    • The AT you see is from the Arduino and it seems like the BT module is not connected correctly. Check all the connections. Also check that you have “Both NL & CR” selected in the serial monitor.

      A quick way to check;
      connect the BT module to the Arduino,
      load the above sketch,
      open the serial monitor and cycle the power to the BT module.

      If the BT module is connected correctly you will get a welcome message from the BT module. If you get garbage characters you have the wrong baud rate. Note that not all the BT modules have the same default baud rate and you may need to try several.

  8. Hi! I’m having issues with the 6-pin version. I connected every pin correctly, tried connecting rx through potentiometer, and both (rx and tx) signals through logic level converter, but neither of ways seems to work. The main issue is when I send the “AT” command in serial monitor, it doesn’t return anything. Everything in the serial monitor is set correctly, the “both NL & CR”, and 9600 baud rate. The LED is blinking repeatedly in even amounts of time. What am I doing wrong?


    • I am nor familiar with the Arduino101 but from what I see online it should work the same.

      If you have a usb-serial adapter you can use software serial and the serial monitor to confirm things are working.

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

Leave a Reply

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

two + = 3

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>