I am prototyping a bluetooth headset.

Wondering whether it is possible to buy an existing bluetooth headset, connect it to a computer and reprogram it (i.e. change the behaviour of the buttons etc.). If yes, how? Where can I learn more?

I am a complete beginner, so if it is not fundamentally possible to do, what are my (best) options? (using Arduino?)


2 Answers 2


It's not very clear what you are trying to achieve, but hacking an existing embedded device is not a simple task, certainly not something for a beginner. I imagine you have three options:

  1. Buy an existing headset and hack it.

This is difficult for an experienced embedded engineer, and would likely require a code decompiler and an oscilloscope at the least (along with the knowledge of how to use them).

  1. Build a new device using some kind of dev-kit (i.e. Arduino or similar)

Do-able. You will probably need to know how to solder as well as how to program. Also be aware that any device you build will look like a prototype (i.e. imagine a lunch-box with wires sticking out, not a polished consumer device). - You may want to look into the "Lilypad" range if you want small/wearable components.

  1. Buy an existing headset, write host software to customise the behaviour

Probably the easiest learning-curve of the three options (since you just need to learn how to code, which you have to do for #1 and #2 anyway). This way you could have a PC (or smaller, raspberry-pi or similar) connect to the headset and perform custom actions when buttons are pressed.

If you want customisability or you just want to learn about electronics and embedded software development then you could go with option #2. If you want a device that you can actually use day-to-day then option #3 is probably the better choice.


Bluetooth headsets will contain a re-programmable firmware (EEPROM) but this is by no means accessible to an ordinary developer.

Hacking a firmware when you do not have source code from the original manufacturer and there is no pre-existing third party firmware is not something that an average programmer, let alone a complete beginner, could do.

You're a bit vague on what you actually want to do. If you just wanted to change behavior of buttons, you'd probably do that at the client end (the computer or phone which is communicating with the bluetooth headset) anyway, and there may be pre-existing software/apps for that.

Not the answer you're looking for? Browse other questions tagged or ask your own question.