PI zero - performance Tips Please


I have a PI Zero W and are running node-red with 32 nodes on it, it is very slow. Takes a good 15 to 30 sec to deploy the flow if not longer (most of the time longer and the dashboard even longer).

Is this normal or not?

What are you experience with the Pi Zero W?

Any one with some performance TIPs for the Pi Zero?

(I do understand the limitations of the processor in the Zero, Just seems very slow to me)

What else is running on the Pi?

I assume you are not running a desktop?

Can you show us the output from the top command?

The Zero W is very limited in processing power and with only Wi-Fi for connectivity it makes a poor choice for NR. I suggest replacing it with a Pi3, or better, and connecting via Ethernet.

I have a very small application switching one relay based on time and on based on temperature.

Top command?

Have desktop running as I want to show one page on the dashboard to set time for my relay and temp for the other relay.

Thats a very bad idea on a pi zero. Its only really useful running with a minimal headless installation as running the full desktop environment on it especially with something like a browser running will make it nearly unusable for things such as nodered.
Its really quite useable for simple nodered flows if you use the lite version of the os and run it headless and remote operate it but if you want to run anything like a desktop on it as well id recommend at least a raspberry pi 3a+ which is often overlooked. Its still cheaper and has a smaller form factor than a normal Pi 3 or 4 but is quite adequate for a simple set up even non headless.


top is a Linux command line app that shows you what is running and the performance metrics of your OS.

Yup, there's the problem. A Pi Zero is nowhere near powerful enough to run a Linux desktop along with everything else and have any kind of useful performance.


Add MQTT to your PiZero, then publish the data to a broker and use a separate computer to connect and visualize the data

1 Like

How do you mange you flows without a browser?

Suppose you could just replace the *.json file, but not to easy to fault find.

I do have a 3B+ I mqtt the data to an wright the metrics to Influx BD and visualize on Grafana.

Suppose I can mqtt the metrics for controlling the relay from the 3B+ as well.

The browser that you access the flow editor with doesn’t have to run on the pi that node-red runs on. On the pi only the server side code has to run. All my Raspberries are actually headless setups and I do most of the flow editing from the browser on my iPad-pro if that’s what you mean. Just point any browser on a machine in the same network at the pi and port of the machine running node-red.

1 Like


I had a similar problem, turns out the sd card i have chosen sucked.

Sd cards are in very different performance categories.

After changing that it started performing fine

My new one said

class 10

Thanks, yes, slipped me, just point from any device on same network to the IP (xx.xx.xx.xx:1880)

I have see that the SD are critical in good performance on the PI, I use class 10 or better and only manufactured by the better know houses. The no name brands are really no name no performance.

I don't think the SD card performance is likely to be significant on a Zero. They should be good quality (not unbranded cheap ones) though. The problem here is trying to run a browser on a Zero. Even on Pi3 it is marginal. You really need a 4 to run a full desktop and browser.
For running node-red though there is not problem, just don't connect a display and even better disable the GUI in raspi-config. I think you can do that can't you?

T o counter all the posts saying don't run a desktop on a PiZero - I have 6 of them running the standard desktop and Node-RED at same time :slight_smile:

What you can't really do, is run a broswer on a Pi Zero, to edit Node-RED at the same time.

As others have said, run a browser on another computer to do that

I don't run Dashboards, so don't know about the impact of running them

1 Like

They are heavyweight because they do so much hand-holding for you. Also the Angular v1 framework is very heavy - Until Dave optimised things, it wouldn't run at all on mobile browsers for example.

1 Like

That is interesting, perhaps the desktop is now more efficient than it was when I try tried it (quite a long time ago I must admit).

I think provided the browser is not being run on the pi then the overhead of running the dashboard in node-red should not be an issue, unless it is complex.

3 of them are running Jessie so they've been running for quite a long time :slight_smile:

They are not running real-time reactor control systems :slight_smile: but do interpret and relay IR codes from one to another via central MQTT server

So short messages no greater than 100ms intervals

Or applying a sweep colour change to 100 Neopixels when Cheerlightscolour changes