Suggestions on Volume Control Knobs for Wall?

I’m in the process of building a new home and designing in all the smart home features I’d like to include or have available. One of the things I’m stuck on is control and handling of Volume Control knobs for a few locations. I’m planning to put speakers in the dining room, kitchen, and outdoor porch. Now there are a few quandaries I have with this in trying to plan out properly.

I have an Onkyo system now which works connected to OH for setting zones, volume, etc. This is a great starting point. But I’d like to have a way to turn the volume knobs on/off in certain rooms through the OH controls. If possible, I’d like to also have the ability to raise/lower the volume remotely as well. I think I’m out of luck on the volume control function, but at the very least I’d like to be able to turn on/off the speakers in certain rooms.

My plan is to have a 2-zone receiver (it is currently, but could be changed as well if needed) and setup all the speakers to be attached to the core system. Then it’s a matter of whether I want Zone1 or Zone2 playing to those speakers - or both zones to be the same - and then the ability to turn on/off at the volume knob essentially, because I want to have physical control on these as well.

SO has anyone done something similar? Have any suggestions? Would a dimmer switch work properly in place instead, or an in wall micro switch behind a knob, or is it possible at all to even do what I’m thinking?

From an OH point of view I would suggest physical controllers that are normally used for rollershutters or blinds to increase or decrease the volume.

I have built a simple multirooom controller based on an odroid u3 in combination with an 8-channel usb soundcard and 4 class-D amps. I use squeezelight as softwareplayer, but have used also mpd (plus ampache as server).
Volume and track are controlled via two knx buttons (one dimmer item plus a rule to translate off-on to previous-next and decrease-increase to control volume)

Well, it’s a little bit out of fashion to have physical switches for volume control only, isn’t it ? The modern way would be to put a tablet or (used) smartphone to the wall (remember they have physical volume control knobs, too).
You could deploy a zwave dimmer controller such as the Fibaro FGD-212. It has two inputs that you can attach traditional light switches to (or those turnknobs found on rollershutters). It knows to distinguish actions like press, press-and-hold, double and even triple click. Those you can map freely and use to implement mute, title skipping etc.
If you want analog turn knobs, you could check out the FGRGBW, it allows to attach 4 0-10V analog inputs.

My Sound system is to play music in both bathrooms and the kitchen, so I’m glad to have ‘old fashioned’ switches. Personally, I think it’s better to keep it simple (from point of view of the users)

Thank you everyone for the input. I appreciate the different angles and options that others have used.

I did want to go with a physical control, only for the ease of use by others. I’m the techno lover in the household, and family members don’t always appreciate all the intricate methods to control things. However, if I’m able to blend physical with digital controls, then I always take up that option. In this case, I’m not desiring the use of a dimmer or roller shutter switch, simply because it doesn’t actually physically control the audio power/volume. It seems no knobs control power AND volume, only volume, as the knob is simply passing along the audio signal which requires no power from what I can see - which of course makes sense. Most speakers don’t require additional power, just the speaker wire connectivity.

I have a feeling in this case, unless I was to find a specific amp or electronic zone control system that could be controlled digitally, I won’t be able to get the best of both worlds. The few times I’ve had issues where a ZWave switch has been an issue and not responded properly, defeat the whole purpose of doing things remotely. They would also require an upgrade to a receiver that handles 4 independent zones based on the # of rooms I’m supplying audio through (if done digitally that is).

My original inspiration for this came from someone who had posted awhile back on the Google Groups boards about an in-wall “master” control they had created. It had a volume knob as part of the control, with a click function for selection capabilities. It was pretty slick, though it did use MQTT on the backend to control audio. I think I might be more agreeable to a system using MQTT under the covers than remote switches like X11/ZWave/Zigbee/Insteaon/etc.

Is this the one? - I think he’s @hazymat on here. They are incredibly slick! Maybe if we nag him enough he’ll take some money or gifts in exchange for building us some :wink:

I feel your pain.

Did you find a product that works for you?

I need to distribute a few around my house since, everywhere I may have a speaker. If my wife walks into a room and wants to say something and I’ve got some Zeppelin banging on, she shouldn’t have to go find a smartphone to turn it down. A physical knob on the coffee table could be a life saver.

Any suggestions?

What about just a wemos with a potentiometer on its analog input, piped to mqtt? I use(d) a wemos with analog input to monitor my solar/battery levels. Same basic theory

Hi folks, I happen to be developing just such a device called Jaxcore Spin:

I don’t have much about it online yet, but you can see some more pictures and videos of it on twitter

My device isn’t meant to be mounted on a wall though, it has wifi and is meant to be portable and “coffee table usage” focused. It controls stereo receivers over your wifi network and could potentially support any receiver that has wifi support and published their tcp/serial codes.

I’ll definitely have support for the new-ish models of Denon/Marantz and Anthem receivers because I happen to own those kinds. And I’ve already open sourced the Javascript API so other receivers could be added later. Or if you know how to do an IR blaster setup and know Javascript you could write your own adapter.

I am currently looking for early adopters / beta testers.


Hi @jaxcore!

That’s a really interesting device, thanks for the information. Just a couple of questions:

  • What microcontroller are you using? The only communication protocol available in the device is WiFi? No BLE? WiFi is very power hungry and the first connection time is slow… :cry:
  • What’s going to be the price range of the device?

Great work and looking forward to hearing from you again.

Best regards,


It’s an ESP32, so although the hardware does support both Wifi and BT, I think Wifi for home use is better overall due to it’s wider range. The power usage and boot up time differences between the two probably isn’t as dramatic as you might think. It gets online and connected in about 3 or 4 seconds, and in theory you could get 12 hours of always on use. It has deep sleep enabled, so affer a period of inactivity it goes to sleep and wakes when the knob is turned. It also supports USB charging.and USB serial communication.

It’ll be $199 USD

Thank you for the information @jaxcore!

Keep up with the great job and good luck!

Now we’re talking!

That’s looking like the kid of device I’m after.

I intend using it with my Chromecasts, so if there is such compatibility it would be awesome. I don’t have the technical skills to help with the coding program but I would be keen to test it out :slight_smile:

I’ve looked at how to write a Chromecast adapter before and unfortunately it didn’t look like there was an API for “jacking in” to an already running Chromecast stream and operating as a remote control for volume, fast-forward, etc, which is really unfortunate cause I use Chromecast all the time too.

It looked like the only way to do it was to write a dedicated app that streams to chromecast because then you have total control of the player which it looks like OpenHab can do:

So if you already use OpenHab to control your chromecasts then possibly I could write an adpter so Jaxcore Spin connects to OpenHab and operates as a master volume and remote control for play/pause/stop etc.

Yes I use the Chromecast binding which works like a charm. So your adaptor could piggy-back off it?

Yes that’s the plan, if it’s possible. I stumbled onto OpenHab only because I was researching different smart home platforms that I could hook into, ideally so any function from the smart home system like stereo volume or light dimmer, or media playback could be remoted controlled by my Spin device.

I have to do some more research but it looks like I might be able to achieve this in OpenHab by using a Node-Red library:

I’d be very interested in hearing from someone who knows how to write an integration like this.

Hi @jaxcore!

Knowing that you are using a ESP32, here is my suggestion:

  • Have you ever considered using MQTT to send the commands from the Spin device to the outside world? It looks that you are using HTTP to integrate the device with iOS, Android, music receivers,… but MQTT is a better option to integrate a device in an already working home automation system.
  • If you are going to consider using MQTT, may I suggest you follow the Homie convention? Here you have a ESP8266 library that supports the 2.0.1 version of the convention: (I don’t know if it’s compatible with the ESP32 and it doesn’t support the latest specification (Homie v3), but you can use it as a reference).
  • The next version of openHAB (2.4) is going to include native support for MQTT and Homie V3, so everything will work out of the box!

That is the path I would follow in your situation :wink: MQTT allows more interoperability and it’s faster than HTTP.

Good luck,


Great ideas @riturrioz, yes I have considered MQTT but have no experience with it yet and was not aware of that IOT convention. If I can set my device up to directly publish to MQTT/OpenHab from the firmware then things could get interesting. I’ll have to do some reading.

I am actually not using HTTP, at the moment I am using a custom protocol over TCP/UDP to connect the Spin to NodeJS and I’ve been writing all my remote control code for NodeJS with really good results.

The NodeJS library is here:

Hi guys, I wanted to give you an update on this. I’ve continued to work on my smart dial idea quite a lot.

I actually took @riturrioz’s suggestion and tried making a Bluetooth LE version of it and was really happy with the results. It now gets reliably over 50 hours of lifespan between charges. It charges up in about 5 or 6 hours, so you’d probably only have to do that once a week or so.

I haven’t got an OpenHab integration yet, but @UglyKidJoe you’ll be happy to know I got Chromecast fully integrated. Volume, Play, Pause, Mute can be done with my own software, no need for OpenHab to do this. Fastforward and Rewind doesn’t work so well on Chromecast because of lag, I think the chromecast API is not very good for this but everything else works good.

You can check out the updated website, new pictures, and some additional information

If anyone is interested in joining a beta program or getting early access to the software just let me know here. Or you can sign up to the newsletter on the website, that helps me know how many people are interested in them.