$50 ESP32-S3 Knob Hifi Controller

Thanks Muness,

That it! Working great now :grinning_face:

1 Like

Thank you for the bug report and testing things 3x times. :folded_hands:

Shipped the fix in the 2.5.1 firmware. Should make its way to the knob via an OTA update.

1 Like

First of all, thanks a lot for this great project — it adds a really cool feature to Roon. I was wondering if there’s a way to make it work with an ESP32‑S3 Touch‑LCD‑4B

1 Like

Each of the firmware are independent builds right now. I am trying to figure out a model to make it sustainable to expand (not really from a code perspective, but from the time investment perspective).

I don’t have that one, so that is likely the first thing I’d need to get started. The actual ports have been relatively easy to implement, especially as I’ve extracted common code for the ESP32-S3 and communication to the UHC bridge and common things like the http server they run for config.

What do you like about that particular Waveshare? I liked the look of it, but couldn’t figure out how to mount/enclose it in a case so didn’t buy it.

Hi Muness, Many thanks for your help, It’s a great addition to Roon :grinning_face:

1 Like

Thx for your answer - I think to install it like a wall switch.

Hi @Muness - small feature request if the urge takes you at all: when pressing the track change buttons, could this immediately prompt a screen refresh? It seems to take quite a while for the artwork and track information to update (presumably determined by the background refresh rate). Many thanks - loving how solid and reliable this implementation is!

1 Like

Battery Life - What are other people getting ?. The battery on mine seems to go flat very quickly

As an experiment I charged it up and left it switched on in the evening while watching TV. I turned the dial ring about 4 times during the evening, just to wake it up. After 4.5 hours the battery was flat

Approximately the same here. I use it mostly plugged in. If not recharge immediately after use.

On the bright side: the knob recharges fast.

1 Like

Exactly my experience. Mine goes flat after 3-4h.

1 Like

Are you both using Deep Sleep?

That should last a lot longer as it turns off everything other treating the actuator as an "onā€ signal to wake it.

Thanks you both for your reply. I was thinking mine was faulty and would have to go back !

Hi @Muness, That looks interesting. So where do I find the settings ?

……Ok, found it. That’s the settings I have.

1 Like

I’ll test the two I have to see how long they go with that setting again.

So haw long did they go for?

Hi @Muness - this is fantastic, thanks.

2 quick questions

  1. I bought the knob without the battery (to speed shipping/ in my country (NL) - is there a battery you recommend? Do any 3.7V 102035 ones work/ are there any higher capacity ones?

  2. Is there a way to remap the knob rotation to control something apart from volume? My roon setup doesn’t have variable volume control so twiddling the knob does nothing :slight_smile: - could it be to eg start a preset, or skip playlists

Thanks for all the work on this, and on the setup and onboarding of the knob itself, this is a lovely thing.

Thanks for the kind words! Credit to the feedback I get here (and in the LMS forum) for the setup experience.

  1. the 102035 is a size, apparantly (10 mm thick Ɨ 20 mm wide Ɨ 35 mm tall). And any one with 3.7V and the PH-1.25 connector should work. I got a smaller one from Amazon because I couldn’t find that size. I also ordered 102035 from AliExpress that claimed to be 1000 mAh and it does seem to go longer. I estimate about 8 hours of ā€œdeep sleepā€.

  2. Not yet. I had been working on an overhaul that allowed extensive customization. I’ll see about getting that going again, and maybe less ambitious so I can get it out. I’ll have to see what the Roon protocols allow though, in terms of what else we can use the actuator for. Best case that’s weeks out to be transparent as I’m travelling and generally pretty busy.

That exploration did end up with major performance improvements, but I don’t know if they helped with the battery life as I ususally have it plugged in.

Hi @Muness,

This is a really cool project! I’m trying to build the project from source and it appears that the developer document on GitHub is out of date.

I’m using ESP-IDF 5.4.4 on a Mac and I can build the sample apps that Waveshare has on their web, but when I try to build this project I’m getting a compile failure:

/Users/mark/development/github/muness/roon-knob/idf_app/main/display_sleep.c: In function 'enter_deep_sleep':
/Users/mark/development/github/muness/roon-knob/idf_app/main/display_sleep.c:398:56: error: 'ESP_EXT1_WAKEUP_ANY_LOW' undeclared (first use in this function); did you mean 'ESP_EXT1_WAKEUP_ALL_LOW'?
  398 |     err = esp_sleep_enable_ext1_wakeup(wake_gpio_mask, ESP_EXT1_WAKEUP_ANY_LOW);

I don’t know if I just have an environment issue or if I’m doing something else wrong. Any ideas?

I grabbed some things out of the install.sh script and was able to get it to build. I’m working my way through trying to merge the results together now. Updated developer docs would be appreciated though.

I have created a Plexamp adapter for the bridge. It uses GDM (broadcast/multicast) to discover players then uses long polling with a separate worker per player for status updates. I am using this at home and it has been reliable (though I only have 2 players). Is there any interest in a PR for this? If not I can make a fork.

2 Likes