Bluetooth HC-05, HC-06 Command/ Master Mode and AT Commands

Interfacing Bluetooth HC-05 with Arduino, Connection Diagram - bluetooth device in command/ Master mode

Interfacing Bluetooth HC-05 and HC-06 with Arduino using AT Commands in Master Mode.

Bluetooth HC-05 pinouts

Connections:

To Bring Bluetooth HC-05 and HC-06 in command mode, connect Pin 34 (command) with 3.3v (Vcc), but remember, when HC-05 or HC-06 will be in command mode, its baud rate will automatically change to 38400, which is default, no matter what have you set your baud rate earlier for data transfer.

 

Interfacing Bluetooth HC-05 with Arduino, Connection Diagram - bluetooth device in command/ Master mode

Connect Bluetooth Module HC-05 or HC-06 with Arduino as:

Bluetooth Arduino Mega 2560
1 – TX RX1
2 – RX TX1
12 – Vcc +3.3v
13 – Gnd GND
34 – PIO11 +3.3v

AT Commands for Bluetooth:

Make sure to use CR and \n at the end of each command or in Arduino use Both NL and CR option in Serial Monitor
AT Commands used by HC-05 & HC-06 and most of other Bluetooth Devices

COMMAND                 FUNCTION 
1 AT 			Test UART Connection 
2 AT+RESET 		Reset Device 
3 AT+VERSION 		Querry firmware version 
4 AT+ORGL 		Restore settings to Factory Defaults 
5 AT+ADDR 		Query Device Bluetooth Address 
6 AT+NAME 		Query/Set Device Name 
7 AT+RNAME 		Query Remote Bluetooth Device’s Name 
8 AT+ROLE 		Query/Set Device Role 
9 AT+CLASS 		Query/Set Class of Device CoD
10 AT+IAC 		Query/Set Inquire Access Code 
11 AT+INQM 		Query/Set  Inquire Access Mode 
12 AT+PSWD 		Query/Set Pairing Passkey 
13 AT+UART 		Query/Set UART parameter 
14 AT+CMODE 		Query/Set Connection Mode 
15 AT+BIND 		Query/Set Binding Bluetooth Address 
16 AT+POLAR 		Query/Set LED Output Polarity 
17 AT+PIO 		Set/Reset a User I/O pin 
18 AT+MPIO 		Set/Reset multiple User I/O pin
19 AT+MPIO? 		Query User I/O pin 
20 AT+IPSCAN 		Query/Set Scanning Parameters 
21 AT+SNIFF 		Query/Set SNIFF Energy Savings Parameters 
22 AT+SENM 		Query/Set Security & Encryption Modes 
23 AT+RMSAD 		Delete Authenticated Device from List 
24 AT+FSAD 		Find Device from Authenticated Device List 
25 AT+ADCN 		Query Total Number of Device from Authenticated Device List
26 AT+MRAD 		Query Most Recently Used Authenticated Device
27 AT+STATE 		Query Current Status of the Device 
28 AT+INIT 		Initialize SPP Profile 
29 AT+INQ 		Query Nearby Discoverable Devices 
30 AT+INQC 		Cancel Search for Discoverable Devices 
31 AT+PAIR 		Device Pairing 
32 AT+LINK 		Connect to a Remote Device 
33 AT+DISC 		Disconnect from a Remote Device 
34 AT+ENSNIFF 		Enter Energy Saving mode 
35 AT+EXSNIFF 		Exit Energy Saving mode

Code for Arduino Mega:

void setup()
{
Serial1.begin(38400);
Serial.begin(38400);
}

void loop()
{
if(Serial1.available())
{
byte a=Serial1.read();
Serial.write(a);
}

if(Serial.available())
{
byte a=Serial.read();
Serial1.write(a);
}

Sequence to Search and Pair a Device:

AT
OK
AT+CMODE=0
OK
AT+ROLE=1
OK
AT+INIT
OK
AT+INQ
+INQ:4D65:4D:CA6612,5A0204,7FFF
OK
AT+BIND=4D65,4D,CA6612
OK
AT+PAIR=4D65,4D,CA6612,30
OK

 

Bluetooth Data Mode:

To bring Bluetooth back in Data Mode, just disconnect Pin34 (PIO11) from +3.3v and leave it open / disconnected.

Video on Interfacing Bluetooth Modules with Arduino Mega 2560:

Leave a Reply

Your email address will not be published.