Reverse Engineering A Soundsystem’s API

We’ve all been stymied by a smart thermostat, coffee maker, or other device which would work fine on its own but ultimately seems to be worse off for having an Internet connection —  so when something actually pulls off this feat it’s quite noteworthy. [James] has a powerful set of connected speakers and while they don’t have all of the functionality he needed built-in, an included web API at least allowed him to build in the features he wanted.

The major problem with these speakers isn’t that they’re incredibly loud (although they are), but rather that the wide range of available volumes for such a loud soundsystem doesn’t leave a lot of fine adjustment in the range where [James] typically uses these speakers. To tackle the problem, he first found the web interface the speakers present and then discovered a somewhat hidden application programming interface (API) within that allows for some manual control. He built a second website which serves as a volume slider within the range he wants, and the web server sends this volume to the speakers via this API which allows much finer control than the built-in user interface.

Having a usable API included with Internet-connected devices is not always the case, although it’s a great model for any company wanting to allow their customers better control of the products they buy. If you need to roll out your own API for connected devices that don’t have one already, take a look at [Sean Boyce]’s guide from 2019.

11 thoughts on “Reverse Engineering A Soundsystem’s API

    1. Probably since not having to touch his expensive hardware and do mods, he can do it all in software leaving his speakers pristine and not having to come up with remote control interface for a voltage divider solution…

    2. Maybe they don’t want to open the device? With a “connected” speaker, I think it would be a safe bet that the input signal doesn’t come through an analog cable.

  1. It’s entirely possible to have a high def file stream to a D to A where it comes out as a PWM signal to a class D amp. Where to put a pot now, but yes the pot must be at the final amp and be adjustable to within 1or 2DB. No coarse “presets” labeled rock, jazz, loud etc. The sinister side has the record companies locking up everything with next gen DRM knowing that the analog connection of the last kind is killed. Your speaker system is Holeywood Demanding Mandatory Insurance compliant.

  2. To all the people saying “build an l-pad”, or “make a voltage divider”, there’s no separate amplifier, there’s no analog signal in for the wireless signal. There’s a power cord, and the rest in by wi-fi, the way he indicates he’s using them. The image used is unrelated, those are JBLs and the write-up is about KEF wireless speakers.

  3. Now accepting your bets on how long until

    a) the used API goes away via software update

    or

    b) speakers stop working because “deprecated hardware no longer supported”

    or

    c) speakers stop working because the company folds

    1. Fools and money.

      Get wireless speakers.
      Get rid of annoying speaker cables.
      Get annoying power cables.
      Yeah!

      Lovely Class D amps!
      Get rid of your quality amplifier too.

      I just re-coned a 30 year old sub.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.