Roon Extension: Roon Web Controller v1.1.1


I second @evand.
Thank’s a lot @Mike_Plugge , great work. I’m beginning to use your extension on a RPI 3 with official 7" Touchscreen display + case and it’s a perfect “Now Playing” (i also greatly appreciate the new “Library” capabilities).

For test purpose i have setup the touchscreen on my RPI USB audio endpoint (<100 euros). It works but it’s not a good deal from Sound Quality point of view because noise and interferences, probably pollutions on USB from the display hardware ?

So my plan is to use a speciific audio endpoint with no display (MicroRendu, SOtM Sms-200, or DIY Allo USBridge) and let my RPI with display touchscreen out of the Roon audio path: Only to run Chrome browser to display Web Controller.

Interested in feedbacks from other users using RPI + Touchscreen, especially on:

  • Same audio interferences with touch screen ?
  • How to autoload chrome browser at startup ?
  • How to adjust display backlight ?
    I’m running DietPi as OS and i’m not a LINUX nerd.

Again congrats @Mike_Plugge (and the Roon team for the API) !

Introducing RoPieee - A RoonBridge-to-go image for the Raspberry Pi
(Mike Plugge) #43

I have a dedicated Raspberry Pi running to my stereo - one without a display. It has a HifiBerry Digi+ which is plugged into a NAD-D3020 via digital coax. I have a separate Raspberry Pi for the touch screen because it is in a different location. There may be some audio interference from the touch screen, but I am definitely not an expert there. My advice to you would be to try it and if you like it, stick with it. But you will most likely get a better audio experience out of a purpose built, dedicated music player.

One thing I would say though. At this time, I would not recommend a USB DAC on a Raspberry Pi. You will be better off with a dedicated RPi device such as a HifiBerry or an IQaudIO device. All of the Raspberry Pis have known issues with USB DACs that can cause popping and cracking in the sound output. There are some work around techniques with specific configurations, but it is still not as good as a dedicated RPi device.

As for getting things working on Diet Pi, I am not sure how much help I can be. I am very much a Linux geek and I exclusively run Arch Linux for Arm on all of my Raspberry Pis. As a Linux geek, I use the command line to adjust the display backlight. The brightness is adjusted with entries under the “/sys” pseudo file system.
Google “/sys/class/backlight/rpi_backlight/brightness” for more information

I describe how I launch Chrome/Chromium at start up in this link. But it is very specific to Arch Linux and the comment makes assumptions about Linux skill level. I provide this information as-is and cannot provide support for it.

(Mike Plugge) #44

@Tech_Whisky_Lab, @evand and @volpone - thanks for the kind words about the extension.

This project started it’s life as something for me to use myself and I only released it publicly on a whim. I have been very surprised and quite pleased that anyone else is actually using it. I am not a programmer by trade - I am a Linux sysadmin with extensive network engineering experience - so my code is probably garbage.

But I am pleased that others are using it and are happy with it!


I agree Mike.
Even before to test RPI touchscreen my projected setup was to use headless dedicated audio endpoint (without any display) to optimize SQ.

My tests with RPI touchscreen are a confirmation this is really required to avoid terrible audio interferences. Not a problem to get an independent dedicated web controller display on RPI out of the audio path.

About RPI USB SQ i’m currently using RPI3 + iFiPower PSU to feed T+A DAC8DSD, via USB, with upsampled audio up to PCM 384K and DSD128 (DoP): SQ is quite OK (no pops, no noise) either with RoonBrige or with NAA (HQPlayer client). Only issue is lack of native DSD support due to Amanero / ALSA drivers limitations. However, for even better USB I will try ALLO USBRIDGE as soon reviewed. I hope drivers will be fixed for native DSD.

Thank you for your valuable links and informations. I will ask on DietPi support forum too.


Hi Mike,
A little off web controller topic but about RPI + Touchscreen and audio interferences.

Seems it could be an “under voltage” issue. I’ve got a yellow lightning bolt symbol on the screen.
See discussion: Powering Raspberry Pi 3 & Touchscreen

(Mike Plugge) #47

That would not surprise me - especially on a Raspberry Pi 3. The RPi3 has higher power requirements than the older ones and the touchscreen pulls even more. I use a power supply rated at 5v, 2.5amp for my RPi3 with touchscreen. But most of the older power supplies are only 2.1amp.

(Mike Plugge) #48

@Tech_Whisky_Lab - I think I have this resolved and have pushed the update to the dev branch.

Can you check it out please?

(Fernando Fuentes) #49

@Mike_Plugge sure. I am out right now but as soon as I come back I’ll test it. Thanks again.

Powering Raspberry Pi 3 & Touchscreen
(Fernando Fuentes) #50

@Mike_Plugge this might be my browser caching stuff… but I cant even hit play… I can see the new webui but I cant interact with it… I am going to investigate further…

(Rene Bouwmeester) #51

Works pretty neat on the big screen as well… Weren’t people clamouring for something like this? :slight_smile:

(Android webbrowser on Sony Bravia TV).

(Mike Plugge) #52

I know I was! Glad you like it!

All of the graphics scale to the screen, so everything from a 800x480 touch screen to a 4k monitor, it looks right!

(Mike Plugge) #53

Let me know what you find out. That one confuses me.

(Mike Plugge) #54

Roon Web Browser v1.2.0 is now available.

See this topic:

Where does one begin?
(Matt) #55

@Mike_Plugge I have the web controller app running on a Raspberry Pi with a 7" screen, and it’s fantastic. Thanks!

I’m writing a simple script to control display power management based on the currently playing status in the app - i.e disable blanking while music is playing and re-enable when stopped. It would be great if I had a way to work out which zone the app is controlling. Would it be possible to expose a URL that could be fetched with Curl with basic “now playing” info?


(Mike Plugge) #56

Conceptual I like that idea. Unfortunately, implementation would involve shifting zone selection from the client (browser) side to the server (nodejs) side. That would be a pretty big change with negative functionality regressions, so I am not sure it should be done.

(Matt) #57

Right, I didn’t think that through. The client would have to push the zone id somewhere.

(David Melvin) #58

This plugin is :sunglasses:, thanks for your kind work! Is there any way to look at getting a button for save track to playlist? As I’m constantly building playlists, and this would be a perfect feature to add… many thanks

(Mike Plugge) #59

Good idea, but the functionality to manage playlists and the play queue is not currently exposed via the Node Roon API. So at the moment, this cannot be implemented…

(Dmitry Semenov) #60

on my Linux progress bar is not being updated dynamically. I have to reload the browser tab in order to see the progress bar updated, otherwise it stays at 0 all the time.

Tested on both Chrome and Firefox.

Plus the progress bar is not clickable, so you can’t progress the song forward.

Not sure if it’s a bug or just not implemented.

(Mike Plugge) #61

The progress bar is read only - it does not advance the track. I have not implemented track bar based seek.

As for it showing 0 at all times, please make sure that you are running the latest version of Roon Web Controller. This thread is for an older version. There may or may not have been a bug previously.