This white paper describes the procedure to change the device name of the HC-05 Bluetooth module (HC-05) using the AT command set. The default settings in the HC-05 is standardised as follows:
However, the conditions in a classroom environment with multiple HC-05 result in students having difficulty in identifying which HC-05 to pair to their mobile phones or computers.
The solution is to change Bluetooth name of the HC-05 to a unique name using the AT command set.
Conducting a class with multiple Arduino and HC-05 results in confusion because students cannot determine which Bluetooth name to select to pair. All HC-05 use the same default settings:
One workaround is to have everyone power off their HC-05, and then one student at a time power on her HC-05 and pair it to her mobile phone or PC. Once paired, she powers off her HC-05 and then it’s the next student’s turn. This is time consuming and a distraction to the learning process.
Fortunately, we can change the default settings of the HC-05 using the AT command set.
You will need the following components:
Assemble the following circuit.

Follow the labels on the HC-05. If the KEY pin is not available, see *If Key Pin Is Not Present* below*.*
<aside> 💡 WARNING: The HC-05 is a 3.3V system. This circuit doesn’t use voltage dividers to drop 5V to 3.3V for this short procedure. It is not advisable to leave the HC-05 connected to the 5V Arduino pins for a long time.
</aside>
If Key Pin is Not Present
Some HC-05 do not have the KEY pin on the breakout board. Instead they have an EN or WAKE pin. In this case, connect a jumper cable to the KEY pin (inside the plastic sleeve) on the IC.

Upload the following program into the Arduino.
For more information on how to upload a program to the Arduino, visit https://www.arduino.cc/en/Guide/ArduinoUno
/*
AUTHOR: Hazim Bitar (techbitar)
DATE: Aug 29, 2013
LICENSE: Public domain (use at your own risk)
CONTACT: techbitar at gmail dot com (techbitar.com)
*/
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup()
{
pinMode(9, OUTPUT); // this pin will pull the HC-05
// pin 34 (KEY pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT
// command mode
}
void loop()
{
// Keep reading from HC-05 and send to Arduino
// Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());
// Keep reading from Arduino Serial Monitor
// and send to HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}