$50 ESP32-S3 Knob Hifi Controller

Oh no! I have code to ignore actuator movement but clearly it didn’t work as expected. I’ll try to reproduce the scenario and see how it can be handled.

I have a GaN-1 hooked up to HQPlayer on the source and bookshelf speakers on the output. ended up seeing max volume to -15db to avoid damaging my ears or bookshelves. Is that sort of thing worth recommending? Or even finding a way to set in the bridge?

1 Like

Some way to setup a safety on the bridge would be fab if possible.

My setup here is a bit more complicated than I explained - I have Roon connected to a Wiim Pro, then out from that to an RME DAC (and then to Genelec 8030c). The DAC volume is controlled as previously described with RooADI, but the Wiim allows a variety of other inputs. The specific circumstance here was playing to the speakers via Alexa, and then trying to adjust the volume before it was ready. I have a safety set in Roon, but this situation bypassed it.

I’m curious about how you’ve got this set up. rooADI runs in a Pi connected to your RME, doesn’t it? But you’re not using that as your transport? Your transport is a WIIM also plugged into your RME?

It’s really too bad that the RME DACs don’t have some other volume control strategy. I have an Eversolo DMP-A6 acting as a transport connected via USB to a FiiO K17 (driving the same Genelecs you have). I do have a form of volume control working on the FiiO, but it’s via Home Assistant. This stuff is too complicated :slight_smile:

Yes, exactly that - unfortunately the RME doesn’t switch transparently between inputs - the S/PDIF signal seems to hold on to it, which doesn’t work well for a whole family device.

I realised after writing my message that I hadn’t actually investigated this - I’m going to consult the manual today. With everything else the DAC offers I’m wondering if I’ve just overlooked it!

I’m just relieved that they have quite a bit of built in safety!

You didn’t overlook anything. The RME DACs don’t have any other volume control protocols. They’re great devices otherwise. If you just wanted to use it with Roon, then you’d do what you’re doing with a rooExtend box connected over USB for both audio and volume control. It’s the fact that you want to also have a WiiM connected for other stuff that’s causing you grief.

Hate to say it but you might be better off ditching the Pi, using only the WiiM, and just letting Roon do digital volume control.

1 Like

Ah, thanks for confirming!

But then I lose the loudness functionality, which is important to me.

First feed-back after 2 days of using the knob.

First of all: THANK YOU - excellent work. I do like it!

Installation
The installation went without major problems thank to the very good documented setup / installation procedures. The only thing I had to change was the USB cable - as written in the docu.

The first impression after 2 days
The device is very nice and the handling is easy. Shows what is essential. Using it throughout the day is self explaining. It already found a place to sit :grin:

Some difficulties:

The knob does not like it if I group the zones and so creates “new” players.

The knob doesn’t have the best wifi. This becomes an issue when waking it up as it can’t connect to the wifi any more. As long as it’s running there are very little issues

I did some tests using Roon and LMS players together. Worked quit good. Some problems again with waking up and re-conecting. I will do additional tests.

The battery life indeed is not overwhelming but it re-loads very quick.

Wish for the future
It would be cool if there could be a possibility to define presets (e.g. for radio stations or playlists)

Again thanks for the excellent work - this is even more amazing as it was done during a very short time.

2 Likes

It’s a nice feature. It’s a great DAC and it pairs well with the Genelecs. If you wanted to delve into the world of automation - maybe you already have - there are tricks you could play with an IR emitter. With Roon and Home Assistant, you could have the knob control the volume of the zone in Roon, set the zone’s volume control to a Home Assistant zone, and then have automations in Home Assistant that convert it to commands sent to the IR emitter. It’s complicated :slight_smile:

I’m doing a version of this with my K17 though not with an IR emitter, but the approach I’m using won’t work for the RME.

1 Like

Yikes, it is! :grinning_face: I’m not sure I’m quite there with the home automation world yet…the current setup has worked pretty flawlessly…until I blew my ears off this week. Hopefully @Muness will find a workaround that will also help others…if not, I’ve certainly learnt a valuable lesson about patience :joy:

A question about this.

Something was starting up and, while that was happening, you adjusted the volume upward and then got surprised. Is that right?

At the time you were adjusting the volume, was the Roon zone actually in a “playing” state?

I ask because I previously suggested a feature to @Muness which is to allow the user to specify that volume adjustments should only happen when the zone is playing. I know this feature because a user of some similar software of mine (Home Assistant based) requested it. These knobs are fun to fiddle with and that can have unintended consequences.

That feature might have helped here but it might not if Roon was actually “playing”. An even more nuanced version of this feature might be to just limit limit volume “increase” changes to when the zone is playing. Thinking about it now, I wish I’d implemented it that way :slight_smile:

Thanks for your thoughts on this.

So, someone started playing to the speakers, initiated via Alexa. Because Roon has volume levelling and Alexa via the Wiim Pro doesn’t, it’s always louder that way so I went to turn it down. I’m fairly sure I didn’t turn it up, and certainly not to zero - it’s as if the act of turning it when it wasn’t fully initialised and connected caused it to reset to zero.

No

This would scupper me from using it as I do at the moment, i.e. managing the volume on the output, regardless of the input.

That would be a bit better, but again not ideal for my use case. I’m also not sure it would fix it, as I don’t think the volume was so much turned up as reset. I’m obviously speculating though as don’t understand exactly how everything fits together.

It would also be good if the Wiim allowed for different volume settings by input but I can’t see that it does.

2 Likes

@gTunes,
I understand your question, but I am using the knob to change the volume of my preamp. And I am not using this knob solely for Roon, but also for the volume of my TV-set (and than the Roon-zone is not playing).
So I think it would be much more interesting that the knob waits until it has full WiFi-connection before it starts to change its volume-settings.Would that be possible @Muness ?
I also had this issue that I turned the volume-knob before it had full WiFi-connection, and then the volume turned to “O”. Lucky for me, it means dead-silence (and not 0dB).

Kind regards, Frank.

3 Likes

This makes me wonder if there’s a different issue at play… The knob usually calculates end volume based on start + actuator-derived delta, constrained by the min/max it knows about.

So yes, really shouldn’t send any volume commands until wifi is back and the zones list is refreshed (it has the min/max, along with lots of other things). However, I wonder if this explains the 0 behavior some have seen… Maybe I have a bug that assumes 0/0 min/max and the actuator change leads to an abrupt reset.

Queuing up to look into this for the next release in addition to potentially setting a defensive max in the bridge too.

2 Likes

Wow this is excellent!

2 Likes

Got mine and uploaded photos $50 ESP32-S3 Knob Hifi Controller - #396 by Muness

Oh you tried it! It’s a pretty cool little dock. Oddly, when I swap USB cables besides the supplied one charging doesn’t work at all.

But the form factor is perfect for this knob and I’m keeping it!

I had purchased this thing to turn an old Pixel phone into an always on Roon controller. But this knob works way better for this.

Glad you like it!

1 Like

v2.5.0 of the knob firmware is now out. The knob now ignores volume changes until it’s connected and has loaded your zone. While it’s getting ready, the display shows its status:

  • Connecting… — joining your network
  • Loading zones… — finding your Roon zones
  • Reconnecting… — recovering after a network drop

For me this happens so fast I don’t see it, please let me know if there are issues.

Your bridge/knob should pick updates automatically. If you want to force the update:

  1. Go to your bridge’s knob settings page (http://<bridge-ip>:8088/knobs)
  2. Click Fetch Latest from GitHub
  3. Open Setting on the knob by long holding on the Zones list
  4. Press Check for Updates
  5. Press Update to 2.5.0

If the knob is useful to you, consider supporting development at https://buymeacoffee.com/muness

5 Likes

As mentioned I did some more testing (= playing around).

I found, that the single most reason for inconsistent behavior is the relatively poor wifi. If the knob is placed closed to the router, all problems go away. The knob works flawless and stable. Even using Roon and LMS in parallel works fine.

So, I arranged with this fact and am placing the device as close as possbile to the router (which in my home luckily is possible). A hint the may help (at least is works for me): the antenna seems to be in the area of the usb connection. If the wifi signal is not good for the knob I place the usb side pointing towards the router.

All in all I am happy! :grin: :+1:

1 Like

I am curious about why you do this. The bridge (and controller family) just work in these cases but I am not sure if there’s cases I am enabling that I should be aware of so I can build more around them.

It may not be the most common scenario but in my home there are some older devices (like Squeezebox Touch or Squeezebox Radios) that function better using LMS. The roon integration of LMS doesn’t offer some features like a full integration of Radio Paradise or in my opinion a better way of handling life radio stations.

So I am running LMS on a NAS (uses very little resources compared to Roon) and Roon under Ubuntu.