

The HC-05 Bluetooth Module, manufactured by DSD TECH (Part ID: Bluetooth), is a versatile wireless communication module designed for short-range data transmission. It operates using Bluetooth technology and is widely used in embedded systems to enable wireless communication between devices. The module supports both master and slave modes, making it suitable for a variety of applications.








The HC-05 Bluetooth Module is designed to operate efficiently in a wide range of applications. Below are its key technical details:
| Parameter | Specification |
|---|---|
| Bluetooth Version | 2.0 + EDR (Enhanced Data Rate) |
| Operating Voltage | 3.3V to 5V |
| Operating Current | 30mA (typical) |
| Communication Protocol | UART (Universal Asynchronous Receiver-Transmitter) |
| Baud Rate (Default) | 9600 bps |
| Range | Up to 10 meters (unobstructed) |
| Frequency Band | 2.4 GHz ISM band |
| Master/Slave Support | Configurable |
| Dimensions | 37.5mm x 15.2mm x 2.7mm |
The HC-05 module has 6 pins, as described in the table below:
| Pin Name | Pin Number | Description |
|---|---|---|
| EN/KEY | 1 | Used to switch between command and data modes. Pull HIGH to enter command mode. |
| VCC | 2 | Power supply input (3.3V to 5V). |
| GND | 3 | Ground connection. |
| TXD | 4 | Transmit data pin (connect to RXD of microcontroller). |
| RXD | 5 | Receive data pin (connect to TXD of microcontroller). |
| STATE | 6 | Indicates the connection status (HIGH when connected, LOW when disconnected). |
The HC-05 Bluetooth Module is easy to integrate into a circuit. Follow the steps below to use it effectively:
VCC pin to a 3.3V or 5V power source and the GND pin to ground.TXD pin of the HC-05 to the RX pin of the microcontroller.RXD pin of the HC-05 to the TX pin of the microcontroller. Use a voltage divider if the microcontroller operates at 5V logic levels.EN/KEY pin to a GPIO pin of the microcontroller if you need to switch between command and data modes.STATE pin to monitor the connection status.The HC-05 can be configured using AT commands in command mode. To enter command mode:
EN/KEY pin HIGH before powering the module.Below is an example of how to use the HC-05 with an Arduino UNO to send and receive data:
VCC to the Arduino's 5V pin.GND to the Arduino's GND pin.TXD to the Arduino's RX pin (pin 0).RXD to the Arduino's TX pin (pin 1) through a voltage divider.// HC-05 Bluetooth Module Example with Arduino UNO
// This code sends and receives data via the HC-05 module.
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial BTSerial(10, 11); // RX = pin 10, TX = pin 11
void setup() {
// Initialize hardware serial for debugging
Serial.begin(9600);
Serial.println("HC-05 Bluetooth Module Test");
// Initialize Bluetooth serial communication
BTSerial.begin(9600); // Default baud rate for HC-05
Serial.println("Bluetooth module ready");
}
void loop() {
// Check if data is available from the Bluetooth module
if (BTSerial.available()) {
char data = BTSerial.read(); // Read data from HC-05
Serial.print("Received: ");
Serial.println(data); // Print received data to Serial Monitor
}
// Check if data is available from the Serial Monitor
if (Serial.available()) {
char data = Serial.read(); // Read data from Serial Monitor
BTSerial.write(data); // Send data to HC-05
Serial.print("Sent: ");
Serial.println(data); // Print sent data to Serial Monitor
}
}
RXD pin is not 5V tolerant. Use a voltage divider or level shifter if your microcontroller operates at 5V logic.EN/KEY pin HIGH before powering the module to enter command mode.Module Not Responding to AT Commands:
EN/KEY pin is HIGH before powering the module.No Data Transmission:
TXD and RXD pins are correctly connected (crossed).Unstable Connection:
Module Not Pairing:
1234 or 0000).Q1: Can the HC-05 work with 5V logic levels?
A1: The TXD pin can output 5V logic, but the RXD pin is not 5V tolerant. Use a voltage divider for safe operation.
Q2: How do I reset the HC-05 to factory settings?
A2: Enter command mode and send the AT+ORGL command to reset the module to its default settings.
Q3: Can I use the HC-05 for audio transmission?
A3: No, the HC-05 is designed for serial data communication and does not support audio transmission.
Q4: How do I change the module's name or PIN?
A4: Use the following AT commands in command mode:
AT+NAME=YourNameAT+PSWD=YourPINBy following this documentation, you can effectively integrate and troubleshoot the HC-05 Bluetooth Module in your projects.