
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.

The HC-05 Bluetooth Module is a wireless communication module designed for short-range data transmission using Bluetooth technology. It is widely used in embedded systems, IoT projects, and robotics to enable seamless communication between devices. The module supports both master and slave modes, making it versatile for various applications.

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.

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.

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.

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.
The HC-05 module is a compact 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 |
| Operating Current | 30mA (typical) |
| Communication Range | Up to 10 meters (unobstructed) |
| Baud Rate (Default) | 9600 bps |
| Modes | Master and Slave |
| Frequency Band | 2.4 GHz ISM band |
| Dimensions | 37.5mm x 15.2mm x 2.7mm |
The HC-05 module has six pins, as described in the table below:
| Pin | Name | Description |
|---|---|---|
| 1 | EN (Key) | Enables AT command mode when pulled HIGH. Leave LOW for normal operation. |
| 2 | VCC | Power supply input (3.3V to 5V). |
| 3 | GND | Ground connection. |
| 4 | TXD | Transmit data pin. Sends serial data to the connected device. |
| 5 | RXD | Receive data pin. Receives serial data from the connected device. |
| 6 | STATE | Indicates the connection status (HIGH when connected, LOW when disconnected). |
Below is an example of how to use the HC-05 module with an Arduino UNO to send and receive data via Bluetooth.
#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 communication
BTSerial.begin(9600); // Start Bluetooth communication at 9600 bps
Serial.println("HC-05 Bluetooth Module Test");
Serial.println("Send data from your Bluetooth device to see it here.");
}
void loop() {
// Check if data is available from Bluetooth
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 Serial Monitor
if (Serial.available()) {
char data = Serial.read(); // Read data from Serial Monitor
BTSerial.write(data); // Send data to HC-05
}
}
Module Not Responding to AT Commands
Bluetooth Device Cannot Pair with HC-05
Data Transmission Issues
Weak Signal or Connection Drops
Q: Can the HC-05 module work with 5V logic levels?
A: The TXD pin can output 5V logic, but the RXD pin is designed for 3.3V logic. Use a voltage divider or level shifter for safe operation.
Q: How do I switch between master and slave modes?
A: Use AT commands to configure the module. For example, send AT+ROLE=1 to set it as a master and AT+ROLE=0 to set it as a slave.
Q: What is the difference between HC-05 and HC-06?
A: The HC-05 supports both master and slave modes, while the HC-06 operates only in slave mode.
Q: Can I use the HC-05 with a Raspberry Pi?
A: Yes, the HC-05 can be connected to a Raspberry Pi via its UART pins. Ensure proper voltage level shifting for the RXD pin.