01Soft PLC vs scripts
You can write control in Python, but you give up the determinism, the standard languages and the operator-familiar tooling that make PLC code maintainable. A soft-PLC runtime gives you IEC 61131-3 on Linux — the same ladder and structured text your controls team already knows.
02The main runtimes
OpenPLC is free, open and great for learning and non-critical control. CODESYS is the commercial, industrial-grade runtime with a polished IDE and broad fieldbus support. Node-RED isn't a PLC but excels at flow-based integration, protocol bridging and dashboards. Many real systems combine a runtime for logic with Node-RED for connectivity.
03Handling real-time
Stock Linux isn't deterministic. A PREEMPT_RT kernel tightens it, and for genuinely hard loops we hand the time-critical part to an onboard microcontroller while the Pi runs supervision, AI and connectivity. Most monitoring and supervisory control is fine on soft real-time alone.
Common questions
The ones we're asked on every first call.
Yes. OpenPLC and CODESYS both run IEC 61131-3 ladder diagrams on a Pi, so an existing controls engineer can program it with familiar tools rather than learning Python.
For monitoring, data acquisition and non-safety control, yes. Safety-instrumented functions belong on IEC 61508-certified hardware — keep those on certified gear and run the soft PLC alongside.
Want this run on your numbers?
Send us your current stack and what it needs to do. A controls engineer replies with a candid one-page teardown — no deck, no sales call.
Request a teardown →