Web-Based HMI vs SCADA: Browser Dashboards for Machines and Plants
Traditional HMIs are a box on the wall: a dedicated panel, a proprietary runtime, and a licensing model per screen. Web-based HMIs replace the runtime with a browser. The dashboard is an HTML page, the PLC connection happens over WebSocket or HTTP, and any device with a browser (a kiosk monitor, a tablet, a phone, a laptop on the plant network) becomes an operator screen.
This guide covers how web HMIs work, where they beat desktop HMI software, and, for integrators scoping a job, where an HMI stops and SCADA starts.
How a Web HMI Connects to a PLC
There are two common patterns:
1. Gateway / server pattern
A gateway process talks to the PLCs over their native protocols (Modbus TCP, S7, EtherNet/IP, OPC UA) and exposes the data to browsers over WebSocket or HTTP. The browser page subscribes to variable changes and renders them in gauges, charts, and indicators. Most SCADA-style web HMIs work this way: the server does the protocol work, the browser just renders.
2. Direct pattern
Some controllers or vendor add-ons serve a web interface directly, for example CODESYS WebVisu, the web server built into Siemens S7-1500 CPUs, or Beckhoff's TwinCAT HMI server. The page connects straight to the controller with no separate gateway process. Most PLCs do not offer this, and it ties the screen to that vendor's web stack.
WebSocket vs Polling
Web-based HMIs differ in how they get fresh values:
- Polling: the page asks "what's the current value?" every N seconds. Simple, works anywhere, but wasteful: most requests return unchanged data, and updates are delayed by up to one poll interval.
- WebSocket push: the server pushes a message the moment a value changes. There is no wait for the next poll, no polling traffic, and the connection stays open for bidirectional control (buttons and setpoints flow back over the same socket).
For operator screens, push wins. A pump trip should flip the indicator immediately, not whenever the next poll happens to land. WebSocket is supported in every modern browser and works fine on plant LANs.
Hosting a Static Web HMI
A small web HMI can be a static page: the layout, widgets, and connection logic live in one HTML file that opens a WebSocket to a gateway on load. Where you put that file is a separate choice from where the data comes from:
- A Raspberry Pi serving it on port 80 for wall-mounted kiosks (see HMI on Raspberry Pi),
- An ESP32 serving a small page over Wi-Fi for a machine-local screen,
- Any web server (nginx, a VPS, a NAS) for remote visibility,
- A local file opened from an engineering laptop for ad-hoc troubleshooting.
Two constraints apply to every option. The page needs a WebSocket or HTTP endpoint it can reach from the browser. And if the page is loaded over https, the browser blocks an insecure ws:// connection (mixed content), so use wss:// or serve the page over plain http on the plant LAN.
| Target | Best for | Trade-offs |
|---|---|---|
| Raspberry Pi 5 | Wall-mounted kiosks, multi-screen plant floors | Needs a web server such as nginx; add a watchdog for kiosk resilience |
| ESP32 | Machine-local screens, retrofit panels, low-power | Tiny footprint; suited to a small page and a few viewers |
| VPS / cloud | Remote monitoring, multi-site visibility | Never expose the PLC itself; expose only the read-only HMI |
| Local file | Engineering laptops, ad-hoc troubleshooting | Most portable; needs network access to the endpoint, and an https page cannot open ws:// |
When a Web HMI Beats Desktop HMI Software
- Cost. A static page has no per-screen runtime licence. The gateway or SCADA behind it may still be licensed per server, tag, or module.
- Maintenance. Update the page, redeploy once. Every browser gets the new version.
- Flexibility. Kiosk, tablet, phone, and desktop all render the same page.
- Retrofit. If the plant already has browsers and a network, you skip the HMI panel purchase entirely.
Where Desktop HMI Still Wins
- Hard-real-time control. A browser tab is not a safety-rated operator station. Critical e-stops and interlocks belong in hardwired or certified systems.
- Offline reliability. If the network between the browser and the gateway drops, the page goes stale until it reconnects. A panel connected directly to the PLC keeps its own link.
- Compliance. Regulated environments (for example FDA 21 CFR Part 11) set specific requirements for audit trails and access control. Check that the web stack you choose can meet them before you commit.
The practical answer: web HMIs are ideal for visibility and monitoring: dashboards operators watch, data they need at a glance, screens on the floor and in the office. Keep hardwired safety and interlocks out of the browser.
HMI vs SCADA: The Integrator's Scoping Question
For an integrator, "HMI or SCADA?" is a scoping question: are you building a screen for one machine, or a supervision layer for a plant? Get it wrong and you either over-engineer a single machine or under-deliver on a multi-line site.
An HMI is the operator interface to a machine or process: usually local, one device or a small group, focused on real-time status and control (start, stop, setpoints, modes), with little or no history. Think of the touchscreen on a CNC machine or a web dashboard bound to one machine's variables. SCADA is the supervision layer around it. It adds:
- Multi-device acquisition: dozens of PLCs, meters, and RTUs on one view
- History: a historian that stores process data for trends and analysis
- Alarm management: prioritization, shelving, acknowledgment, ISA-18.2 practices
- Remote access: control-room screens, office dashboards, mobile views
- Reporting: shift reports, OEE, downtime, production totals
Every SCADA has an HMI front end; a standalone HMI is not a full SCADA. Web HMIs blur the boundary: a browser dashboard on a Raspberry Pi can show multiple screens, alarm banners, and a little logging. The real question is how much of the SCADA feature set the project needs.
| Project | You need |
|---|---|
| One machine, local operator screen | HMI (dedicated panel or web dashboard) |
| One machine, screen in the office too | HMI served over the network (read-only for remote viewers) |
| Multiple machines, shared alarms and trends | SCADA |
| Site-wide monitoring with historian, reports, OEE | SCADA |
Cost reality check
Dedicated HMI panels are hardware you buy per machine, from a few hundred to several thousand dollars depending on size and ruggedness, and desktop HMI software is typically licensed per screen or per runtime. A web HMI changes this: a static page carries no per-screen runtime licence, and the "panel" can be a Raspberry Pi and a monitor. The gateway or SCADA behind it may still be licensed per server, tag, or module, and SCADA is a different line item with its own pricing (see SCADA under $1,000). The trap runs both ways: buying SCADA for a single-machine job, or building a multi-machine site on an HMI and duct-taping history and alarms onto it.
Quote an HMI when
- The scope is one machine or one process cell
- The client needs local, real-time control and status
- History, reports, and site-wide views are explicitly out of scope
- Budget is tight and the client already has browsers
Quote SCADA when
- Multiple PLCs, meters, or RTUs must appear on one view
- The client asks for trends, shift reports, downtime, or OEE
- Alarms must be centralized, prioritized, and acknowledged
- Remote or multi-site visibility is a requirement
For many small and mid-size projects, start with an HMI and move to SCADA only when the data requirements demand it. If you cannot tell which one the project needs, the scope is probably not clear yet. For the platform-level comparison, see SCADA vs HMI.
Tools for Browser Dashboards
You no longer need to hand-write HTML, CSS, JavaScript, and a WebSocket protocol to get a browser dashboard. When you need dashboards plus multi-protocol acquisition, history, and alarms in one place, Voltrus SCADA serves browser-based dashboards from a single binary and talks Modbus, S7, and EtherNet/IP. Before building screens, it helps to confirm the register or tag map with Modbus Poll or S7 Explorer.
Dashboards With History and Alarms
Voltrus SCADA gives integrators browser dashboards, alarms, and data logging across Modbus, S7, and EtherNet/IP devices. Core is open source under AGPL-3.0.
Explore Voltrus SCADA →