DEV Community

I Built a Full Industrial SCADA System That Runs From a Single HTML File

The Problem

Setting up a SCADA/HMI system typically requires:

  • Expensive proprietary software ($10K-$100K licenses)
  • Complex server infrastructure
  • Windows-only environments
  • Weeks of configuration

I wanted something different.

The Solution: awtSCADA

awtSCADA is a complete industrial SCADA/HMI system that runs entirely in your web browser. No installation. No server. Just open one HTML file.

🔗 Live Demo | GitHub

What's Inside

Feature Details
Protocols IEC 61850 (MMS, GOOSE, SV), OPC UA, Modbus TCP, MQTT, SNMP — 9 total
Function Blocks 53: logic, math, timers, PID, filters, interlocks
Graphics 65 elements: pumps, valves, motors, tanks, pipes, gauges
Database Built-in SQLite: trends, alarms, operator log
Performance 10,000 tags/sec, 100ms update cycle
Gateway Python — connects to real PLCs, RTUs, and IEDs via REST API

How It Works

Browser (Single HTML) ←→ Python Gateway ←→ Real Equipment
         ↕                                    ↕
   SQLite DB                            PLC / RTU / IED
   (trends, alarms)                     (Modbus, OPC UA, IEC 61850)
Enter fullscreen mode Exit fullscreen mode

The HTML file contains the full HMI engine with:

  • Drag-and-drop graphic editor
  • Function block programming
  • Real-time trending
  • Alarm management
  • User authentication

The Python gateway handles communication with physical devices.

Use Cases

  • Education — teach SCADA concepts without expensive licenses
  • Prototyping — quickly build HMI mockups for client demos
  • Small facilities — water treatment, solar farms, building automation
  • Security research — safe ICS/SCADA lab environment
  • Digital substations — full IEC 61850 stack for power utility automation

Tech Stack

  • Vanilla JavaScript (no frameworks, no dependencies)
  • HTML5 Canvas for graphics
  • Web Workers for parallel processing
  • IndexedDB + SQLite via sql.js
  • Python 3 for the gateway (FastAPI + asyncio)

Try It Now

  1. Open the live demo
  2. Or download the zip (20 MB)
  3. Open the HTML file in your browser — that's it

Why Open Source Matters for Industrial Automation

The ICS/SCADA industry has been locked behind proprietary walls for decades. Engineers can't learn modern protocols without access to expensive software. Security researchers can't test defenses without realistic environments.

awtSCADA changes that. A full-featured SCADA system that anyone can run, study, and extend.


⭐ If this is useful, star the repo on GitHub — it helps others find it.

Questions? Comments? I'd love to hear how you'd use a browser-based SCADA system.

Top comments (0)