Open source PLC software: what actually exists
OpenPLC, Beremiz and matiec are real and usable. Knowing what each one is for saves a lot of time.
Short answer
Yes, and it is more capable than most engineers expect. OpenPLC provides an IEC 61131-3 editor and runtime that targets Arduino, ESP32, Raspberry Pi and Linux. Beremiz is a full open IDE built on the same toolchain, and matiec is the compiler underneath both, translating IEC languages into C.
The open-source corner of automation is small but real, and the pieces fit together.
OpenPLC
An editor, a runtime and a builder. It implements the five IEC 61131-3 languages, exports PLCopen XML, and runs on eighteen platforms including Arduino, ESP32, Raspberry Pi, Windows and Linux.
Its distinguishing feature is that the runtime is open, which CODESYS is not. That matters for research, for teaching and for anyone who needs to know exactly what the scan is doing.
Beremiz
A full IDE on the same toolchain, aimed at people who want an open development environment rather than a free one attached to hardware.
matiec
The compiler underneath. It takes IEC 61131-3 source and emits C.
This is the piece that matters most outside its own ecosystem. If you want to know whether a piece of Structured Text is valid, matiec will tell you, and it is the only widely available way to check without a vendor licence.
Where they fit
Teaching, prototyping, research, and hardware too small to justify a commercial controller. Not safety functions, and not where a support contract is part of the deliverable.
Common questions
- Can OpenPLC be used in production?
- For non-critical applications, yes, and it is used that way in research and small installations. It is not certified for safety functions and carries no vendor support contract, so the calculus is different from a commercial controller. For teaching, prototyping and lab work it is excellent.
- What is matiec?
- An open-source compiler that translates IEC 61131-3 source into C, which is then compiled for the target. It is the compiler underneath OpenPLC and Beremiz, and it is the practical way to check whether a piece of Structured Text is actually valid rather than merely plausible.
Keep reading
- Safety
SIL or PL: which one does your machine need?
Two standards, two scales, and one machine. Which one applies, how they map to each other, and why the answer is usually ISO 13849.
- Safety
Categories B, 1, 2, 3 and 4, in plain terms
Five architectures, what a single fault does to each, and the practical wiring that goes with them.
- Safety
Safety relay or safety PLC: how to decide
One is a wiring decision, the other is a programming one. The count of safety functions, not the size of the machine, is what settles it.