// the find
pyscada/PyScada
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.