It’s no secret that the hardware devices we buy are often more capable than their manufacturer leads on. Features hidden behind firmware locks are a common trick, as it allows companies to sell the same piece of gear as a different model by turning off certain capabilities. Luckily for us, these types of arbitrary limitations are often easy to circumvent.
As a perfect example, [Acuario] recently discovered that the LG SJ2 sound bar has quite a few features that aren’t advertised on the box. Whether it’s due to greed or just laziness, it turns out LG isn’t using many of the capabilities offered by the ESMT AD83586B IC inside the amplifier. The chip gets its configuration via I2C, so thanks to the addition of an ESP8266, the expanded capabilities can now be easily enabled through a web interface.
[Acuario] has already found out how to turn on things like simulated surround sound, or per-channel volume controls; all functions which aren’t even exposed through the normal controls on the sound bar. But it goes deeper than that. The LG SJ2 is a 2.1 channel system, with a wireless speaker providing the right and left channels. But the AD83586B inside the subwoofer is actually capable of driving two locally connected speakers, though you obviously need to do a little rewiring.
There are still even more capabilities to unlock, though [Acuario] is currently struggling with some incomplete documentation. The datasheet says there’s support for user-defined equalizer settings, but no examples are given for how to actually do it. If anyone’s got a particular affinity for these sort of amplifier chips, now could be your time to shine.
For hackers, there’s perhaps no better example of feature-locked products than Rigol’s line of oscilloscopes. From the 2000 series of scopes in 2013 up to their higher-end MSO5000 just last year, there’s a long history of unlocking hidden features on these popular tools.
“The datasheet says there’s support for user-defined equalizer settings, but no examples are given for how to actually do it. If anyone’s got a particular affinity for these sort of amplifier chips, now could be your time to shine.”
From the data sheet I found:
http://www.micro-bridge.com/data/EMP/AD83586B.pdf
It doesn’t seem very complicated. When the device is configured to act as an I2C slave, you write your configuration into the chip to choose what channels are in use, how they are mixed etc. This all comes from an on-board I2C flash chip during boot-up. The custom EQ settings are a number of coefficients to a transfer function, that are written to specific register addresses. These are normally set to zero, except one which is set to 1 so the EQ has no effect (multiply by 1).
Page 51. “All user-defined filters are path-through, where all coefficients are defaulted to 0 after being powered up, except the A0 that is set to 0x200000 which represents 1.”
Once you write the parameters in, the EQ should just work.
Of course the “how to do it” is difficult if you don’t know how transfer functions work.
It’s basically like this: you have the function H(z) which is a function that operates on the frequency domain. If you define a transfer function H(z) = 1/(1 + z) you have a simple low-pass filter. The different coefficients shape the frequency response of the function so you can set band-pass or band-stop filters over different parts of the bandwidth, and they may overlap with cumulative effect.
Each channel can have 8 transfer functions that apply, each with 5 coefficients, that’s why the “20 bands” EQ.
If I’m not mistaken, the EQ filters implemented are IIR filters:
https://en.wikipedia.org/wiki/Infinite_impulse_response
The math looks the same.
Okay. Found it.
https://en.wikipedia.org/wiki/Digital_biquad_filter
Here’s a calculator for the coefficient values:
https://www.earlevel.com/main/2013/10/13/biquad-calculator-v2/
You learn a new thing every day.
Perfect – I hope.. Just what I was looking for but couldn’t find. I’ll experiment using these as a guide.
Warning, it seems to me that the calculator is using the coefficients a and b in a different order than the wikipedia article. You may have to swap them around.
Like my old LCD TV that wasn’t divx compatible until I managed to open the service menu using an universal remote, then I changed two options on that menu and the TV became able to play normal divx and HDdivx.
When I was in high school I had a fairly fancy (for the time) CD player in my car. My friend’s girlfriend had the lower-spec model of the same deck. If I put my face on her deck, a bunch of the advanced features of my deck became available (One notable one was hers just had like five EQ presets, where mine had the five presets plus a custom one, I could put my face on her deck and program the custom EQ and it would “stick” if she put her face back on, although if she changed the EQ settings it would revert to the built-in ones.
“If I put my face on her deck, ”
And her boyfriend was okay with you doing that?
B^)
;-)
LG spec is here: https://www.lg.com/nz/sound-bars/lg-SJ2
Says its 2.1ch and 160W at least in this market..?
Do they alter the spec on the same model in different countries?
You are right but the 2.1 only comes from the front bar, not the subwoofer which only has a single mono speaker. This shows how to get the 2.1 from the subwoofer by adding the extra 2 channels using the existing hardware.
Thanks for clarifying.
is that a wemos d1 mini soldered on the pcb?
Yes it is but it’s mounted on veroboard and just stuck onto the board with a double sided sticky pad. The connections are all via cable to the I2C socket on the main board.
Seen something similar done with an old Roomba
I’ve been wondering about unlocking hardware on other devices? I’m wondering if the Samsung Galaxy Tab A and Tab 4 have a compass that is turned off in a factory setting, that could be turned on by the user?
Matching on the basis of power voltage and several things which are important to think as you need to know its build quality which are important while buying it beside this you need to know its size whether it will fit your car or not.
maybe this isnt the best option for a budget, but what i did for more bass was took the computer and wires, ect, and put it all in a new box with an 8 inch sub, and it sounds great. All you need to do is cut the wire that connects to the sub, unscrew the computer, and i just cut off the other thing beside it (i think its the chip?), and transfered it over to the other box (via where the sub goes in the new box) and use the cut wires (you need to strip them to 10)to wrap around the positive and negative on the new sub, and i ran the power wire out of the port (its temporary, but it works.) Looks good and sounds even better.
If you wanna try the software and all with this, that might work as well, if you cant get a new speaker, I recommend just reversing the polarities of the other one to make it louder
Hello do you still have it i have a unit for repair with dead memory can you dump yours and send me thanks in advice