OpenPLC is an open-source, free-to-use Programmable Logic Controller Suite, compliant with the IEC 61131-3 standard, and working with a range of hardware platforms such as Arduino, ESP8266/ESP32, Raspberry Pi SBCs, as well as Windows and Linux machines.
When Arduino unveiled the Arduino PLC IDE, we noted the languages defined by the IEC 61131-3 standard were licensed, and the PLC key for the Portenta Machine Control unit sold for $17.60. One reader complained about the high license cost per device, but Massimo Banzi, the co-founder of the Arduino project, replied it was cost-effective for smaller deployments:
Actually it’s not that much money compared to the cost of other PLC software (thousands of dollars per seat!). This model helps small companies with not that many devices.. It’s possible to negotiate bulk licenses for companies.
But there’s also another option with OpenPLC open-source PLC suite that does not require any license fee. That’s apparently possible because using the IEC 61131-3 programming languages does not require a paid license, it’s just that the IEC charges a fee for purchasing copies of the standard, and proprietary PLC systems typically require a paid license.
The OpenPLC Project is comprised of two main parts: the Editor and the Runtime. The Editor is software that runs on a computer to create PLC programs. Thiago Alves, OpenPLC’s developer, says it is very simple to use and supports all five languages defined in the IEC 61131-3 standard, namely Ladder Logic (LD), Function Block Diagram (FBD), Instruction List (IL), Structured Text (ST), and Sequential Function Chart (SFC).
The OpenPLC Runtime is a portable firmware/software generated from the Editor and is fully supported on a range of development boards and several actual PLC hardware:
- Arduino Uno / Nano / Leonardo / Micro
- Arduino Mega / Due
- Arduino Nano Every / IoT / BLE
- Arduino Nano RP2040 Connect
- Arduino Mkr / Zero / WiFi
- Arduino Pro (Machine Control and EDGE)
- Controllino Maxi / Automation / Mega / Mini
- Productivity Open P1AM
- ESP8266 (nodemcu) and ESP32
- Raspberry Pi 2 / 3 / 4
- UniPi Industrial Platform
- Neuron PLC
- FreeWave Zumlink and ZumIQ
The Runtime can also be generated as a generic target (soft-PLC) for Windows or Linux. You’ll find the source code for the Runtime and the Editor on GitHub.
Just like commercial PLC software, OpenPLC is designed to be used in industrial automation and control systems. What I do not know is how it compares to commercial offerings. So if you have knowledge about PLC programming and have ever tried OpenPLC, let us know your experience in the comments section.
You can download the OpenPLC Editor for Windows, Linux, and macOS, and find out more on the official website. It includes a support forum, documentation, and various resources to learn more about PLC programming, HDMI development, SCADA, and so on.
Thanks to stinkydiver73 for the tip.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.