Need Simple Display-only Dashboard - Is RPi Zero W enough?

I am working on a project to display temperature, humidity, and some other values to a read-only display. I will be using the Modbus/TCP library to poll a Modbus device periodically (no more than once per minute) and update the values on a display screen.
Additionally, I would like to show a simple trend over the last ~12 hours.

I have a few questions:

  • What I really want is to have my 'graphic' as a background image (with company logo and such) with the value fields overlaid in appropriate spots. Is this possible with the Dashboard library?

  • Is the RPi Zero W performant enough for this? It seems to be great when hosting Node Red and I connect with my computer over my home LAN, but it is unbearably slow when opening Chromium on the RPi itself.
    The purpose of the project is to have the RPi self-contained, and act as a 'black box video converter' strapped to the back of the TV, so I assume a web browser must be open to display the graphic. Is this accurate?
    In other words, running Node Red seems fine, but it's the browser part that seems to kill the deal.
    Should I just move up to the next powerful RPi?
    It is running the plain Raspberry Pi OS (Recommended), so maybe there is a leaner version that would work?

Should be enough.

Maybe this could help you.

1 Like

thank you for the prompt reply, I appreciate it.
Thanks for reminding me of Kiosk mode. I did read that article a few weeks back but I had forgotten about it.
What is your recommendation with this? Setup Kiosk mode as well as setup Node Red to run automatically upon boot?

This helps me get some of the logistics figured out, but doesn't quite help me with my 2 main questions.

The background can be done, but I am not good with getting it working.

What you have to do is set up a public directory in node-red and edit the settings.js file to point to that folder.

Then you put the logo in that (or sub) directory. I'd suggest making a pictures (or graphics) directory and putting it there.

Here goes:
settings.js
Look for the public entry. Something like this:
httpStatic: '/home/me/.node-red/public/',
but your would be pi rather than me

Put something like this in a template node. (The BLUE one, not the orange looking one)

<style>
    .nr-dashboard-cardtitle {
        text-align:center;
    }
    body {
        background-image: url("/Pictures/metal_4.jpg");
        background-repeat: cover;
    }
    </style>

added to site <head> section at the top.

Note all the punctuation in the paths. It can bite you hard if you miss any.

I'm not sure I see a second question I can answer.

I wouldn't recommend a pi zero to run a browser, as you say its under powered.

The kiosk option would work well on an RPI4, however they are not easy to come by these days :wink:

Using the standard dashboard - You can display a background image of your choosing via some CSS.
Locating the readings at specific locations is not that simple, but it could be done with some thought to the layout.

There is also node called node-red-contrib-ui-svg
With this you could create any layout you want, take a look at the wiki for some ideas.
Not sure what your skill level is, but if you can draw something in Inkscape then you can overlay interactive elements / text / graphics etc quite easily. (This may be the quickest option for you)

Failing that there are a couple of alternative dashboards you could look at -

node-red-contrib-uibuilder or flexdash these offer more flexiblity than the standard dashboard.

If you really mean the [original] Raspberry Pi Zero W, no it's not viable to run a desktop and browser on it.
Perhaps you could with the RPi Zero 2. But if that's not the one you have, pointless speculating since they don't seem to hit the retail market at all. (I have been on a reseller's wait list for months).

However, a RPi 4 with 4GB and an SSD hard drive is a delight to use, and slightly more obtainable.

I would suggest you compare Chromium's performance with Firefox ESR. It works better for me except perhaps for playing video.

Thanks all for the replies. It has helped.

I was able to get the background image I want! Once again, I take a leap that gets me 50% closer.
At this point, my current issue is how to position the widget/modules.
It seems they all clump together at the top, rather than being able to be placed halfway down the page, or such, and are not transparent.

Is there a way to position these elements more purposefully?

Shade the load of Nodered dashboard, use FUXA GitHub - frangoteam/FUXA: Web-based Process Visualization (SCADA/HMI/Dashboard) software
for frontend and keep Nodered for data handling.