I’ve just configured my new HC-05 Bluetooth module and i had a few issues tracking down the correct info to program it with AT commands.
First of all i ordered this board from ebay, as it is stated i was expecting to receive a HC-06 but actually got a HC-05 and was unaware until trying to work out why the HC-06 AT command mode wasn’t working.
Once i had worked out that i had a HC-05 it was fairly simple to get the board into AT mode. The method is:
1. Wire up VCC to 3.3-6v, GND to ground, TX on the module to RX on the FTDI and RX on the module to TX on the FTDI. Leave the board unpowered.
2. Use a jumper wire to apply VCC to KEY (34)
3. Power on the module and you will see the led hold on for a bit then start a slow blink
4. You can disconnect VCC from KEY 34 and carry out your configuration
5. I connected with the Arduino Serial Monitor as i had it open at the time. I used 38400 and set BOTH NL and CR and away i went.
I tried all the commands in bold below. I set my module’s name, pin, rate and reset it. After i set the baudrate it froze so i had to redo the AT command mode initialisation again and carry on. It did apply the setting though.
HC-05 AT commands
- AT responds OK.
- AT+RESET responds OK.
- AT+VERSION? responds with the firmware version.
- AT+ORGL responds OK and restores default state.
- AT+ADDR? responds with module address.
- AT+NAME? responds with module name.
- AT+NAMEname where name 20 or fewer characters. Responds OKname. Retained across power offs.
- AT+RNAME? responds with remote paired module’s name.
- AT+ROLE? responds with 0=slave, 1=master, 2=slave-loop (loopback: receives master device data and sends back to master).
- AT+CLASS? responds with device type (32 bit indicating device type and what is supported).
- AT+PSWD? responds with password.
- AT+PSWD=password sets module pairing password to password.
- AT+UART=x,y,z where x is 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1382400 for baud rate, where y is 0=1 bit, 1=2 bits stop bit, where z is 0=none, 1=odd, 2=even parity). Deafult is 9600,0,0.
- AT+UART? responds with +UART:baud,stop bits,parity.
- AT+STATUS? responds with the module status (+STATE:initialised, ready, pairable, paired, inquiring, connecting, connected, disconnected).
- AT+PAIR=x,y sets the remote Bluetooth device address with which to pair where x is the address (eg 12:34:56:ab:cd:ef) and y is the limited time of the connection in seconds.