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

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

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

Introduction

The HC-05 is a Bluetooth module designed for wireless communication. Manufactured by AZ-Delivery, this module is widely used to establish a connection between microcontrollers and other Bluetooth-enabled devices. It supports both Master and Slave modes, making it versatile for various applications.

Explore Projects Built with HC-05

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi Pico-Based Navigation Assistant with Bluetooth and GPS
Image of sat_dish: compass example: A project utilizing HC-05 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
Arduino UNO Bluetooth Communication Interface
Image of Bluetooth: A project utilizing HC-05 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, respectively, for power. The TXD pin of the HC-05 is connected to the Arduino's D1 (RX) pin, and the RXD pin of the HC-05 is connected through a voltage divider made of two resistors to the Arduino's D0 (TX) pin, allowing for serial communication between the two devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Bluetooth-Controlled Relay System
Image of home automaton: A project utilizing HC-05 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 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

Explore Projects Built with HC-05

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 sat_dish: compass example: A project utilizing HC-05 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
Image of Bluetooth: A project utilizing HC-05 in a practical application
Arduino UNO 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, respectively, for power. The TXD pin of the HC-05 is connected to the Arduino's D1 (RX) pin, and the RXD pin of the HC-05 is connected through a voltage divider made of two resistors to the Arduino's D0 (TX) pin, allowing for serial communication between the two devices.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of home automaton: A project utilizing HC-05 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 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

Common Applications and Use Cases

  • Wireless Data Transmission: Ideal for sending and receiving data wirelessly between microcontrollers and smartphones, tablets, or PCs.
  • Remote Control Systems: Used in projects where remote control of devices is required, such as home automation systems.
  • Robotics: Enables wireless control and communication in robotic systems.
  • IoT Projects: Facilitates wireless communication in Internet of Things (IoT) applications.

Technical Specifications

Key Technical Details

Specification Value
Manufacturer AZ-Delivery
Part ID HC-05
Bluetooth Protocol Bluetooth V2.0+EDR (Enhanced Data Rate)
Frequency 2.4GHz ISM band
Modulation GFSK (Gaussian Frequency Shift Keying)
Power Supply 3.3V DC
Operating Voltage 3.3V to 5V
Operating Current 30mA
Range Up to 10 meters
Data Rate 2.1 Mbps (Max)
Operating Temperature -20°C to +75°C

Pin Configuration and Descriptions

Pin Number Pin Name Description
1 EN Enable/Disable the module
2 VCC Power supply (3.3V to 5V)
3 GND Ground
4 TXD Transmit data
5 RXD Receive data
6 STATE Connection status indicator
7 LED Status LED (indicates module state)

Usage Instructions

How to Use the HC-05 in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power supply and the GND pin to the ground.
  2. Data 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. Enable Pin: The EN pin can be connected to a digital pin of the microcontroller to enable or disable the module programmatically.
  4. Status LED: The LED pin can be used to monitor the status of the module.

Important Considerations and Best Practices

  • Voltage Levels: Ensure that the voltage levels are compatible. The HC-05 operates at 3.3V logic levels, so use a voltage divider or level shifter if interfacing with a 5V microcontroller.
  • Baud Rate: The default baud rate of the HC-05 is 9600. Ensure that the microcontroller's serial communication is set to the same baud rate.
  • Pairing: When pairing with another Bluetooth device, the default PIN code is usually "1234" or "0000".

Example Code for Arduino UNO

#include <SoftwareSerial.h>

// Create a software serial port on pins 10 (RX) and 11 (TX)
SoftwareSerial BTSerial(10, 11);

void setup() {
  // Start the hardware serial port
  Serial.begin(9600);
  // Start the software serial port
  BTSerial.begin(9600);
  Serial.println("Enter AT commands:");
}

void loop() {
  // Read from the hardware serial port and send to the software serial port
  if (Serial.available()) {
    BTSerial.write(Serial.read());
  }
  // Read from the software serial port and send to the hardware serial port
  if (BTSerial.available()) {
    Serial.write(BTSerial.read());
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Powering On:

    • Solution: Check the power supply connections. Ensure that VCC is connected to a 3.3V or 5V source and GND is connected to ground.
  2. No Data Transmission:

    • Solution: Verify the TXD and RXD connections. Ensure that the TXD pin of the HC-05 is connected to the RX pin of the microcontroller and vice versa.
  3. Unable to Pair with Bluetooth Device:

    • Solution: Ensure that the HC-05 is in pairing mode (LED blinking rapidly). Check the default PIN code (usually "1234" or "0000").
  4. Incorrect Baud Rate:

    • Solution: Ensure that both the HC-05 and the microcontroller are set to the same baud rate (default is 9600).

FAQs

  • Q: Can the HC-05 module be used with a 5V microcontroller?

    • A: Yes, but ensure to use a voltage divider or level shifter for the RXD pin to avoid damage.
  • Q: How do I change the baud rate of the HC-05?

    • A: You can change the baud rate using AT commands. For example, send AT+UART=115200,0,0 to set the baud rate to 115200.
  • Q: What is the range of the HC-05 module?

    • A: The HC-05 module has a range of up to 10 meters in open space.
  • Q: Can the HC-05 module be used for audio transmission?

    • A: No, the HC-05 is designed for data transmission and does not support audio transmission.

This documentation provides a comprehensive guide to using the HC-05 Bluetooth module, ensuring both beginners and experienced users can effectively integrate it into their projects.