RoonDisplay - a lightweight extension for displaying what's currently playing in a specific zone

Hey guys and gals!

I’m developing a “display” extension for my own use, as well as anybody else who’s looking to add a DIY now playing visualisation to their setup. I wanted to use something ready made, but since I couldn’t find something for my specific setup (RPi + Pimoroni HyperPixel 4" display) I decided to roll my own.

Code can be found here: GitHub - CatalinMustata/roon-display

Interface currently looks like this:

It has a cute flip animation when the album art changes and I’ll add some more info on current state (playing, paused, number of tracks in queue, is it on radio, stuff like that…). I’m also thinking about a “clock and current paused track” kind of screen if you’re paused for more than 30s or so (I feel my display will have a tendency for burn-in).

I’m open to suggestions and ideas, but you’re also open to fork the thing and go crazy. Mine will go with some hardcoded values (display resolution being the biggest issue, but also Roon Core IP address and targeted zone name). These are easy to change and I plan to build a small web UI to allow customization.

PS: Let me know if anyone is interested in the RPi setup needed to host this (barebones OS, plus X server, chromium in a nutshell).

7 Likes

Mustafa,

Nice idea. I am interested and would like to know more. This would be a good screensaver or a TV background picture view.

How did you mean about the RPi. Are you intending to provide a code to add to RPi and create the display via HDMI?

Thanks.

Hi Hussein,

Unfortunately this is not designed to work on a TV, but on a Raspberry Pi with a display attached. As far as I know there is an existing solution for displaying “now playing” info on a TV (I have a friend using that)

My project is mostly for myself… and others DIY inclined. I plan on adding some internal logic to control the display’s backlight as well (dim when paused and also auto adjustable to match ambiental light). That goes beyond Roon and will become a bit technical.

Cheers,
Catalin

This is probabbly exactly what I’m looking for now - RPi running Ropieee with an option to display play info on external display. Ropieee supports only official 7 inch one which is too big for me.

How is your display connected? HDMI + USB?

Also is there please any guideline how to install your SW?

Hi @Petr_G !

Hah, same for me. I wanted to use RoPieee, but the 7" is way to big for my needs.

I’m using the Pimoroni Hyperpixel display, which is connected to the RPi using all of the 40 GPIO pins. However, my solution is a simple web page that I display using Chromium in kiosk mode, so any display for the RPi will work, no matter the connection.

I will add a Readme with instructions to my repo, as well as some simple releases for people who would like to try it without building it themselves. One will need to do some manual setup though and I don’t plan on changing that (although if someone wants to bundle it in a ready-made RPi image, by all means please do).

The only issue right now is that the whole layout is kinda hardcoded for the Hyperpixel’s 800x480 resolution. It can be adapted easily, but it’s not very high on my to-do list.

I’ve also developed a small webserver that allows for backlight control. I plan on adding an ambient light sensor to my whole setup so I can control the backlight automatically and have it match my room.

As a sort of personal roadmap, I plan to add the following features:

  • a sort of dithering / noise overlay for the blurred background (the Hyperpixel is sharp, but only a 6bit display so gradiends develop banding easily)
  • add a new screen while connecting to the Roon Core
  • dim the display and go to a simple black & white layout if paused for more than 30s
  • small hour display in the top right corner
  • maybe some info on current queue position or if running Roon Radio

If someone’s curious to try this (works on a PC as well), I’ve made a beta release in which you can actually configure stuff - you know, so that it works on anything else other than my machine.

You can download this small thingy from here (instructions included): Releases · CatalinMustata/roon-display · GitHub

Hi Catalin_Mustata,

I’m a complete newbie - can you please help me how to make it run on RPi 4 with Ropieee installed on it? Where should I copy your files? Do I need to just copy it or need to install something? And will it run after power on? Thanks a lot

I would gladly help, but this will not work on a unit running RoPieee, unless you do at least some customisation to it - I’ll send you a PM with details so we won’t polute this thread.

Just to make it clear - my project is a simple-ish web app. It can run in any modern browser and is designed to cover an 800x480 display. It will connect to your specified Roon Core and display info from a specified zone. You only need a web browser.