This might sound like a familiar problem – you get a Bluetooth speaker, and it sounds nice, but it also emits all kinds of weird sounds every now and then. [Oleg Kutkov] got himself a Sven PS460 speaker with FM radio functionality, but didn’t like that the “power on” sound was persistently loud with no respect for the volume setting, and the low battery notification sounds were bothersome. So, he disassembled the speaker, located a flash chip next to the processor, and started hacking.
Using a TL866 and
minipro software, he dumped the firmware, and started probing it with
binwalk. The default set of options didn’t show anything interesting, but he decided to look for sound file signatures specifically, and successfully found a collection of MP3 files! Proper extraction of these was a bit tricky, but he figured out how to get them out, and loaded the entire assortment into Audacity.
From there, he decided to merely make the annoying sounds quieter – negating the “no respect for the volume setting” aspect somewhat. After he exported the sound pack out of Audacity, the file became noticeably smaller, so he zero-padded it, and finally inserted it back into the firmware. Testing revealed that it worked just as intended! As a bonus, he replaced the “battery low” indicator sound with something that most of us would appreciate. Check out the demo video at the end of his write-up.
Domesticating your Bluetooth speakers tends to be called for. If you can’t do that for whatever reason, you can rebuild them into an audio receiver – or perhaps, build your own Bluetooth speakers, with aesthetics included and annoyance omitted from the start.
30 thoughts on “Bluetooth Speaker Domesticated Through Firmware Mod”
now to find a way to hack those 1-chip bluetooth receiver chips so you can give them another ID. I really like the VHM-314-V2 chips, but as i have several of them, giving them different names would be nice
I was looking into that myself the other day. The chip seems to be the JieLi AC690X chip.
Manufacturers web site (All Chinese, sorry): http://zh-jieli.com/
There’s a writeup on Github that had the SDK and some reverse engineering:
I think he was only successful programming new blank chips though. When programmed there is some kind of key to lock them, he couldn’t reprogram them without that key.
I already read about this key stuff somewhere, it might have been on the reddit-thread about hacking those “Buddha-machines” that bigclivedotcom showed in a video some time ago. Iirc the µC was from that same chinese company (might be wrong).
This absolutely needs to be done. It’s a huge design flaw of bluetooth that you can’t reasonably give devices descriptive names.
Not a BT limitation, just lazy manufacturers. BT spec allows 200+ bytes of name, you can throw in Unicode, etc.
Haw to by
Love it. I have some nice Sony headphones and they have this issue. The notifications are so loud it drives me crazy. I can imagine this must’ve been very satisfying to get working.
Marshall Emberton has the same flaw, super loud start stop sound not correlated to the user volume.
Major brand don’t seem to do much better than Chinese one…
Engineer: The prototype came back from fab.
Manager: How well does it work?
Engineer: It works great, except some volume levels need tweaking and —
Manager: No show-stopping bugs?
Engineer: No, other than the tweaks we need for the —
Manager: That’s great news. I just ordered 400,000 of them from our manufacturing partner.
(This is how managers teach engineers about day-drinking.)
Yeah, as an EE talking to a boss who mostly liked to hear what he wanted to hear, I learned to phrase my updates differently.
“How well does it work?”
“There are still some problems that must be fixed.”
“You said that last time…”
“Well, we are making progress towards the prototype being ready to ship to the customer.”
I think I earned a reputation for being a pessimist, but being realistic is better than being delusional. It’s cheaper to fix things before they’re sent out and the customer is wondering why they didn’t get what they asked for.
I did some research into either hacking OTS bluetooth headphones or building my own. Apparently the firmware tools for the most common chips include simple checkboxes to enable or disable the notification sounds, as well as volume and audio file selection. Basically, the manufacturers just don’t care to make the effort.
Cool case of hacking in the true spirit of hacking
Spi nor flash hold him back.
Personally I’m about to build a custom box for a Bluetooth speaker that does this, and I’m just going install an on/off switch for the speaker driver. My phone already gives me a visual indication when Bluetooth is active and paired, and the speaker board has status LEDs to indicate when it’s charging or in pairing mode. I don’t really need to hear confirmation tones from the speaker side.
I could see this being useful if you’re blind and must rely on the confirmation tones. But there are so many cheap Bluetooth receivers and amps available that you are always better off replacing those components once you’ve already taken the unit apart. The batteries and drivers are far more valuable and harder to replace.
A lot of work and fixed, good. I have a TL866 we used once for duplicating UV proms. I would never use my time or hearing for bluetooth unless it is 5.0 at both ends. Most people using BT don’t even know anything about what it is and just beats and noise come through.
And you don’t seem to know either. “Bluetooth 5.0” means nothing in terms of audio quality. What matters is the audio codec used. SBC at default low bitrate is the standard that all Bluetooth audio devices must implement and it’s the worst sounding. SBC can actually compare to AptX if given enough bitrate (actually same bitrate as AptX)
ARE ALL DESIGNERS OF BLUETOOTH DEVICES DEAF?
If not, then why do so damn many of them play their sounds at maximum volume?
The worst offenders are the ones that speak Engrish. Really bad Engrish.
I have a pair of bluetooth headphones that make me cringe. It sounds like Mickey Rooney in “Breakfast at Tiffany’s”.
“The bruetooth device is-a-connecting.”
Ug… panasonic headphones I’m looking at you. Beep beep battery low every minute. For goodness sake, I don’t care, just turn off when you’re flat, and stop ruining my game.
Oh man. I have a different brand of headphones that do the same thing. One time I let them go to see how long it would last and it was 10min!!! Like please. Tell me once but let me enjoy my podcast or music till they run out!
I had a Bluetooth speaker that would announce in a British accented female voice that it was on, and which input or mode was in use. POWER ON! BLUETOOTH MODE! AUXILIARY INPUT MODE!
I have a cheap set of “true wireless” earbuds like this. English accent woman “Power on! Bluetooth searching!”, “Bluetooth connected!” (to its sister headphone, not my phone), an echo of “Bluetooth connected!” in my other ear, “Searching!”, “Pairing!” (Whether I actually am or not), finally ending with “Bluetooth connected” in each ear.
This is a very good hack.
I like the title.
I have a cheap video camera that I got just for the night vision but ended up with a lot of decent features that weren’t advertised, I know it’s not about Bluetooth speakers, which does the same where I turned off sounds but startup and shutdown are at 70% volume and always play… So I took it apart and de-soldered the speaker
I had an annoying video projector system like that. Every reboot, despite being configured otherwise, the internal speakers would turn on at something like 70% volume in addition to the aux out audio I intended for it to use. Ended up just cutting out the speakers and bloating lithium back up battery.
I really want to do this on my Xiaomi 16w Bluetooth speaker bc it’s so loud when I use it at night and I turn it off or on it sounds soooo loud, but idek if I could get it to work
i have a unit with simmilar issue/bug.
no complaints tho as it also plays MP3 from USB and microSD and will be integrated into another system where i will program the system to mute it at just the right times
also, no complaints as its under 4$…
funny tho as aux input was hidden on microUSB and voice clip pronounces it as ox input lol
not sure what you mean: “aux”, the first syllable of “auxilliary”, is always pronounced “ox”.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)