How to Interface HC-06 to Arduino

Electronics projects nowadays usually needs a wireless communication interface. Bluetooth device is one of the most commonly use for this purpose.

Today, I am going to show you on how to interface HC-06 bluetooth module to Arduino.

Materials:
1. HC-06 bluetooth module
2. Arduino Uno board
3. A couple of jumper wires

Instruction:
1. Connect the HC-06 VCC pin to +5V pin of Arduino Uno (please refer to the schematic below).
2. Connect the HC-06 GND pin to GND pin of Arduino Uno.
3. Connect the HC-06 TXD pin to pin 2 of Arduino Uno (functions as Rx).
4. Connect the HC-06 RXD pin to pin 3 of Arduino Uno (fucntions as Tx).
5. Connect the Arduino Uno to the computer.
6. Run the Arduino IDE.
7. Make sure Arduino Uno is selected under Tools > Board.
8. Select the correct serial port under Tools > Port.
9. Upload the sketch. Source code is provided below.

This basically echoes the serial data through HC-06 to hardware serial of Arduino Uno and vice-versa.

HC-06 Troubleshooting:
1. Connect a jumper wire between HC-06 RXD and TXD.
2. Connect +5V supply to VCC.
3. Connect the supply ground to GND pin.
4. Using a mobile / smart phone connect through a bluetooth to HC-06.
5. Enter pin code 1234.

This basically echoes whatever is received by the HC-06 to a bluetooth terminal.

If you find this lesson useful, please kindly support my blogspot and Youtube channel. Links provided below:
1. tech-to-tinker.blogspot.com
2. tech-to-tinker Youtube channel.

Schematic Diagram:

Source Code:

#include <softwareserial.h>

SoftwareSerial hc06(2,3);
String cmd="";

void setup(){
 //Initialize Serial Monitor
 Serial.begin(9600);
 
 //Initialize Bluetooth Serial Port
 hc06.begin(9600);
 
 Serial.print("Setup DONE.");
}

void loop(){

//Write data from HC06 to Serial Monitor
  if (hc06.available()){
    Serial.write(hc06.read());
  }
  
  //Write from Serial Monitor to HC06
  if (Serial.available()){
    hc06.write(Serial.read());
  }   

 delay(100);
}

Leave a Reply

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