Change Bluetooth Headset/Speaker/Adapter's Name or Other Settings Through UART




About: I am an 18 years old hobbyist who finds a great drive in tinkering with electronic circuits. The reason I love electronics is that it empowers me to solve real-life issues with ease. I also enjoy making gadg...

Do you happen to have a pair of Bluetooth headsets or other Bluetooth audio accessories which have a really disgusting name and every time you pair them up you have this inner desire to change their name? Even if the reasons aren't the same, there are still a lot of people who'd like to customize their accessories, with me being one of them. My headphones had the name POR1007BT which didn't satisfy me so I looked up various methods of changing the name and this instructable is the easiest way to do so.

Therefore, I'd like to present to you this instructable which will guide you through the steps on how to change the properties of any Bluetooth audio module or gadget, including the name modification.

Please note that this method is restricted to only those devices which have OVC3860 IC installed in them.

One such module is XS3868 which I'll be using to demonstrate this method. Also, most of the cheap Bluetooth dongles like this one are based on OVC3860 so there's a high probability that this method will work for you.

Reference Links:

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Gather Around Some Stuff

This instructable documents two methods to achieve the goal. One implements the usage of a USB to TTL Converter, while the other uses an Arduino UNO. It is up to you to choose one of them. That being said, the requirements for this instructable are basic enough that you won't have to spend a single penny if you're into electronics because you might already have the stuff!

I'd like to add that there are small chances of the Arduino method not working. It's because Arduino UNO uses CH340G which has its fame for not being able to sustain higher baudrates. On the contrary, I didn't face any problem in my case therefore the chances are low I think.

USB To TTL Converter Method Requirements:

  • A Bluetooth Audio Gadget
I'll be using my bluetooth headphones which I had made a year back. It uses the XS3868 module which is based on OVC3860 IC. Please check whether your gadget is based on OVC3860 before proceeding with this instructable.
While using or buying a converter, ensure that the converter you're choosing has 3.3V logic level because the module only supports 3.3V logic level. So, if you have a 5V logic level converter, be sure use a logic level shifter.
This is only used for making multiple connections to TTL Converter's ground socket. If your converter has at least two GND sockets, then you won't need a breadboard. Mine has only one GND pin therefore I will require a breadboard.

That's it for the requirements of this method.

Arduino Method Requirements:

While I'm referring to this method as Arduino method, you have to note that here there is no use of ATmega or any kind of Arduino code. All that we care about is the USB to TTL Converter which is inbuilt in Arduino for programming purposes.

  • A Bluetooth Audio Gadget (based on OVC3860)
  • Arduino UNO or any other model with UART capability
  • Jumper Wire - 5 Pieces (here, Arduino Jumper Cables (M/M))

That's it for the Arduino method requirements.

Now that we've covered up the requirements, so let's truly begin with the instructable.

Step 2: Locating the Pins

Open up your headphone or gadget and try to locate these three pins or pads:

  • Rx
  • Tx
  • GND

The above picture is a USB Bluetooth Audio Adapter which has been taken by a fellow maker (rohit7gupta). As you can see, the all the three pads have been indicated clearly. This is how the locating has to be done!

If you are having a Bluetooth module without any circuitry done externally, then you'll also need to locate the RESET pin. Since my headphone crudely uses the XS3868 module, that is why I also had to find the RESET pin. I located the pins by referring to the pinout posted above.

If you have BluFi, then you don't have to locate the RESET pin because the wiring has already been done there. I, while making my headphone, was tactful enough to add four female headers(Rx, Tx, GND, RST) for serial communication. So I'll be connecting to these handy headers without having to open my headphones. I have attached pictures which you may refer to for better understanding.

It would be better for you to add female headers to these pins for easy plugging and removal of jumper wires. See how handy it is for me to just plug in-and-out jumper wires to my headphone.

Step 3: Wiring the Bluetooth Board (USB to TTL Converter Method)

Now that you've successfully located the above-stated pins, wire the USB To TTL Converter with the pins using jumpers and the breadboard as shown in the wiring diagram. I have attached pictures of my wiring as well.

The wiring of Rx and Tx on board boards should be cross-wise, that is Rx should be connected to TxD and Tx should be connected to RxD.

Step 4: Wiring the Bluetooth Board(Arduino Method)

Interconnect the RESET and GND pins of the Arduino board to use Arduino as a TTL Converter.

Now your Arduino will behave as a USB to TTL Converter.

Once you are done with the above step, start wiring your Arduino board with the Bluetooth board according to the above-posted wiring diagram.

After finishing the wiring, double check it and then proceed to the next step.

Step 5: Ensuring Communication Between PC and Module (Optional Step)

Now that you've done the wiring of the Bluetooth board correctly, you should be able to TALK to your board using AT commands. AT Commands are those magical words which can be sent to the module through UART to ask it to do a specific operation(based on the command being sent). On reception and completion of the operation being commanded to it, the module usually responds as OK. To send "AT commands" and to get the response as well, you're going to need a serial terminal software such as TeraTerm, Serial Monitor(inbuilt in Arduino IDE), PuTTY and so on.

To start a serial session with the module, you need to set the following settings for serial communication:

  • 115200 bps baud rate
  • Data Bits: 8
  • Both New Line and Carriage Return
  • 1 Stop Bit (default in Arduino IDE)
  • No Parity (default in Arduino IDE)
  • Local Echo (optional)

I'll be using Arduino IDE's inbuilt serial monitor for this purpose because it is simple and easy to use.

To test the communication between Bluetooth board and PC, follow these steps:

  1. Hook up your TTL Converter or Arduino with your PC and power on the Bluetooth gadget or accessory.
  2. Open your serial terminal software with the appropriate COM port selected and set the settings stated above.
  3. Try sending an AT command, for example, "AT#VU" without the quotes. You may see other AT commands from the PDF attached below. On sending this, you should receive a response as "OK" in the serial terminal from the module.
In the third point above, I have sent the command to increase the volume.
If you're not getting any response, try reversing the Rx-Tx connections and check whether GND pins of both boards are connected or not.

With this, you have finished testing the communication between your PC and Bluetooth board and can now proceed to the next step.

Step 6: Setting TTL Converter/Arduino Port As COM1

The tool which we're going to use for modifying the settings of our bluetooth module/gadget isn't well developed. It's major drawback is that it can only use COM1 port for modifying the settings. Therefore, we'll have to set our inserted TTL Converter/Arduino's port as COM1.

To do that follow the steps stated below:

  1. Open Device Manager by typing "devmgmt.msc" in Run dialog box.
  2. Find your TTL Converter/Arduino under "Ports(COM & LPT)" section.
  3. Right click on your device and open "Properties".
  4. Click on "Advanced" in the new window that opens.
  5. Select COM Port as COM1 using the drop down list.
  6. Click "OK" and close everything.

Now all the prerequisites for the tool have been finished. Let's begin modifying the configurations.

Step 7: Changing the Values Using OVC3860 Tool

We are 90% done! All that's left to now is to modify the Bluetooth board values using the OVC3860 Development tool. I have attached it below.

To modify the values of your Bluetooth board, follow these steps:

  1. Ensure that your Bluetooth module/gadget is powered off while following these steps.
  2. Download the OVC3860 Development Tool and open it.
  3. It will indicate that no device is connected to it by showing "Not Connected".
  4. Now power on your Bluetooth module/gadget and the tool should indicate that it is connected by showing "Connected".
  5. Click on "Read All" to read all the values of the module.
  6. Then locate and select the value which you wish to change, for example, I wanted to change the name of my Bluetooth headset. The name was located in the localname key.
  7. After that, fill in your desired value in the blank below and click on "Write Selected".
  8. Once all modification has been done, click on "Disconnect" and then restart your module for the changes to take effect.
I have attached a PDF which states the description of various keys(actually Persistent Store Keys). Refer to it for more insight into OVC3860 configuration.
If you are unable to get the device to connect, try repeating point 4 and then disconnect RESET pin from GND. Your device should be connected now. Note to do all this while the software is opened.

Some common-use Persistent Store Keys:

  • localname - stores the name
  • pincode - stores the pin code
  • uart_baudrate - stores the baud rate at which UART communication is to be done.

I have posted the pictures of how I changed my Bluetooth headset's name above.

Step 8: Congratulations

Congratulations on successfully modifying the name of your Bluetooth board and other details. Now you'll be free to customize your Bluetooth gadgets according to your needs and even integrate Bluetooth audio modules with Arduino by setting a lower baud rate.

This opens a lot of possibilities so go ahead and try them out!

That's all for this instructable! If you have any doubt, feel free to comment. Don't forget to follow me if you liked this instructable. Please support me by reopening the shortened links twice or thrice. You can also support me on Patreon.

Thank You DFRobot:

I'd like to express my thanks to DFRobot for providing me with equipment and modules for my projects. I really love the stuff they have sent me. Be sure to check out their website.


Utkarsh Verma

Sponsored by

Thanks to Ashish Choudhary for lending his camera.

Wireless Contest

Participated in the
Wireless Contest



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    14 Discussions


    11 months ago

    Some description to the transfer protocol described below. I send AT#MX
    commads and there was no reply. Then I used OVC3860 Programming tool.
    First of all this programm works only with COM1. It don't work with any
    adapters - so only straight COM1. I hacked transfer protocol (see it
    above). The point is that device send <04 0F 04 00 01 00 00> and
    waiting for some miliseconds (IMPORTANT!! - U cannot do it by hands -
    delay will be very big and device will skip enterening programm mode)
    for reply from PC <C5 C7 C7 C9 D0 D7 C9 D1 CD>. Then it enters
    programming mode and time is no matter after that. Now U can change
    NAME, PASSWORD, and all other parameters. Transfer speed is 115200.

    1 reply

    Reply 11 months ago

    The OVC3860 Programming tool works just fine with TTL adapters. Didn't you read steps 6 and 4? Also, I don't get what you're implying by saying "U cannot do it by hands"?


    11 months ago

    Real protocol: HEX values:

    From OVC: 2018-09-15 15:55:00,6266275 +5,4945292

    04 0F 04 00 01 00 00

    From PC: 2018-09-15 15:55:00,9013496 +0,0000120

    C5 C7 C7 C9 D0 D7 C9 D1 CD

    Answer from OVC: 2018-09-15 15:55:00,9032590 +0,0018052

    04 0F 04 01 01 00 00


    From PC (read NAME): 2018-09-15 15:55:34,3838654 +33,4730967

    11 C7 00 10

    Answer from OVC (NAME is “LPAIS_blue”): 2018-09-15 15:55:34,3914584 +0,0000377

    21 C7 00 10 4C 50 41 49 53 5F 62 6C 75 65 00 FF FF FF FF FF


    From PC (write NAME “LpaisBlue”): 2018-09-15 16:09:58,9552702 +43,6714309

    31 C7 00 10 4C 70 61 69 73 42 6C 75 65 00 FF FF FF FF FF

    Answer from OVC: 2018-09-15 16:09:58,9779393 +0,0053315

    41 C7 00 10


    From PC (read PASSWORD): 2018-09-15 15:55:59,8614883 +25,4570789

    11 BF 00 08

    Answer from OVC (PASSWORD is “0000”): 2018-09-15 15:55:59,8689466 +0,0000080

    21 BF 00 08 30 30 30 30 00 FF FF FF


    From PC (write PASSWORD “1234”): 2018-09-15 15:56:29,8251861 +29,9446977

    31 BF 00 08 31 32 33 34 00 FF FF FF

    Answer from OVC: 2018-09-15 15:56:29,8446201 +0,0140072

    41 BF 00 08


    From PC (read PASSWORD): 000071: 2018-09-15 15:56:43,4235981 +13,5768873

    11 BF 00 08

    Answer from OVC (PASSWORD is “1234”): 2018-09-15 15:56:43,4288520 +0,0000031

    21 BF 00 08 31 32 33 34 00 FF FF FF

    UtkarshVermaLee Wilkerson

    Reply 1 year ago

    Lee, thanks for the heads up! But the links are working just fine on my end. Might be an issue with the shortener. Have you tried switching to "https://"?

    Lee Wilkerson

    1 year ago

    I think someone has hacked your page. Links are broken.


    1 year ago

    Thank you, it worked perfectly with TTL to USB converter.

    1 reply

    Reply 1 year ago

    You can switch between the pre-loaded tunes in XS3868. So in a sense yes.


    Reply 1 year ago

    What i meant to ask is .... is there a way to configure our own music (midi or watever) into the eeprom??


    Reply 1 year ago

    I don't know. Sorry to say this but you're all alone in this. I haven't ever tried doing that.
    Also, if you make any progress, please make sure to comment them down here.