Interfacing Bluetooth HC-05 and HC-06 with Arduino using AT Commands in Master Mode.
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.
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<span style="text-decoration: underline;"><strong>COMMAND FUNCTION</strong> </span> 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(Serial.available()) |
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.