HMI on Raspberry Pi: A Low-Cost Industrial Touchscreen Panel
Dedicated HMI panels cost hundreds to thousands of dollars. A Raspberry Pi, a touchscreen, and a web dashboard can cost less, and for monitoring-focused HMIs they do the same job. Raspberry Pi list prices have risen several times in 2026 because of memory costs, so price the whole kit (board, power supply, display, case, storage) at current prices before you compare. The catch is reliability: an operator panel has to boot into the dashboard, survive power cuts, and never drift into the desktop.
This guide covers the two parts of a Pi HMI: what runs the dashboard and how to make it behave like an appliance.
Two Ways to Run an HMI on a Pi
1. The Pi serves the dashboard
The Pi runs a small web server and serves the HMI page over the LAN. Operators open it in any browser, or a kiosk browser full-screened on a touch monitor. This is the classic "web HMI" deployment and the easiest to maintain: update the file on the Pi, and every screen refreshes.
2. The Pi is the operator station
The Pi has a touchscreen attached and runs a full-screen kiosk browser pointed at the dashboard. The operator never sees a desktop: they see the HMI, all day, every day. This is the setup that replaces a dedicated HMI panel.
For the web-based HMI approach, both patterns use the same web page, which connects to a gateway or PLC endpoint over WebSocket.
Hardware You Actually Need
| Component | Recommendation |
|---|---|
| Board | Raspberry Pi 4 or 5 (Pi 5 is noticeably snappier for big dashboards) |
| Display | Official 7" touchscreen, or any HDMI monitor + USB touch overlay |
| Power | Official PSU, ideally on a small UPS or at least a surge protector |
| Storage | A quality SD card or an SSD. The Pi 5 can boot from NVMe through an add-on board, and the Pi 4 boots from a USB SSD |
| Network | Wired Ethernet, do not run a plant panel on Wi-Fi if you can help it |
Making It Kiosk-Ready
A dashboard that boots into a web page is 90% of the way there. The last 10% is making it boringly reliable:
- Auto-start the kiosk browser on boot: a systemd service (or the desktop's autostart) launches the browser full-screen, pointed at the dashboard URL.
- Disable the desktop chrome: no taskbar, no cursor after idle, no Alt-Tab. Browser kiosk flags handle most of this.
- Add a watchdog: if the browser crashes, systemd can restart it. If the Pi hangs, the SoC's hardware watchdog, driven by systemd's
RuntimeWatchdogSecsetting, reboots it. - Prevent screen sleep: the panel must never go black mid-shift. How you disable blanking depends on the display stack: Raspberry Pi OS Bookworm uses Wayland by default, while older releases use X11, so check the setting for the one you run.
- Read-only root (optional): Raspberry Pi OS has an overlay file system option in
raspi-config, which keeps writes in RAM so a power cut cannot corrupt the OS.
Reality check: SD cards are a common failure point of Pi panels. A dashboard that writes logs constantly will wear out a cheap card. Use an SSD, or at minimum a high-endurance card, and keep writes off the card.
Connecting to the PLC
The dashboard connects to the PLC over the plant network. Two rules matter:
- Keep the PLC traffic on the OT network. The Pi can have two interfaces (one to the PLC subnet for data, one to the office LAN for the dashboard), but the simplest secure setup is one isolated network where the panel, PLC, and any gateways live together.
- Never expose the PLC port to the internet. If you want remote visibility, expose a read-only view through a VPN or a separate service, not the raw PLC port.
If the PLC does not speak WebSocket directly, a gateway on the network translates its protocol (Modbus, S7, EtherNet/IP, OPC UA) into the variable feed the dashboard consumes.
Is a Pi Good Enough for Production?
For monitoring and operator interaction: yes. A Pi 5 renders dashboards, gauges, and charts comfortably, and a properly configured kiosk boots straight into the HMI.
For safety-rated control: no. The browser is not a certified safety layer. E-stops and interlocks belong in hardwired circuits, exactly as they do with any other HMI.
For harsh environments: check the operating range. The Raspberry Pi 5 product brief gives a 0 to 50 °C ambient operating range, which a hot cabinet next to a molding machine can exceed. Industrial panel PCs exist for a reason; a Pi HMI wins on cost, not on environmental ratings.
Dashboards on a Pi With Voltrus SCADA
If the Pi needs more than a static page (several PLCs, alarms, history), Voltrus SCADA ships as a single binary that runs on a Raspberry Pi and serves browser dashboards over Modbus, S7, and EtherNet/IP. To check a device's registers before wiring up screens, use Modbus Poll.
Run Dashboards on a Pi
Voltrus SCADA runs on a Raspberry Pi or a small VPS. Core is open source under AGPL-3.0.
Explore Voltrus SCADA →