HC-05 Bluetooth module is a Bluetooth to serial-converter that connects microcontrollers (like Arduino) to other Bluetooth-enabled devices. HC-05 pinout and specifications are given below
HC-05 Pinout with Description:

PIN NO. | Pin Name | Pin Description |
1. | KEY/En | Connect 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. | VCC | Used to power the Bluetooth module. Give 5V / 3.3 V to this Pin. |
3. | GND | The ground pin of the module |
4. | TXD | Connect 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. | RXD | Connect 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. | STATE | It is used to check if the module is connected or not. It acts as a status indicator. |
HC-05 Specifications
**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.
HC-05 Bluetooth module datasheet:


Download the full datasheet from this link: HC-05 Datasheet
Introduction to HC-05 Bluetooth Module
The HC-05 is a very easy-to-use Bluetooth serial converter. HC-05 connects microcontrollers (like Arduino) to other Bluetooth-enabled devices. This allows the devices to communicate wirelessly with each other.

HC-05 is a Bluetooth SPP (Serial Port Protocol) module designed for wireless communication. It can also be operated as a master or slave configuration.
Working of HC-05 Bluetooth Module:
The HC-05 Bluetooth Module 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.
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 Breakout Board Pinout:

PIN Name | Pin | Type | Description |
GND | 13,21,22 | VSS | Ground Pot |
3.3 VCC | 12 | 3.3V | Integrated 3.3V supply with On-chip linear regulator output within 3.15-3.3V |
AIO0 | 9 | Bi-directional | Programmable input/output line |
AIO1 | 10 | Bi-directional | Programmable input/output line |
AIO0 | 23 | Bi-directional RX EN | Programmable input/output line, control output for LNA |
AIO1 | 24 | Bi-directional TX EN | Programmable input/output line, control output for PA |
PIO2 | 25 | Bi-directional | Programmable input/output line |
PIO3 | 26 | Bi-directional | Programmable input/output line |
PIO4 | 27 | Bi-directional | Programmable input/output line |
PIO5 | 28 | Bi-directional | Programmable input/output line |
PIO6 | 29 | Bi-directional | Programmable input/output line |
PIO7 | 30 | Bi-directional | Programmable input/output line |
PIN08 | 31 | Bi-directional | Programmable input/output line |
PIO9 | 32 | Bi-directional | Programmable input/output line |
PIO10 | 33 | Bi-directional | Programmable input/output line |
PIO11 | 34 | Bi-directional | Programmable input/output line |
RESET | 11 | CMOS input with weak internal pull-up | Reset of low. Input debounced must be low for >5MS to cause a reset |
UART_RTS | 4 | CMOS output, tri-stable with weak internal pull-up | UART request to send, active low |
UART_CTS | 3 | CMOS input with weak internal pull-down | UART clear to send, active low |
UART_RX | 2 | CMOS input with weak internal pull-down | UART Data input |
UART_TX | 1 | CMOS output, tri-stable with weak internal pull-up | UART Data output |
SPI_MOSI | 17 | CMOS input with weak internal pull-down | The Serial peripheral interface data input |
SPI_CSB | 16 | CMOS input with weak internal pull-up | Chip select for the serial peripheral interface, active low |
SPI_CLK | 19 | CMOS input with weak internal pull-down | The Serial peripheral interface clock |
SPI_MISO | 18 | CMOS input with weak internal pull-down | The Serial peripheral interface data output |
USB_- | 15 | Bi-directional | |
USB_+ | 20 | Bi-directional | |
NC | 14 | ||
PCM_CLK | 5 | Bi-directional | The Synchronous PCM data clock |
PCM_OUT | 6 | CMOS output | The Synchronous PCM data output |
PCM_IN | 7 | CMOS input | The Synchronous PCM data input |
PCM_SYNC | 8 | Bi-directional | The Synchronous PCM data strobe |
HC-05 Arduino Connections:
- Connect an LED to an Arduino board with the help of jumper wires.
- Connect the Bluetooth module (HC-05) 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 of HC-05 to Ground of Arduino.
- Power of HC-05 to 3.3V of Arduino.
- Tx of HC-05 to Rx of Arduino.
- Rx of HC-05 to Tx of Arduino.
** Full tutorial here: Arduino Remote controlled LED using HC-05
Applications of HC-05 Bluetooth module:
- Computer and peripheral devices
- GPS receiver
- Industrial control
- MCU projects