Industrial automation is the software that literally runs the world around us. From trains to power plants and breweries to factories, it is the automation engineer who decides how to operate these machines correctly and safely. The tool of the trade is the programmable logic controller, or PLC. It’s a regular PC outfitted with a vendor’s proprietary runtimes for industrial automation.
My work seeks to improve on the PLC. The technologies used to run a PLC represent the state of the art in the 1990s; it uses a Pascal-derived programming language and is written with straight-line procedural code. Although this has seen success, there has been much development in the computer crafts in the intervening 30 years. Today we have advanced version control, testing automation, continuous integration systems, memory-safe systems programming languages, and more to ensure quality and productivity in software development.
In this research, I will develop a novel open-source alternative to the PLC that leverages modern software tools and techniques to enable development that is faster (and so cheaper), more correct, safer, more capable, and more free (as in freedom). I’ll be making a framework in the Rust programming language to run the industrial control systems, enabling faster and more correct development of industrial control systems. Later, I will be writing a visual programming language to make this Rust-based back-end more accessible to the engineers who typically write these controllers.
This work is being done in the Fluid Power Laboratory at Aalto University on its LEMMI test bed. LEMMI is a bed for testing state-of-the-art electrified hydraulic systems for the future of mobile machinery development. Developing for this bed will ensure that this work will be competent on real-world hardware, not just in the lab.
The work from this project is openly licensed under the Mozilla Public License Version 2.0 at https://codeberg.org/fpdotmonkey/aiti.
Thank you to the FUUG Foundation for supporting this work.


Fletcher Porter sai Fuugin säätiöltä 5 000 euron apurahan tutkimukseen, jossa kehitettään avoimen lähdekoodin työkaluja ja kirjastoja teollisuuden ohjausjärjestelmiä varten.
Fuugin säätiö jakaa apurahoja avointen tietojärjestelmien ja avoimen lähdekoodin ohjelmistojen kehittämiseen liittyvään työhön. Säätiön jatkuvaan apurahahakuun voi jättää hakemuksen milloin tahansa. Sama hakija tai hanke voi myös hakea avustusta useita kertoja.