How HC05 Bluetooth Module Works with Arduino: A Comprehensive Guide [2025]

The HC05 Bluetooth Module is a popular component for enabling wireless communication between an Arduino and other devices, such as smartphones, laptops, or PCs. It is easy to set up and works using Serial Communication, making it ideal for beginners who want to control their Arduino projects remotely. One of its key advantages is that it can function as both a master and a slave device, unlike the HC06, which only works as a slave. This allows two Arduino boards to communicate wirelessly, making the HC05 perfect for advanced projects that require data exchange between multiple devices. Whether you’re controlling LEDs, motors, or sensors, this module provides a reliable and efficient way to establish a Bluetooth connection.

In this guide, we will discuss how to interface the HC05 Bluetooth Module with an Arduino and explore how to create projects using the BlueBot Controller Android app. For beginners, using the module with a breakout board simplifies the wiring process, as it follows the Serial Port Protocol (SPP) and communicates through TX and RX pins. This makes sending and receiving data effortless. Additionally, we will cover how to configure the HC-05 as both a master and a slave device, allowing two Arduinos to connect via Bluetooth. By the end of this tutorial, you’ll be able to build exciting Bluetooth-based Arduino projects and control them using the BlueBot Controller app.

HC05 Bluetooth Module with Arduino: A Comprehensive Guide 2025

Table of Contents

What is the HC05 Bluetooth Module?

The HC05 Bluetooth Module is a widely used wireless communication module designed for serial data transmission over Bluetooth technology. It enables devices to communicate wirelessly, eliminating the need for physical connections. This module is particularly useful in Arduino-based projects, allowing seamless interaction between microcontrollers and smartphones, laptops, or other Bluetooth-enabled devices. With its simple interface and reliable performance, the HC-05 Bluetooth Module has become a popular choice for beginners and advanced users alike.

One of the key features of the HC05 Bluetooth Module is its ability to operate in both master and slave modes. In master mode, it can initiate connections with other Bluetooth devices, while in slave mode, it waits for incoming connections. This versatility makes it suitable for a wide range of applications, such as remote control systems, home automation, wireless data logging, and even robotics. The ability to switch between master and slave configurations provides flexibility, allowing the module to be integrated into more complex Bluetooth communication networks.

The HC05 Bluetooth Module operates on a 2.4GHz frequency and uses the UART (Universal Asynchronous Receiver-Transmitter) protocol for communication. This protocol allows seamless serial data transfer between the module and a microcontroller, such as an Arduino. By connecting the module’s TX (Transmit) and RX (Receive) pins to the Arduino’s serial ports, users can send and receive commands wirelessly. Additionally, the module supports AT commands, which enable users to configure various settings, such as changing the baud rate, modifying the device name, and switching between master and slave modes.

How HC05 Bluetooth Module Works with Arduino

The HC05 Bluetooth Module Works as a wireless communication bridge between Arduino and other Bluetooth-enabled devices like smartphones or computers. It operates on Bluetooth 2.0 technology and communicates using serial communication (UART). The module has two modes: master and slave. In master mode, it searches and connects to other Bluetooth devices, while in slave mode, it waits for a connection request. The HC05 Bluetooth Module Works by using AT commands to configure settings such as baud rate, name, and password, making it flexible for different applications.

When transferring data, the HC05 Bluetooth Module Works by converting serial data into Bluetooth signals and transmitting it wirelessly. Arduino sends data via the TX pin of the module, and the module sends it to a paired device. Similarly, when receiving data, the module takes Bluetooth signals from a connected device and converts them back into serial data, which is then sent to Arduino through the RX pin. This allows seamless communication between Arduino and other Bluetooth-supported devices, making it useful for projects like remote control systems and sensor data transmission.

The HC05 Bluetooth Module Works by supporting a baud rate between 9600 and 115200, which determines the speed of data transfer. It can send and receive data in small packets, typically up to 512 bytes at a time, depending on the Bluetooth buffer size. The module processes data in real-time, ensuring quick communication with minimal delay. Due to its efficient and low-power design, the HC05 Bluetooth Module Works effectively in various IoT, automation, and robotics applications, providing a reliable wireless connection for Arduino projects.

How Does the HC05 Bluetooth Module Transfer Data?

The HC05 Bluetooth Module Works by transmitting data wirelessly using Bluetooth signals. When connected to an Arduino, it receives serial data from the TX pin and converts it into Bluetooth packets before sending it to the paired device. Similarly, when receiving data, it takes Bluetooth signals from a connected device, converts them back into serial data, and sends it to Arduino through the RX pin. This bidirectional communication allows seamless wireless data exchange between Arduino and smartphones, computers, or other microcontrollers. The HC05 Bluetooth Module Works efficiently for real-time applications like home automation, wireless sensors, and robotics.

How Much Data Can the HC05 Bluetooth Module Send at a Time?

The HC05 Bluetooth Module Works with a baud rate range between 9600 and 115200, affecting how fast data is transmitted. It can send and receive small packets of data, typically up to 512 bytes per transmission. This ensures a stable and reliable connection for applications requiring frequent data exchange. The processing speed of the module enables quick responses with minimal delay, making it ideal for projects that require instant communication. Due to its efficient data handling, the HC05 Bluetooth Module Works well in IoT projects, remote monitoring systems, and wireless sensor networks.

Features of HC05 Bluetooth Module

  • Supports Bluetooth 2.0+EDR
  • Works on 3.3V to 5V power supply
  • Communication via UART interface
  • Configurable as Master or Slave
  • Default baud rate: 9600bps
  • Supports AT commands for customization

Why Choose the HC05 Bluetooth Module?

The HC05 Bluetooth module is a versatile and cost-effective solution for wireless communication. Here’s why it’s a favorite among hobbyists and professionals alike:

  1. Affordable: At just $5, it’s one of the most budget-friendly Bluetooth modules available.
  2. Easy to Use: No need to deal with complex Bluetooth protocols. Simply send data over a serial interface, and the HC05 handles the rest.
  3. Wide Compatibility: Works seamlessly with microcontrollers like Arduino, smartphones, and PCs.
  4. Dual Role: Can function as both a master and slave device, making it suitable for a variety of applications.

Here’s a detailed overview of the HC05 Bluetooth Module:

HC05 Bluetooth Module: Hardware Overview

The HC05 Bluetooth module is a versatile and widely used Bluetooth-to-serial bridge that enables wireless communication between microcontrollers, such as Arduino, Raspberry Pi, or ESP32, and Bluetooth-enabled devices like smartphones, tablets, or laptops. It supports both Master and Slave modes, allowing it to communicate with other Bluetooth devices seamlessly.

Key Features:

  • Bluetooth Version: Bluetooth 2.0 + EDR (Enhanced Data Rate)
  • Operating Voltage: 3.6V – 6V (Typically powered with 5V)
  • Logic Level: 3.3V (Needs a voltage divider for 5V microcontrollers)
  • Range: Up to 10 meters (Class 2 Bluetooth device, effective range depends on obstacles and interference)
  • Baud Rate: Default 9600 bps, configurable from 1200 to 115200 bps
  • Operating Modes: Supports both Master and Slave modes
  • Communication Protocol: UART (Serial Communication)

HC05 Bluetooth Module Pinout & Functions

The HC05 module consists of six pins for interfacing with microcontrollers:

PinFunctionDescription
VCCPower InputConnects to +5V (regulated power source)
GNDGroundConnects to 0V (GND)
TXDTransmit DataSends serial data from HC05 Bluetooth moduleto microcontroller
RXDReceive DataReceives serial data from microcontroller to HC-05 (Requires 3.3V logic)
STATEConnection Status IndicatorHigh when connected, Low when not connected
EN (Enable) / KEYMode SelectionUsed to switch between AT command mode and Data mode

Onboard LED Indicators & Their Meaning

The HC-05 module includes an onboard LED that provides status indications:

  • Fast Blinking (Approx. 5 times per second): Not paired (Waiting for connection)
  • Slow Blinking (Approx. 1 time per second): Paired (Connected successfully)
  • Steady ON: AT Command Mode (Used for configuration)

How Does a Bluetooth Module Send Commands Over the Air?

HC05 Bluetooth module are small devices that allow wireless communication between electronics, such as smartphones, microcontrollers, or computers. They use radio waves to send and receive data over short distances, usually up to 100 meters. If you are a beginner and want to understand how Bluetooth works, here’s a detailed, easy-to-understand guide:

1. Connection Setup:

The first step in using a HC05 Bluetooth module is establishing a connection. The HC05 Bluetooth module typically connects to a device like your smartphone, computer, or a microcontroller (e.g., Arduino or Raspberry Pi). This connection is made through a serial interface, such as UART (Universal Asynchronous Receiver/Transmitter), which allows communication between the Bluetooth module and the connected device.

Once paired, both devices can send and receive data through this serial link. The process of pairing involves the devices recognizing each other and creating a secure connection to exchange data.

2. Data Conversion:

After the connection is made, the HC05 Bluetooth module is ready to send data. When you issue a command (for example, turning on a light or moving a motor), the command is first converted into a digital data packet. Data packets are small chunks of information that can be easily transmitted.

This digital data is typically a binary format (1s and 0s) that the Bluetooth module can send across the air. The module takes the data from the device it’s connected to, encodes it into a packet, and prepares it for transmission.

3. Transmission via Radio Waves:

Once the data packet is ready, the Bluetooth module uses radio waves to transmit the packet over the air. Bluetooth operates in the 2.4 GHz frequency range, which is the same range used by many other wireless devices, such as Wi-Fi and microwaves.

Radio waves are a type of electromagnetic wave that travels through the air. These waves carry the data packet from the Bluetooth transmitter to the receiver. The Bluetooth module uses its internal radio circuitry to send out these waves, which can travel through obstacles like walls (though the range may be reduced).

A digital data packet is just a small chunk of information sent from one device to another. It’s like a letter with an address (header), a message inside (payload), and a seal to say it’s complete (trailer). This helps devices communicate easily and quickly!

Why Are Data Packets Used?

  • Smaller and Easier to Handle: Instead of sending huge amounts of data at once, we send small packets. This makes it easier for devices to manage and send data.
  • Fix Errors Easily: If one packet gets lost or messed up, only that small piece needs to be fixed, not the whole thing.
  • Security: The packet can be protected with encryption so that only the right devices can understand it.

4. Frequency Hopping:

Bluetooth technology uses a method called Frequency Hopping Spread Spectrum (FHSS) to avoid interference from other devices that might be using the same 2.4 GHz frequency range.

Instead of transmitting data on a single fixed frequency, HC05 Bluetooth module rapidly changes or “hops” between different frequencies within the 2.4 GHz range. This ensures that if one frequency becomes crowded or interfered with (by other devices like Wi-Fi routers or microwaves), Bluetooth can shift to a different frequency to maintain a stable connection. This hopping happens hundreds of times per second and is transparent to the user.

5. Receiving the Command:

Once the radio waves reach the Bluetooth receiver (whether it’s another Bluetooth module or a device like a smartphone), the data packet is received and decoded.

The receiving Bluetooth module takes the packet, extracts the digital data, and converts it back into a command that can be understood by the device. For example, if you sent a command to turn on a light, the Bluetooth module will relay the command to the light’s control system, telling it to power on.

The process of receiving and decoding happens almost instantaneously, allowing commands to be executed in real-time.

6. Low Power:

HC05 Bluetooth modules are designed to be energy efficient, which makes them ideal for battery-powered devices and projects. Traditional Bluetooth (Classic) and Bluetooth Low Energy (BLE) are both optimized for low power consumption.

For example, Bluetooth Low Energy (BLE), a newer version of Bluetooth, is specifically designed for situations where devices need to communicate with each other without draining too much power, making it perfect for IoT (Internet of Things) devices, fitness trackers, and remote sensors.

Operating Modes of HC05

The HC-05 module operates in two modes:

1. Data Mode (Default Mode)

  • In data mode, the module is used for serial communication between two devices.
  • It transmits and receives data wirelessly like a serial UART bridge.
  • Example: Sending data from an Arduino to a smartphone via Bluetooth.

2. AT Command Mode of HC05

  • AT Mode allows the user to configure the HC-05 module.
  • Used to change settings like baud rate, password, device name, and master/slave mode.
  • Enter AT Mode by setting the EN (KEY) pin HIGH before powering the module.
  • Common AT Commands:
    • AT → Check if HC-05 is working
    • AT+NAME=MyBluetooth → Change device name
    • AT+ROLE=1 → Set as Master (0 for Slave)

Read More: How to Change the HC-05 Bluetooth Module’s Name and Password

If you have only one HC05 module (whether it’s in master or slave mode), and you want to control multiple tasks (like turning on/off a light, fan, and checking the temperature at the same time) using your phone, the approach will be different from using multiple HC05 modules as discussed earlier.

Scenario 1: Using 1 HC05 Bluetooth module (Single Master and Slave)

In this case, since 1 HC05 is handling both the control and communication tasks, it will need to switch between tasks. It can only do one task at a time because there’s only one Bluetooth connection between your phone and the HC05.

  1. Master Mode (Phone):
    • Your phone is still the master, sending commands to the HC05 module to control the light, fan, or temperature sensor.
  2. Single Slave (Controlling Light, Fan, Temperature):
    • The 1 HC05 module is acting as the slave and is connected to the devices (light, fan, and sensor). It will respond to the commands from your phone one by one.

What Happens:

  • Sequential Control: Since the single HC05 can only handle one task at a time, you would have to control each device one by one. For example:
    • First, you can send a command to turn on the light.
    • Then, you can send a command to turn on the fan.
    • Lastly, you can send a request to get the temperature reading.
    These commands will be processed in sequence, not simultaneously. Each time you send a new command from your phone, the HC05 will stop whatever it was doing and process the new command.

Scenario 2: Using Multiple HC05 Bluetooth module (1 Master, 3 Slaves)

In this case, each HC05 module acts independently:

  • Master HC05 (Phone) sends commands to multiple slave devices.
  • Each slave device performs its task (light, fan, or temperature sensor) simultaneously.
    • For example, the master sends a signal to the light slave to turn the light on while at the same time sending a command to the fan slave to turn the fan off and getting temperature data from the temperature sensor slave.

Key Differences:

  1. Control Simultaneously with Multiple HC05:
    • With multiple HC05 modules, the master can control the light, fan, and temperature sensor all at once, without having to wait for each task to complete.
  2. Sequential Control with One HC05:
    • With only one HC05, you must send one command at a time, and the HC05 processes each one sequentially, meaning you can’t control all devices at once.

Comparison:

Feature1 HC05 ModuleMultiple HC05 Modules (1 Master, 3 Slaves)
Control DevicesCan control one device at a time (light, fan, or temperature).Can control multiple devices at once (light, fan, and temperature).
Task ProcessingTasks are processed sequentially, one after another.Tasks are processed simultaneously (each slave handles its own task).
Bluetooth ConnectionsOnly one Bluetooth connection between the master (phone) and the slave (HC05).Multiple Bluetooth connections (master communicates with multiple slaves).
EfficiencyLess efficient because it has to wait between tasks.More efficient because multiple tasks happen at the same time.
  • With 1 HC05 module, you can control only one device at a time, and the tasks will be processed sequentially. If you want to turn on the light, adjust the fan, and check the temperature, you will have to do it step by step.
  • With multiple HC05 modules, you can control multiple devices simultaneously, making the system more efficient and allowing you to manage multiple tasks at the same time without waiting.

Power Requirements & Voltage Compatibility

  • The HC-05 module runs on 3.3V logic, meaning its TX and RX pins are not 5V tolerant.
  • However, the VCC pin can handle 5V as it has an onboard voltage regulator.
  • If using with a 5V microcontroller like Arduino, use a voltage divider or logic level shifter for safe communication.

Applications of HC-05 Bluetooth Module

  1. Wireless Data Transfer (Arduino to Mobile App Communication)
  2. Home Automation (Controlling devices wirelessly via Bluetooth)
  3. Robotics (Bluetooth-controlled robots and cars)
  4. Industrial Automation (Wireless monitoring and control)
  5. Health Monitoring Systems (Wearable devices sending data to smartphones)

Wiring the HC05 Bluetooth Module to Arduino

Connecting the HC05 Bluetooth module to an Arduino is straightforward. Here’s how:

Components Needed:

  • Arduino Uno
  • HC05 Bluetooth module
  • 1K and 2K resistors (for voltage division)
  • Breadboard and jumper wires

Wiring Diagram:

HC05 ModuleArduinoNotes
VCC5VPower supply
GNDGNDGround
TXDD3Connect via resistor divider
RXDD2Connect directly

Note: The HC05’s RX pin is not 5V-tolerant. Use a resistor divider (1K and 2K resistors) to step down the Arduino’s 5V signal to 3.3V.

Sample Code: Simple LED Control Using HC-05 (Single Command)

This code controls an LED using a single character command via Bluetooth:

#include <SoftwareSerial.h>

const int ledPin = 6; // LED connected to D6

SoftwareSerial mySerial(3, 2); // HC-05 Tx & Rx connected to D3 & D2

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.println("Bluetooth Ready...");
}

void loop() {
  if (mySerial.available()) {
    char command = mySerial.read();
    Serial.println(command); // Print received command

    if (command == '1') {
      digitalWrite(ledPin, HIGH); // Turn LED on
    } else if (command == '0') {
      digitalWrite(ledPin, LOW); // Turn LED off
    }
  }
}

How It Works:

  • Send ‘1’ via Bluetooth to turn ON the LED.
  • Send ‘0’ via Bluetooth to turn OFF the LED.

How the Code Works & Why We Don’t Use Arduino’s RX/TX Pins

This code controls an LED using the HC-05 Bluetooth module and an Arduino. The Bluetooth module sends data to the Arduino, which processes the command and turns the LED ON or OFF.

How the Code Works:

  1. Setting Up Communication:
    • The HC-05 module communicates with Arduino using TX (D3) and RX (D2) via SoftwareSerial.
    • The LED is connected to pin D6 and set as an output.
    • The Arduino starts Bluetooth communication at a 9600 baud rate to receive commands.
  2. Receiving Bluetooth Commands:
    • The Arduino listens for incoming data from the HC-05 module.
    • If the received data is ‘1’, the LED turns ON.
    • If the received data is ‘0’, the LED turns OFF.
    • The received command is displayed on the serial monitor for debugging.

Why We Don’t Use Arduino’s RX/TX Pins (0 & 1)?

  • The Arduino’s default RX (0) and TX (1) pins are used for USB communication with the computer.
  • If we connect the HC-05 Bluetooth module to these pins, it interferes with code uploading and serial monitoring.
  • To avoid issues, we use SoftwareSerial to assign different pins (D3 & D2) for Bluetooth communication.
  • If you use RX (0) and TX (1) for Bluetooth, you must disconnect the wires while uploading the code, or the upload will fail.

Pairing the HC05 Bluetooth Module with a Smartphone

  1. Power Up the HC05: Ensure the module is discoverable (LED blinking rapidly).
  2. Enable Bluetooth: Turn on Bluetooth on your smartphone.
  3. Pair the Devices: Search for “HC05” in the list of available devices and enter the default PIN (1234).
  4. Use a Bluetooth Terminal App: Install an app like “Serial Bluetooth Terminal” to send and receive data.

Practical Project: Bluetooth-Controlled Relay

Let’s build a simple project to control a relay wirelessly using the HC05 Bluetooth module.

Components Needed:

  • Arduino Uno
  • HC05 Bluetooth module
  • 2-Channel Relay Module
  • Lamp or other appliance

Wiring:

  • Connect the relay module to the Arduino’s digital pins.
  • Use the HC05 to send “on” and “off” commands to control the relay.

Which App Used to Control HC05 With Arduino?

BlueBot is specifically designed for Arduino hobbyists, engineers, and makers who want seamless Bluetooth control. Here are some key reasons why this app stands out:

Download BlueBot Controller App and start your journey today!

Key Features:

  1. Bluetooth LED Control – Easily switch on/off LEDs, fans, and other devices wirelessly.
  2. Joystick for Robots – Provides precise control for Arduino-based robotic projects.
  3. Voice Commands – Control your Arduino projects hands-free with voice recognition.
  4. RGB LED Manager – Adjust dynamic LED colors wirelessly for creative lighting effects.
  5. Sensor Data View – Monitor real-time data from sensors like ultrasonic, PIR, and more.
  6. Custom Buttons – Set up personalized control buttons for different Arduino functions.
  7. Servo & Door Lock Control – Effortlessly manage servo motors and Bluetooth-enabled locks.

How to Use BlueBot with HC-05 and Arduino

Step 1: Install the App

Download BlueBot: Bluetooth Controller from the Google Play Store.

Step 2: Connect the HC-05 Bluetooth Module to Arduino

Use the following wiring:

  • VCC5V (Arduino)
  • GNDGND (Arduino)
  • TXRX (Arduino)
  • RXTX (Arduino)

Step 3: Upload the Arduino Code

Use a simple serial communication sketch in the Arduino IDE:

#include <SoftwareSerial.h>

const int ledPin = 6; // LED connected to D6

SoftwareSerial mySerial(3, 2); // HC-05 Tx & Rx connected to D3 & D2

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  
  Serial.println("Bluetooth Ready... Waiting for commands.");
}

void loop() {
  if (mySerial.available()) {
    char command = mySerial.read(); // Read incoming Bluetooth command
    Serial.print("Received Command: ");
    Serial.println(command); // Print received command

    if (command == '1') {
      digitalWrite(ledPin, HIGH); // Turn LED on
      Serial.println("LED is ON");
    } else if (command == '0') {
      digitalWrite(ledPin, LOW); // Turn LED off
      Serial.println("LED is OFF");
    } else {
      Serial.println("Invalid Command! Send '1' to turn ON, '0' to turn OFF.");
    }
  }
}

10 Best HC-05 Bluetooth Projects with BlueBot Controller App – Easy DIY Guide

The BlueBot: Bluetooth Controller app allows seamless control of various Arduino-based projects using the HC-05 Bluetooth module. Below is a list of exciting projects you can create using this app:

ProjectDescriptionLink
🚗 Bluetooth Parking ProjectAutomate parking management using Bluetooth connectivity.Smart Bluetooth-based Parking System
🔒 BlueBot Door Lock ControllerUse Bluetooth to remotely control door locks with ease.Secure your doors wirelessly
🌍 IoT ControllerManage IoT devices wirelessly with the BlueBot app.Build a Smart IoT Controller
🎛️ Potentiometer Sensor ControlUse potentiometer values to control devices remotely.Read Resistance and Trigger Alarms
🚨 PIR Sensor ControlAutomate security using motion detection.Detect Motion and Trigger Alarms
📡 Accelerometer Sensor ControlCapture motion data and send it via Bluetooth.Read the MPU6050 with HC-05
📏 Ultrasonic Sensor ControlUse ultrasonic sensors for precise distance measurement.Monitor Distance and Trigger Alarms
🎉 Inauguration ControlWirelessly manage event inaugurations.Inaugurate with BlueBot Controller
🎮 Joystick ControllerNavigate robotic projects with a joystick.Control Your Robot Wirelessly
🔄 Servo ControllerMove servo motors with Bluetooth commands.Control Servos Wirelessly
⏲️ Timer ControllerAutomate tasks using a Bluetooth timer.Set Start and End Times
🤖 Gesture Controlled RobotUse hand gestures to control your robot.Control a Robot with Gestures
🎤 Voice ControllerHands-free automation with voice commands.Voice-Control Lights, Fans, and Robots
🔲 Bluetooth 8×8 LED Matrix ControllerCreate dynamic LED displays with Bluetooth.Wirelessly Control an LED Matrix
💬 Text ControllerTransmit text messages via Bluetooth.Send and Receive Data Wirelessly
🌈 Bluetooth RGB ControllerChange LED colors with a mobile app.Control RGB LED Lights
🚀 Ultimate BlueBot ControllerThe all-in-one controller for Bluetooth projects.Remote Control for Your Robot
💡 Bluetooth LED ControllerTurn LEDs on/off remotely using Bluetooth.Wireless LED Control

Start Your Bluetooth Arduino Project Today!

Step 4: Pair Your Phone with HC-05

  • Enable Bluetooth on your phone.
  • Pair with HC-05 (default password: 1234 or 0000).

Step 5: Control Arduino via BlueBot

  • Open the BlueBot app.
  • Connect to the paired HC-05 module.
  • Use the app’s controls (buttons, joystick, voice commands) to interact with your Arduino project.

HC05 Alternatives: Best Bluetooth Modules

The HC05 Bluetooth Module is one of the most widely used wireless communication modules in DIY electronics. It supports Bluetooth 2.0 and can operate in both master and slave modes, making it highly versatile. The table above compares various Bluetooth modules, including the HC05 Bluetooth Module, based on their versions, modes, range, power consumption, price, and key features. Depending on your project needs, you can choose between classic Bluetooth (HC-05, HC-06, RN-42) or Bluetooth Low Energy (HM-10, BT-06, CC2541) for improved power efficiency and extended range.

For basic applications, the HC05 Bluetooth Module and HC-06 are affordable and beginner-friendly, with the HC05 Bluetooth Module offering greater flexibility due to its master/slave capability. If you need a more advanced and power-efficient option, HM-10 and BT-06 provide BLE compatibility, ideal for smartphone connectivity. The RN-42 ensures a stable and professional-grade connection, while the CC2541 stands out with its long-range capabilities. Choosing the right module, whether it’s the HC05 Bluetooth Module or another, depends on factors like battery life, communication range, and device compatibility.

ModuleBluetooth VersionModeRange (Open Space)Power ConsumptionKey Features
HC-052.0Master/Slave~10mMedium– Easy to configure with AT commands
– 9600 default baud rate
– Most popular and well-documented
HC-062.0Slave only~10mMedium– Simpler configuration
– Fixed slave mode
– More beginner-friendly
HM-104.0 BLEMaster/Slave~30mVery Low– iOS compatible
– Modern BLE support
– Extended battery life
RN-422.1+EDRMaster/Slave~20mMedium– Built-in antenna
– More stable connection
– Professional grade
BT-064.0 BLESlave only~30mVery Low– iOS/Android compatible
– Simple setup
– Good for battery-powered projects
CC25414.0 BLEMaster/Slave~40mVery Low– Built-in ARM processor
– Programmable
– Best range in class

Conclusion

The HC05 Bluetooth module is a powerful and affordable tool for adding wireless communication to your Arduino projects. Whether you’re controlling relays, logging data, or creating smart home devices, the HC05 makes it easy to go wireless.

In this guide, we’ve covered the basics of interfacing the HC05 Bluetooth module with Arduino, from wiring and coding to practical applications. Stay tuned for our next tutorials, where we’ll explore configuring the HC05 using AT commands and enabling communication between two Arduinos.

Ready to take your projects to the next level? Grab an HC05 Bluetooth module and start experimenting today!

Download BlueBot Controller App and start your journey today!

Home Page

Blog Page