OpenPLC open-source Programmable Logic Controller Suite works with Arduino, ESP8266/ESP32, Raspberry Pi, etc.

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.

OpenPLC Editor

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
  • PiXtend
  • 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.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
9 Comments
oldest
newest
itchy n scratchy
itchy n scratchy
1 year ago

How does this project compare to beremiz? Beremiz seems to be quite mature as it’s used by smarteh for their range of PLCs.

Nelson
1 year ago

The editor is actually based on Beremiz

Darth
Darth
1 year ago

Do you know of such editor which emits code that compiles natively, rather than interpreted ?
I mean no “runtime”

R2K
R2K
1 year ago

This is what openplc does – compiles the code natively for runtime. Couldn’t do realtime without it and couldn’t run on smaller controllers with a complicated interpreter.

roor
roor
1 year ago

yes actually openplc editor is almost useful to edit ladder IEC language. Then, ladder is converted to IEC ST language. Then ST is converted to C using MATIEC compiler (open source project led by Porto University). once you have C, you can compile it and run natively on any kind of platforms…

itchy n scratchy
itchy n scratchy
1 year ago

Is ladder still in widespread use? Never came across it in my professional life so far…
Mainly FBD (for ease of simulation by 3rd parties) and ST (for maintainability) and a bit of SFC (for historic reasons mainly), the other 2 languages I never had to deal with.

JLew
JLew
1 year ago

Most automotive plants I’ve been at over the last 9 years don’t allow anything but ladder logic. Some allow structured text but only if it comes that way from a vendor specific AOI.

Outside of automotive I’ve seen FBD, but even then they typically have a decent amount of ladder.

Looks like an interesting concept. Would be curious to see whether any place uses Open PLC in production.

itchy n scratchy
itchy n scratchy
1 year ago

Hmmm interesting actually I’m not in automotive but rather railways and never seen a single line of ladder in Europe, I always got the impression ladder is a pretty American thing, but I might be wrong…

Mari
Mari
1 year ago

Will you cover the Controllino hardware? They also have something called a Neo coming out soon, I guess it’s new. Also they have this cool tool powered by GPT-4: https://ai.controllino.com/

Boardcon Rockchip and Allwinner SoM and SBC products