// the find
riclolsen/json-scada
A portable and scalable SCADA/IIoT-I4.0/Gateway platform centered on the MongoDB database server.
JSON:SCADA is a full SCADA/IIoT platform that replaces proprietary historian/HMI stacks with standard IT components: MongoDB as the real-time database, PostgreSQL/TimescaleDB for history, and Grafana for dashboards. It targets utilities, substations, and industrial control engineers who want to run on commodity hardware without vendor lock-in. Has 5+ years of production use in actual power grid control centers, which is the detail that matters most here.
The protocol coverage is genuinely impressive — IEC 60870-5-101/104, IEC 61850 MMS, DNP3, OPC-UA client/server, Modbus, MQTT/Sparkplug-B, and CIP Ethernet/IP all in one platform. Using MongoDB Change Streams for event-driven realtime propagation instead of polling is the right call for SCADA data rates. The one-way replication path with data diode/tap device support shows real understanding of OT security requirements. Docker Compose demo with seeded data means you can actually run it and see something in under 10 minutes.
DNP3 client is Windows x64 only, which is a hard wall if your acquisition nodes run Linux ARM (Raspberry Pi use case they explicitly advertise). Several critical protocols are still unimplemented — ICCP client/server is listed but unchecked, IEC 61850 GOOSE/SV is missing, and OPC UA Historical Data Server is absent; these are not minor gaps for grid operators. The stack is heavy: MongoDB replica set + PostgreSQL + TimescaleDB + Grafana + nginx + multiple driver processes — you need a real ops team to keep this healthy, despite the 'lightweight' framing. GPL license means commercial integrators will hit friction before they even write a line of code.