Opening the subwoofer there is a single pcb with power supply, speaker driver and a pigyback wireless module. Interestingly there is a connector with 3.3V power and I2C pins connected.
Removing the large heatsink from the power amplifier IC it turns out to be an ESMT AD3586B.
Investigating the IC it turns out to be an I2C controlled power amplifier, equalizer, volume control ic with various output configurations for mono, stereo and 2.1 stereo (and more...). The datasheet is readily available on the internet to download.
In its standard LG configuration it is configured as a single mono output to drive the single speaker.
After studying the datasheet it seems easily possible to re-configure it to run 3 speakers in it's 2.1 mode. This involves very carefully lifting one of the configuration pins and tying it to 3.3V. Then 6 of the ferrite beads need to be re-positioned and re-cabled to output sockets for left and right and a jumper wire added to re-connect the now disconnected bass speaker output (all can be seen in the photos).
Using a Saleae logic probe with the I2C analyser the commands that are sent to the AD3586B can be decoded. The AD83586 is at I2C address 0x6a, there is also a 24C128 EEPROM on the wireless daughter board that appears to be at address 0x0a.
It turns out there are several sequences sent, both on power up (when graphic equalizer filters are set) and for volume up, down, mute, bass boost.
The IC also incorporates a surround sound function and bass/treble boost/cut (none of which are used by LG). Also there are individual volume controls for the 3 channels and a master volume control. There is a 20 band equalizer, DRC controls, mixers and various other features that I have yet to explore..
In the basic re-configured state there is very little that can be heard from the speakers as the volume level is adjusted for a 60W output and we now have 2 x 20W + 1 x 40W. The IC needs to be set up to correctly function in its new configuration.
To run the 'new' speaker I use a Wemos ESP8266 module as this allows me to connect wirelessly to the speaker and adjust parameters via a web browser. The software is still a work in progress but is posted here for anyone who wants to play with it.
One thing still evades me (if anyone fancies taking up the challenge!). The user-defined equalizer.. I can't figure it out. Page 51 of the datasheet does, in my opinion, a pretty poor job of explaining it with zero examples - anyone any good at parametric transfer functions?
Transfer functions aside, it works and I'm reasonably happy with the results. I'll keep tweaking the software but the hardware side seems pretty much sorted.
The soundbar can be controlled from its own web page which contains a number of sliders for volume, bass, treble, equalizer settings and settings for surround sound, equalizer bypass etc. These are the control settings for State control 4.
The software includes ssdp discovery so when it is connected to your network it will appear as LG Sound Bar in the 'Home automation' collection.
There is also a debug output so you can see some of what is going on when you change settings. The debug screen can be accessed via http://<your ip address>/debug.html