Whole House HiFi Tamed Without Fuss

One of the problems that has accompanied the advent of ever more complex home entertainment systems is the complexity of the burgeoning stack of remote controls that manifest themselves alongside your system. It doesn’t matter if you have a fancy does-the-lot universal remote, you are still left with a slew of functions to perform before you can sit down to enjoy the music.

[Robert Cowan] had this problem with his whole-house audio system. Playing music required a fiddle with the remote, and the moment was gone. What was needed was an automatic system that simply issued the relevant commands to the stereo without all the fuss.

His solution was to have everything happen when an audio output was detected from his Sonos Connect streaming media player. He tried rectifying its line output to detect music but hit problems, so instead used a SparkFun audio detector module. This in turn speaks to an Arduino, which then talks via a level shifter to the stereo’s RS232 port. [Robert] included all the relevant parts, schematic, and software is links in the video description. It’s a project that should almost be a feature built into a decent stereo, yet the manufacturers prefer the awful interfaces of their remote controls.

We can’t help wondering if his spotless bench and suspiciously tidy workshop is a scene of real hardware hacking or a TV studio, but we’ll forgive him that for his good result.

Unsurprisingly we’ve strayed into this territory before here at Hackaday, with a round-up of infrared universal remote projects. And if you’re not even sure the remote is working, we’ve covered a handy tester.

Thanks [Dan Watson] for the tip.

14 thoughts on “Whole House HiFi Tamed Without Fuss

  1. Filed under the “why use an arduino for that” file:

    To test an IR remote simply point it at your camera phone and push a button. Camera’s can generally see IR and you will see the flashes.

    1. Sadly, this trick no longer seems to work with some smart phone cameras. Pretty sure it worked with my iPhone 4, but my iPhone 5 don’t show anything on the display when a source of infrared light is used; Even tried in a dark room to see if it was just faint. I can actually see the light (though faint) more clearly than my current phone does.

    1. Unlike the ESP, Arduino is an open platform, no particular company makes a profit on each one. They don’t even all use Atmel parts. So not much benefit in advertising for them.

      Besides that, isn’t the ESP an Arduino too?

  2. Bridge rectifier? If anyone is keen to do something similar the one you’re looking for is an envelope detector. I use a simple diode + capacitor followed by a comparator to trigger relays in my audio gear.

  3. I’ve been doing the same thing for years with EventGhost + Sonos Plugin + Onkyo plugin. EG will listen on the network for the broadcast frames sent by your Sonos devices when they perform any action, and will send commands to my Onkyo AV system when it sees my Sonos Connect go live. It’s fast and reliable and if you have a Windows system + some way to control an AVR from Windows (IP, IR, etc) then you can do it without any additional hardware.

  4. Hey guys, this is Robert. I just saw that this got posted on Hackaday. First off, I used an Arduino because I have a drawer full of them and it’s what I know. I’m not a big programmer and this was a quick and easy way (for me) to accomplish the task. I’ve messed around with an ESP8266, but not at all sure how that would have helped me here. There are some python projects for controlling Sonos, but that’s a lot of code, which I’m not really as familiar with.

    I’ve been playing around with controlling Sonos over the network, but I’m not quite there yet. At the very least, I still need to talk to the system over RS232 (IP control isn’t all that reliable on the Anthem unfortunately). I’ll certainly be modifying this a little bit here and there as I go.

    Sorry for giving anyone anxiety by ‘summing’ the left and right channels. ;-)

Leave a Reply to alezCancel reply

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.