Toggle Nav

Interfacing HC-05 Bluetooth Module with Arduino

Table of Contents

HC-05 Bluetooth Module Features

Bluetooth modules are a type of wireless communication modules that can be added to a project through the serial or SPI communication protocols.

The advantage of using Bluetooth modules is that they are easy to set up and use.

The HC-05 module uses serial protocol for communication.

Note

All Bluetooth modules that use the serial communication protocol, support AT Commands, which are listed in the datasheet of each product.

Download the datasheet of HC-05 module here.

HC-05 Bluetooth Module Pinout

This module has 6 pins:

  • VIN: Module power supply – 3.6-6V
  • GND: Ground
  • STATE: Connection State
  • EN: Enable AT Command settings
  • RX: Receive Serial Data
  • TX: Transmit Serial Data

You can see the pinout of this module here.

Required Material

Hardware component

Arduino UNO R3 × 1
HC-05 Bluetooth Serial Wireless Module × 1
Male to Female jumper wire × 1

Software Apps

Arduino IDE

Interfacing HC-05 Bluetooth Module with Arduino

Step 1: Circuit

The following circuit shows how you should connect the Arduino to the HC-05 module. Connect wires accordingly.

Step 2: Library

Install the following library on your Arduino IDE.

https://github.com/PaulStoffregen/SoftwareSerial

Tip

If you need more help with installing a library on Arduino, read this tutorial: How to Install an Arduino Library

Step 3: Code

Upload the following code to the Arduino board.

 /*
  Modified on March 09, 2021
  Modified by MohammedDamirchi from https://github.com/PaulStoffregen/SoftwareSerial
  https://electropeak.com/learn/
*/


#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }

This code is to test the connection between the Arduino serial monitor and the device connected to the Bluetooth module.   

Liked What you see?

Get updates and learn from the best

More To Explore

Leave a Reply

Your email address will not be published. Required fields are marked *