chose a language

HC bluetooth Module

HC bluetooth Module

HC Bluethoot Module


  1. Preface
  2. Type of modules
  3. The specifications
  4. First start-up
  5. Enter into AT mode
  6. AT commands
  7. Information Manufacturer and Sales



The HC bluetooth module is a module that allows you to transform a UART\USART port  more commonly known as a serial (RS-232 protocol as the only difference signal levels that would require a max232 for direct connection to a PC example) in a Bluetooth port, usually with SPP (Serial port Profile), thus becoming a serial over Bluetooth.

Normally this device is used when a microprocessor (MCU) which can be a PIC microchip or an Atmel  processor normally mounted on Arduino boards, must to communicate with the outside world, where the outside world can be a personal computer, a phone SmartPhone , a tablet or whatever technology can provide you with a Bluetooth connection.


Type of modules

The HC module has several versions that differ in some basic features that are not to be underestimated; these differences are about the setting of the Bluetooth protocol and for this reason there is to be very careful when you want to buy.

Basically, the module is divided into two large series which are:

  • Industrial level; whose product codes are HC-03,HC-04(HC-04-M,HC-04-S) 
  • Civil level; whose product codes are HC-05, HC-06(HC-06-M,HC-06-S)

Of both the series, the final number indicates the ability or not to change dynamically  the Master or Slave mode on the Bluetooth protocol; then in the event that the final number is 3 or 5 the modules have the possibility to change the configuration dynamically (via AT commands), while for the modules with the final number equal we should be careful that they are master or slave before buying them because their configuration can not be changed.

To all experts of the Bluetooth protocol do not need to specify any more, for all those who are less experienced, we can say that basically the Bluetooth protocol operates in Master / Slave mode, one master and n ° (few) slave.

So,to ensure that two modules communicate with each other you need, that one, enters into Master mode and the other one enters in Slave mode. To do this or you use two HC-05 that you configure one in master mode and the other one in slave mode or you  use a HC-06-M already configured in master mode and an HC-06-S already configured in slave mode.


The specifications

To begin, we can say that the dimensions of the module are really minimal namely 28mm * 15mm * 2.35mm. 

  • The Bluetooth version is  v 2.0 + EDR.
  • Frequency is 2.4GHz ISM band.
  • The processor used is a CSR Bluecore4.
  • The power supply voltage is 3,3 V.
  • The current required during the discover\handshake is approximately 30/40 mA while in communication phase is approximately of  8 mA.
  • The  recommended Power is therefore 3,3V 50mA
  • The possible serial speed configurable  are 4800, 9600, 19200, 38400, 57600, 115200, 234000, 460800, 921600, 1382400 bps.
  • The HC module is Bluetooth Class 2.

The classes for Bluetooth devices are totally 3:

    • Class 1 : Max. permitted are mW 100, dBm 20, Typ. range in meters100.
    • Class 2 : Max. permitted are mW 2,5, dBm 4, Typ. range in meters 10.
    • Class 3 : Max. permitted are mW 1, dBm 0, Typ. range in meters 1.

For all other specifications  you can refer to the datasheet than can be downloaded here Datasheet Area Download

Below is the wiring diagram of the minimum configuration specified for correct operation on the module HC-05:

Schema moulo bluetooth HC-05

Even if advised otherwise you can use the module by connecting the only power  and two pins TX and RX especially if the default settings should not be modified.

Another key difference between the two modules are the location of the pins and their use for which the image below illustrates the fundamental differences

pin bluetooth HC-05 hc-06

 First start-up


 As already said the module according to the model is provided with a basic configuration indicated below.

For the Model HC-05 :

  • bluetooth name HC-05 (to understand the name that will be displayed when searching for Bluetooth devices).
  • handshake password  1234 (password to be entered in the configuration step).
  • in the default mode, the module should be in Slave Bluetooth mode.
  • configuration of the speed serial is 9600 baud,1 stop bit,no bit parity.

For the Model HC-06 

  • bluetooth name linvor (to understand the name that will be displayed when searching for Bluetooth devices).
  • handshake password 1234 (password to be entered in the configuration step).
  • the module is in Master mode if the model is HC-06-M while is in Slave  mode if the model is HC-06-S.
  • configuration of the speed serial is  9600 baud,1 stop bit,no bit parity.

Said this, once connected the only 4 pins (TX, RX, VCC, GND) you can already be able to perform the discover of the module and once carried out the configuration step  you can  transmit and receive via the UART of the microprocessor (MCU) Atmel (Arduino), Microchip etc etc.

If we need to change the basic configuration we necessarily have to use AT commands, but to do this we must first put the module into AT command mode.

Enter into AT mode

The module works by default (pass me the term) in transparent mode, ie everything that passes through the bluetooth serial connection that in the most classic example is a virtual com of a PC is turned  via the UART to the microprocessor, so, in order to make that the module can listen for the AT commands, or more precisely, that  the module entering into AT mode you must use the pin that in the wiring diagrams is indicated with the KEY item.

Options for sending in AT mode the module are two and each corresponds to a significant difference in later use, here are the two modes with the respective differences:

  • Modality 1 Hold lower the voltage on Pin KEY (for Model HC-05 is the 34-pin), power module, then raise the voltage on pin KEY. In this way the module HC-05 will enter into AT mode and the communication speed will be the same configured for the module itself, which by default is as we said 9600.
  • ModalityHold high the voltage of Pin Key, power the module. In this way the module will enter into AT mode and the communication speed will be 38400.

So according to the Modality 1 is possible at any time it is necessary to enter AT mode and then get out of it just by pressing the Pin KEY.

AT commands

By AT commands you can configure or query the form of possible configurations, it is also possible to activate some PIN useful for different purposes if vacated, please refer to the datasheet for the pins used for these purposes.

To follow, the basic commands most commonly used:

  • AT+NAME?\r\n Returns the name with which the Bluetooth module is presented, in the case of the module HC-05 will be just  HC-05.
  • AT+NAME= HC-05\r\n  Configure with "HC-05" Bluetooth the name with which the module is presented.
  • AT+ ROLE?\r\n Returns the current configuration of the module that can be 0 Slave =, 1 = 2 = Master or Slave Loop Role.
  • AT+ ROLE=0\r\n Configure the module to  Slave.
  • AT+ PSWD?\r\n Returns the password to be entered at handshake time.
  • AT+ UART?\r\n Returns the UART configuration that will defaul 9600, 0, 0.
  • AT+UART=115200,0,0,\r\n Configure the serial port at 115200, 1 stop bit, no parity.


As you can see the query commands end with '?' while the configuration command  follows '=' and subsequently  the parameters setting.

We refer to the datasheet that can be downloaded here Datasheet Area Download for a list of all the AT commands.


 Information Manufacturer and Sales

The production company of the module is a Chinese company whose official website is

Since the site is  in the original language, for those unfamiliar with the language can  use a browser like Google Chrome with the automatic translation functionality enabled.


The module is really cheap and you can find it at a good price on the 4 euro each also on ebay, but attentive to the models.


You have no rights to post comments