I have this HC-05 Bluetooth module that works quite well and it supports changing its class type, I wondered if it was possible to change it so that it would register as an audio output so I could stream my phone sound to it and then use an H-bridge as a D class amplifier as output (I don't care about quality).
I used this generator to get the right Bluetooth class type (0x20041C), this is also consistent with a similar Raspberry Pi project. I'm absolutely positive the new class has been set as "AT+CLASS?" command returns "20041c" as expected.
Unfortunately when I pair the Android phone with the HC-05 Bluetooth module my phone doesn't show "use as audio output" service, as if it didn't recognise it right, maybe I'm missing some other protocol here, should the Bluetooth module reply or broadcast something? Maybe it's completely impossible, I don't have a clue and Google hasn't been much of use.
If anybody has some experience could you point me to the right documentation/similar projects on how to implement sound over Bluetooth at this low level?
HC-05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup.
Well, that puppy is never going to bark audio. The physical chip may support audio and just not have the appropriate firmware installed.
Advanced Audio Distribution Profile (A2DP)[edit]
This profile defines how multimedia audio can be streamed from one device to another over a Bluetooth connection. For example, music can be streamed from a mobile phone, to a wireless headset, hearing aid & cochlear implant streamer, car audio, or from a laptop/desktop to a wireless headset.
I was afraid of that (I have a very fuzzy idea on how BT works), but I didn't want to believe it. I guess one could reverse engineer the module firmware and implement A2DP, I know that it's possible to change a HC-06 to HC-05. Unfortunately I don't have the time for such expeditions :(. Thanks mrburnette.
That said what's the point of changing the module class then?
That said what's the point of changing the module class then?
Perhaps customers that use the chip in quantity have the ability to change the class and the associated protocols? Just guessing. An encrypted set of firmware provided to everyone but only unlocking certain features based on licensing? You see this kind of thing often in Enterprise software.
Ray
Edit:
I have ripped the Bluetooth modules out of these when found on eBay cheap and used them to work with my iPad, Android phone, etc. The seem to connect nicely. I even stuck a module inside a Sony battery powered speaker and have a nice little portable stereo speaker what will rock from my Android phone! Just great for picnics!