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

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

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

Introduction

The HC-05 is a Bluetooth module designed and manufactured by Arduino to enable wireless communication between devices. It supports both master and slave modes, making it a versatile solution for a wide range of applications. The module is commonly used to establish communication between microcontrollers, such as Arduino boards, and Bluetooth-enabled devices like smartphones, tablets, or PCs.

Explore Projects Built with Modulo Bluetooth 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!
Arduino UNO Bluetooth Communication Module
Image of HC-05 Connection with arduino: A project utilizing Modulo Bluetooth HC-05 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 Communication Interface
Image of Bluetooth: A project utilizing Modulo Bluetooth 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 Modulo Bluetooth 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 Modulo Bluetooth 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 Modulo Bluetooth 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 HC-05 Connection with arduino: A project utilizing Modulo Bluetooth HC-05 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 Bluetooth: A project utilizing Modulo Bluetooth 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 Modulo Bluetooth 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 Modulo Bluetooth 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 transfer between microcontrollers and smartphones
  • Remote control of robots, drones, or IoT devices
  • Wireless sensor networks
  • Home automation systems
  • Serial communication replacement for wired connections

Technical Specifications

The HC-05 module is a robust and reliable Bluetooth device with the following key 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 (unobstructed)
Operating Modes Master and Slave
Dimensions 37.5mm x 15.2mm x 2.5mm

Pin Configuration and Descriptions

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

Pin Name Description
VCC Power supply pin. Connect to 3.3V or 5V.
GND Ground pin. Connect to the ground of the circuit.
TXD Transmit pin. Sends serial data to the connected microcontroller or device.
RXD Receive pin. Receives serial data from the connected microcontroller or device.
EN (Key) Enable pin. Used to switch between command mode and data mode.
STATE Indicates the connection status. High when connected, low when not connected.

Usage Instructions

How to Use the HC-05 in a Circuit

  1. Power the Module: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to the ground.
  2. Connect TXD and RXD:
    • Connect the TXD pin of the HC-05 to the RX pin of the microcontroller.
    • Connect the 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.
  3. Enable Communication:
    • Leave the EN pin unconnected for normal operation (data mode).
    • Pull the EN pin high to enter command mode for configuration.
  4. Pair the Module: Search for the HC-05 on your Bluetooth-enabled device. The default pairing code is 1234 or 0000.
  5. Send and Receive Data: Use a serial communication library to send and receive data wirelessly.

Important Considerations and Best Practices

  • Voltage Levels: Ensure the RXD pin does not receive signals higher than 3.3V. Use a voltage divider if necessary.
  • Baud Rate: The default baud rate is 9600 bps. Configure your microcontroller to match this rate.
  • Command Mode: Use command mode to change settings like the module name, baud rate, or operating mode.
  • Connection Status: Monitor the STATE pin to check if the module is connected to a device.

Example Code for Arduino UNO

Below is an example of how to use the HC-05 module with an Arduino UNO to send and receive data:

#include <SoftwareSerial.h>

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

void setup() {
  Serial.begin(9600); // Start Serial Monitor at 9600 baud
  BTSerial.begin(9600); // Start Bluetooth communication at 9600 baud

  Serial.println("HC-05 Bluetooth Module Test");
  Serial.println("Send data from Serial Monitor to Bluetooth device.");
}

void loop() {
  // Check if data is available from Bluetooth
  if (BTSerial.available()) {
    char data = BTSerial.read(); // Read data from Bluetooth
    Serial.print("Received: ");
    Serial.println(data); // Print received data to Serial Monitor
  }

  // Check if data is available from Serial Monitor
  if (Serial.available()) {
    char data = Serial.read(); // Read data from Serial Monitor
    BTSerial.write(data); // Send data to Bluetooth device
    Serial.print("Sent: ");
    Serial.println(data); // Print sent data to Serial Monitor
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Powering On:

    • Ensure the VCC pin is connected to a 3.3V or 5V power source.
    • Check for loose connections or damaged wires.
  2. Unable to Pair with Device:

    • Verify that the HC-05 is powered on and in range.
    • Ensure the correct pairing code (1234 or 0000) is used.
    • Check if the module is already paired with another device.
  3. No Data Transmission:

    • Confirm that the TXD and RXD pins are correctly connected.
    • Match the baud rate of the HC-05 and the microcontroller.
    • Use a voltage divider if the microcontroller operates at 5V logic levels.
  4. Cannot Enter Command Mode:

    • Pull the EN pin high before powering the module.
    • Use a serial terminal to send AT commands at the correct baud rate (default: 38400 bps).

FAQs

Q: Can the HC-05 module communicate with another HC-05 module?
A: Yes, the HC-05 can communicate with another HC-05 module when one is set to master mode and the other to slave mode.

Q: What is the maximum range of the HC-05 module?
A: The HC-05 has a maximum range of up to 10 meters in an unobstructed environment.

Q: How do I change the module name or baud rate?
A: Enter command mode by pulling the EN pin high and use AT commands to configure the module. For example, use AT+NAME=NewName to change the name.

Q: Can the HC-05 work with 5V logic levels?
A: The HC-05 operates at 3.3V logic levels. Use a voltage divider on the RXD pin if connecting to a 5V microcontroller.

By following this documentation, you can effectively integrate the HC-05 Bluetooth module into your projects for seamless wireless communication.