← Resources
Platforms·7 min read·

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 five IEC 61131-3 languagesLDLadder Diagramgraphical, relay heritageFBDFunction Block Diagramgraphical, signal flowSFCSequential Function Chartsteps and transitionsSTStructured Texttextual, Pascal-likeILInstruction Listtextual, deprecatedOne standard, five notations. Most projects use two.

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