Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use HC-05 Bluetooth Module: Examples, Pinouts, and Specs

Image of HC-05 Bluetooth Module
Cirkit Designer LogoDesign with HC-05 Bluetooth Module in Cirkit Designer

Introduction

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

Explore Projects Built with HC-05 Bluetooth Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO Bluetooth Communication Module
Image of HC-05 Connection with arduino: A project utilizing HC-05 Bluetooth Module in a practical application
This circuit consists of an Arduino UNO microcontroller connected to an HC-05 Bluetooth module. The Arduino provides power to the Bluetooth module and facilitates serial communication between the two devices, enabling wireless data transmission.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Bluetooth-Controlled Relay System
Image of home automaton: A project utilizing HC-05 Bluetooth Module in a practical application
This circuit features an Arduino UNO microcontroller interfaced with an HC-05 Bluetooth module for wireless communication. It also includes two 5V two-channel relay modules, which are connected to the Arduino for controlling external devices. The setup allows for remote control of devices via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and HC-05 Bluetooth Communication Interface
Image of blutooth: A project utilizing HC-05 Bluetooth Module in a practical application
This circuit connects an HC-05 Bluetooth Module to an Arduino UNO for wireless communication. The HC-05's VCC and GND are connected to the Arduino's 5V and GND for power. The HC-05's TXD and RXD pins are connected to the Arduino's D11 and D10 pins, respectively, allowing for serial communication between the two devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico-Based Navigation Assistant with Bluetooth and GPS
Image of sat_dish: compass example: A project utilizing HC-05 Bluetooth Module in a practical application
This circuit features a Raspberry Pi Pico microcontroller interfaced with an HC-05 Bluetooth module for wireless communication, an HMC5883L compass module for magnetic field measurement, and a GPS NEO 6M module for location tracking. The Pico is configured to communicate with the HC-05 via serial connection (TX/RX), with the compass module via I2C (SCL/SDA), and with the GPS module via serial (TX/RX). Common power (VCC) and ground (GND) lines are shared among all modules, indicating a unified power system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with HC-05 Bluetooth Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of HC-05 Connection with arduino: A project utilizing HC-05 Bluetooth Module in a practical application
Arduino UNO Bluetooth Communication Module
This circuit consists of an Arduino UNO microcontroller connected to an HC-05 Bluetooth module. The Arduino provides power to the Bluetooth module and facilitates serial communication between the two devices, enabling wireless data transmission.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of home automaton: A project utilizing HC-05 Bluetooth Module in a practical application
Arduino UNO Bluetooth-Controlled Relay System
This circuit features an Arduino UNO microcontroller interfaced with an HC-05 Bluetooth module for wireless communication. It also includes two 5V two-channel relay modules, which are connected to the Arduino for controlling external devices. The setup allows for remote control of devices via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of blutooth: A project utilizing HC-05 Bluetooth Module in a practical application
Arduino UNO and HC-05 Bluetooth Communication Interface
This circuit connects an HC-05 Bluetooth Module to an Arduino UNO for wireless communication. The HC-05's VCC and GND are connected to the Arduino's 5V and GND for power. The HC-05's TXD and RXD pins are connected to the Arduino's D11 and D10 pins, respectively, allowing for serial communication between the two devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of sat_dish: compass example: A project utilizing HC-05 Bluetooth Module in a practical application
Raspberry Pi Pico-Based Navigation Assistant with Bluetooth and GPS
This circuit features a Raspberry Pi Pico microcontroller interfaced with an HC-05 Bluetooth module for wireless communication, an HMC5883L compass module for magnetic field measurement, and a GPS NEO 6M module for location tracking. The Pico is configured to communicate with the HC-05 via serial connection (TX/RX), with the compass module via I2C (SCL/SDA), and with the GPS module via serial (TX/RX). Common power (VCC) and ground (GND) lines are shared among all modules, indicating a unified power system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Wireless communication between microcontrollers and devices
  • Remote control systems
  • Data logging and monitoring
  • Home automation
  • Robotics and IoT projects
  • Wireless sensor networks

Technical Specifications

The HC-05 Bluetooth Module is designed to provide reliable and efficient communication. Below are its key technical details:

General Specifications

Parameter Value
Bluetooth Version 2.0 + EDR (Enhanced Data Rate)
Operating Voltage 3.3V to 5V
Communication Protocol UART (Universal Asynchronous Receiver-Transmitter)
Default Baud Rate 9600 bps
Power Consumption < 50mA
Range Up to 10 meters (line of sight)
Operating Temperature -20°C to +75°C

Pin Configuration and Descriptions

The HC-05 module has 6 pins, as described in the table below:

Pin Name Pin Number Description
EN/KEY 1 Enables AT command mode when pulled HIGH. Leave LOW for normal operation.
VCC 2 Power supply input (3.3V to 5V).
GND 3 Ground connection.
TXD 4 Transmit data pin (connect to RX of microcontroller).
RXD 5 Receive data pin (connect to TX of microcontroller).
STATE 6 Indicates connection status (HIGH when connected, LOW when disconnected).

Usage Instructions

The HC-05 Bluetooth Module is easy to integrate into a circuit. Follow the steps below to use it effectively:

Connecting the HC-05 to a Microcontroller

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. UART Communication: Connect the TXD pin of the HC-05 to the RX pin of the microcontroller, and the RXD pin of the HC-05 to the TX pin of the microcontroller.
  3. AT Command Mode (Optional): To configure the module, pull the EN/KEY pin HIGH and use AT commands via a serial terminal.

Example: Connecting HC-05 to Arduino UNO

Below is an example of how to connect and use the HC-05 with an Arduino UNO:

Wiring Diagram

HC-05 Pin Arduino UNO Pin
VCC 5V
GND GND
TXD Pin 10 (RX)
RXD Pin 11 (TX)
EN/KEY Not connected

Arduino Code Example

#include <SoftwareSerial.h>

// Define RX and TX pins for SoftwareSerial
SoftwareSerial BTSerial(10, 11); // RX = Pin 10, TX = Pin 11

void setup() {
  // Start the hardware serial communication for debugging
  Serial.begin(9600);
  Serial.println("HC-05 Bluetooth Module Test");

  // Start the software serial communication with HC-05
  BTSerial.begin(9600); // Default baud rate of HC-05
  Serial.println("Enter AT commands:");
}

void loop() {
  // Check if data is available from HC-05
  if (BTSerial.available()) {
    char c = BTSerial.read();
    Serial.write(c); // Forward data to Serial Monitor
  }

  // Check if data is available from Serial Monitor
  if (Serial.available()) {
    char c = Serial.read();
    BTSerial.write(c); // Forward data to HC-05
  }
}

Important Considerations and Best Practices

  • Voltage Levels: The RXD pin is not 5V tolerant. Use a voltage divider or level shifter if connecting to a 5V microcontroller.
  • AT Command Mode: Use AT commands to configure the module (e.g., change baud rate, set name, or switch between master/slave modes).
  • Connection Status: Monitor the STATE pin to determine if the module is connected to a device.
  • Avoid Noise: Use decoupling capacitors near the power pins to reduce noise and ensure stable operation.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Responding to AT Commands

    • Ensure the EN/KEY pin is pulled HIGH.
    • Verify the baud rate is set to 9600 bps (default for AT mode).
    • Check wiring connections for errors.
  2. No Data Transmission

    • Confirm the TXD and RXD pins are correctly connected to the microcontroller.
    • Ensure the paired device is within the module's range (10 meters).
  3. Unstable Connection

    • Check for power supply stability. Use a regulated 3.3V or 5V source.
    • Avoid interference from other Bluetooth devices operating nearby.
  4. Cannot Pair with Another Device

    • Ensure the module is in discoverable mode (flashing LED indicates this).
    • Verify the pairing code (default is usually 1234 or 0000).

FAQs

Q: Can the HC-05 module work with 5V logic levels?
A: The TXD pin can output 5V logic, but the RXD pin is not 5V tolerant. Use a voltage divider or level shifter for safe operation with 5V microcontrollers.

Q: How do I reset the HC-05 module?
A: Disconnect the power supply, then reconnect it. Alternatively, use the AT command AT+RESET.

Q: Can I use the HC-05 for audio transmission?
A: No, the HC-05 is designed for serial data communication and does not support audio profiles.

Q: How do I switch between master and slave modes?
A: Use the AT command AT+ROLE=1 for master mode and AT+ROLE=0 for slave mode.

By following this documentation, you can effectively integrate and troubleshoot the HC-05 Bluetooth Module in your projects.