Basics of HC-05 Bluetooth Module- Pinout, Specs & Modes

Last updated on March 26th, 2024 at 06:02 pm

HC-05 Bluetooth module is a very easy-to-use Bluetooth to serial converter that connects microcontrollers (like Arduino) to other Bluetooth-enabled devices(like a smartphone). This allows the devices to communicate wirelessly with each other.

This module follows the Bluetooth SPP (Serial Port Protocol) and can be used as both master or slave configuration.

HC-05 Bluetooth Module
HC-05 Bluetooth Module
Alternativest to HC-05 

You can use HC-06, HC-08 or RN-42 in place of HC-05. Though ESP32 is not a direct replacement, it is an excellent choice for bluetooth projects.

HC-05 Bluetooth module pinout

HC-05 Pinout
PIN NO.Pin NamePin Description
1.KEY/EnConnect this pin with the RXD pin of the Microcontroller. This pin transmits Serial data (wireless signals received by the Bluetooth module are converted by the module and transmitted out serially on this pin)
2.VCCUsed to power the Bluetooth module. Give 5V / 3.3 V to this Pin.
3.GNDConnect this pin with the RXD pin of the Microcontroller. This pin transmits Serial data (wireless signals received by the Bluetooth module are converted by the module and transmitted out serially on this pin)
4.TXDConnect this pin with the RXD pin of the Microcontroller. This pin transmits Serial data (wireless signals received by the Bluetooth module are converted by module and transmitted out serially on this pin)
5.RXDConnect this pin to the TXD pin of the Microcontroller. The HC-05 Bluetooth module receives the data from this pin and then transmits it wirelessly.
6.STATEIt is used to check if the module is connected or not. It acts as a status indicator.
HC-05 module pin description


Image shown below highlights the different parts of this module.

HC-05 board layout
HC-05 board layout

**Image Source: Electrosome

  • Bluetooth protocol: Bluetooth Specification v2.0+EDR (Enhanced Data Rate)
  • Frequency: 2.4GHz ISM band
  • Modulation: GFSK (Gaussian Frequency Shift Keying)
  • Emission power: ≤4dBm, Class 2
  • Sensitivity: ≤-84dBm at 0.1% BER
  • Speed: Asynchronous communication: 2.1Mbps (Max) / 160 kbps, Synchronous communication: 1Mbps/1Mbps
  • Security: Authentication and encryption
  • Profiles: Bluetooth serial port
  • Supply Voltage: +3.3V to 6.0 V
  • Supply Current: 30mA
  • Working temperature: -20 ~ +75Centigrade
  • Dimension: 26.9mm x 13mm x 2.2 mm
  • HC-05 Bluetooth module follows the IEEE 802.15.1 standardized protocol, through which one can build a wireless Personal Area Network (PAN). It uses frequency-hopping spread spectrum (FHSS) radio technology to send data over the air.

Working of HC-05 bluetooth module

It can be used in two modes of operation: Command Mode and Data Mode.

Command mode

In Command Mode, we can communicate with the Bluetooth module through AT Commands to configure various settings and parameters of the Module. This includes the firmware information, changing the Baud Rate, changing the module name, etc.

We can also use it to set HC-05 as a master or slave. To select either of the modes, we need to activate the Command Mode and send the correct AT Commands. The baud rate is 38400bps in command mode.

Command DescriptionResponse
AT Checking communicationOK
AT+PSWD=XXXX Set Password
e.g. AT+PSWD=4567
AT+NAME=XXXX Set Bluetooth Device Name
e.g. AT+NAME=MyHC-05
AT+UART=Baud rate, stop bit, parity bit Change Baud rate
e.g. AT+UART=9600,1,0
AT+VERSION?Send details of settings done by the manufacturer+Version: XX OKe.g. +Version: 2.0 20130107   OK
AT+ORGLSend detail of settings done by the manufacturerParameters: device type, module mode, serial parameter, passkey, etc.
Various commands with description

Data mode

In this mode, the module is used for communicating with other Bluetooth devices i.e. data transfer happens in this mode. Exchange of data between devices. The baud rate is 9600bps in data mode.

HC-05 default settings

  • Default Bluetooth name: “HC-05”
  • Default password: 1234 or 0000
  • Default communication: Slave Mode
  • Default mode: Data Mode
  • Baud rate: 9600 bps
  • Command mode baud rate: 38400 bps
  • Data Mode Settings:  8 data bits, 1 stop bit, No Parity

How to use HC-05 Bluetooth module with Arduino?

You need the following components to make your first Bluetooth-enabled project using HC-05 with Arduino.

  • LED
  • 200-ohm resistor
  • HC-05 Bluetooth module
  • Arduino UNO
  • Breadboard
  • Jumper wires

Connect all these components as shown below.

HC-05 connection with Arduino
HC-05 connection with Arduino
  • Connect an LED to an Arduino board with the help of jumper wires.
  • Connect the Bluetooth module to the Arduino with the help of jumper wires. Except for the first and the last pin, all other pins need to be connected to the Arduino.
  • Ground and power pins of HC-05 to Ground and 3.3V pins of Arduino, respectively.
  • Tx of module to RX of Arduino and vice versa.

 ** Full tutorial here: Arduino Remote controlled LED using HC-05


Download the full datasheet from this link: HC-05 Datasheet

Where to buy?


What is the PIN code for HC-05?

PIN code or default password of HC-05 is 1234 or 0000

What is the state pin in HC-05?

The state pin serves to indicate its current operational status, such as paired or unpaired, connected or disconnected. It outputs a signal that can be monitored by microcontrollers to facilitate communication and control in embedded systems.

Can HC-05 run at 3.3 V?

Yes, it can operate at 3.3V, making it compatible with many microcontrollers and devices that use lower voltage levels.

Photo of author

Ankit Negi

I am an electrical engineer by profession who loves to tinker with electronic devices and gadgets and have been doing so for over six years now. During this period, I have made many projects and helped thousands of students through my blog and YouTube videos. I am active on Linkedin.

Leave a Comment