Open source PLC


Dear friends,

I’m a Ph.D. student at the University of Alabama in Huntsville, and my research topic is SCADA cyber security. My goal is to find vulnerabilities in PLCs and try to fix them. However, its really hard to study something deep when you don’t have the source code. Therefore, due to the lack of open source tools available in this field, I decided to create my own open source PLC. Then I realized that this could be useful for other researchers and professionals in the field, so I’m here sharing it with everyone.

The OpenPLC is a complete package with an editor and a compiler. The editor runs in Windows, Linux and MacOS and supports all the 5 IEC 61131-3 languages: ST, IL, LADDER, FBD and SFC. The compiler is responsible for getting the program written by the user and compile it to the platform in which the OpenPLC is running.

The OpenPLC currently runs on Raspberry Pi, Arduino, UniPi and also as a soft-PLC on Windows or Linux. If you guys have any of the mentioned boards laying down somewhere, it might be interesting to give the OpenPLC a try. More information can be found at the project’s website:

Let me know if you have any comments.


Thiago Alves