finds.dev← search

// the find

pyscada/PyScada

★ 643 · JavaScript · AGPL-3.0 · updated Apr 2026

PyScada is a open source scada system that uses the Django framework as backend

PyScada is a Django-based open source SCADA system with a browser-based HMI, built around a plugin architecture where each industrial protocol (Modbus, 1-Wire, OPC-UA, etc.) lives in its own separate repo. It targets small to medium industrial setups where you want self-hosted data acquisition without paying for proprietary SCADA licenses. The sweet spot is Raspberry Pi or similar Linux hardware with a handful of Modbus devices.

The plugin architecture is genuinely well thought out — each protocol is an independent Django app you install separately, so you only carry dependencies you actually use. Modbus TCP/RTU support via pyModbus is the most mature path and works in production. Django's admin as the configuration UI is a pragmatic choice that avoids building a custom CRUD interface; operators who've touched Django can configure devices without reading docs. Data export to HDF5 is a real differentiator for shops that need to feed measurement data into scientific analysis pipelines.

The frontend stack is Bootstrap 3 with jQuery and Flot charts — that's a 2015 tech stack with 83 HMI migrations in the tree, and it shows. Adopting this means owning a legacy frontend you can't easily modernize. Several protocols (BACnet, MeterBus, OPC-UA) are explicitly flagged as untested or in development, so the protocol list is more aspirational than operational. Documentation is self-described as missing, and the README's 'What is not Working' section is more honest than most projects but also a warning sign for anything beyond Modbus. Finally, being pinned to Django 4.2 LTS is fine now but the project's migration cadence suggests you'll be waiting a while for 5.x support.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →