Arduino PLC

The PLC (Programmable Logic Controller) has been and still is the basic component of the industrial automation world. PLCs are usually pretty expensive pieces of hardware, which led many people who know micro-controllers to come up with their own ideas to implement similar functionality.

Arduino is a kind of universal programmable controller, although it is only the “core” and in any case it has been built for general applications; with a little of external hardware (essentially interfaces capable of transferring signals from sensors and to actuators, reducing the EMI which may damage the microcontroller) and an appropriate software may, however, become something very similar to a PLC. For output you can use Arduino Relay modules. For input you can use varying Arduino sensors of build your own adapter for some industrial sensors.

Arduino as a programmable logic controller (PLC) tutorial we will explain how to “convert” our Arduino board in a PLC-like controller.  There are several ways to turn Arduino into a Programmable Logic Controller, and Arduino as a programmable logic controller (PLC) tutorial presents two: Ladder Logic for PIC and AVR software and ladder.h Generator for LDmicro → Arduino. Also OpenPLC project has a OpenPLC Ladder Editor that can generate code for a standard arduino from a ladder diagram.

In some applications PLCs are more used as IO interfaces for SCADA systems more than doing the controlling. If you want to make Arduino board to look like PLC from SCADA point of view, you can put in software that make it to communicate with MODBUS or other suitable SCADA protocol. One easy way to experiment is to try SCADA for Arduino that includes both Arduino software and SCADA software. I tried it and you can read my experiences with it at Experimenting with SCADA for Arduino posting.

If you are worried if your Arduino based rat’s nest would survive in industrial environment or would be accepted by industrial control people, it is a good idea to to consider available Arduino compatible products designed for industrial control applications. There are now several commercial products built for Arduino PLC applications:

CONTROLLINO advertises to be first software Open-Source PLC. It is ARDUINO compatible.It started as Kickstarter project, but is now available directly from manufacturer web site. It advertises to be designed  to control your Internet of Things and be CE & UL certificated. For more details check the video ARDUINO + PLC = CONTROLLINO

Industruino is an Arduino compatible industrial controller. Industruino is a fully featured Arduino Leonardo compatible board housed in a DIN-rail mountable case + prototyping area + onboard LCD + membrane panel. With this product you will be able to permanently install your Arduino application to industrial. Industruino is a pre-built solution offering a range of industrial voltage level I/O. All controlled with the ease of Arduino coding.

Industrial Shields has a selection of Arduino compatible industrial PLC hardware that can be plugges to DIN rail. The ARDBOX PLC, as it uses an Arduino UNO or Arduino LEONARDO, lets you program it through the USB. M-DUINO family is based on Arduino Mega. This PLC can be programmed using the Arduino IDE platform


BieMme Italia offers Soft PLC Arduino which is based on Advanced Arduino Relay Shield. You plug your Arduino to this shield, and it should be then industrial compatible with the control voltage and electrical protection. BieMme Italia also has Bmini All-in-one that has 4 optoiso­lated 24V dig­i­tal inputs, 4 high qual­ity relays, 8 ana­log inputs, PWM, I2C, RS485, Eth­er­net and more.





  1. Tomi Engdahl says:

    Bring Industrial IoT capabilities to your standalone equipment with the new Portenta Machine Control.

    Portenta Machine Control: Add a powerful brain to your machines

    ARDUINO TEAM — May 12th, 2021
    Arduino Pro is introducing a powerful new member of the Portenta product family, the Portenta Machine Control. It’s a fully-centralized, low-power, industrial control unit able to drive equipment and machinery. Plus, you can program it using the Arduino framework or other embedded development platforms.

    It enables the collection of real-time data from the factory floor, while supporting remote control of equipment, including from the cloud.

    Key benefits include:

    Shorter time-to-market
    Enhance existing products
    Add connectivity for monitoring, as well as control
    Each I/O pin can be configured, so you can tailor it to your needs
    Make equipment smarter, as well as AI-ready
    Provide security and robustness from the ground up
    Open new business model opportunities (such as servitization)
    Interact with your equipment with advanced human-machine interfaces (HMI)
    Modular design for adaptation, expansion and upgrades

    Business as a Service
    The Portenta Machine Control allows companies to enable new business-as-a-service models. You can monitor customer usage of equipment for predictive maintenance while gathering valuable production data.

    The device enables industry standard soft-PLC control. Because of this, it’s able to connect to a range of external sensors and actuators. For example, the following options are all available.

    Isolated digital I/O, 4-20mA compatible analog I/O
    Three configurable temperature channels
    Dedicated I2C connector.

    Multiple choices are available for network connectivity, including USB, Ethernet and WiFi and BLE. Furthermore, it offers impressive compatibility through industry specific protocols such as RS485. All I/O are protected by resettable fuses, but on-board power management ensures maximum reliability in harsh environments.

    The Portenta Machine Control core runs an Arduino Portenta H7 microcontroller board. This is a highly reliable design operating at industrial temperature ranges (-40 °C to +85 °C).

    The Portenta Machine Control is now available for €279/$335.

  2. Tomi Engdahl says:

    DIN Rails For… Everything

    For example, in some businesses DIN rails are a part of everyday life. But for a long time, they were not very common in hobby electronics. Although rails are cheap, boxes for rails aren’t always easy or cheap to obtain, but 3D printing offers a solution for that.

    So while the industrial world has been using these handy rails for decades, we are starting to see hobby projects incorporate them more often and people like [Makers Mashup] are discovering them and finding ways to use them in projects and demonstrating them

    The DIN rail originated in Germany around 1928, with modern versions dating from the 1950s and in some environments they are everywhere. DIN, by the way, is an acronym for the originating German standards organization Deutsches Institut für Normung, but the rails also meet IEC and EN standards, today.

  3. Tomi Engdahl says:

    Monitoriza is the new generation SCADA application that lets you control any process, immediately, from his own job

    Monitoriza Express
    Fully functional. A single client and 2 PLC variables.
    Does not include support

    Monitoriza for Arduino
    Fully functional. No limitations on variables or clients. Only Arduino devices.
    Does not include support

  4. Tomi Engdahl says:


    The I/O capabilities built into most microcontrollers make it easy to measure the analog world. Say you want to build a data logger for temperature. All you need to do is get some kind of sensor that has a linear voltage output that represents the temperature range you need to monitor — zero to five volts representing 0° to 100°C, perhaps. Hook the sensor up to and analog input, whip up a little code, and you’re done. Easy stuff.

    Now put a twist on it: you need to mount the sensor far from the microcontroller. The longer your wires, the bigger the voltage drop will be, until eventually your five-volt swing representing a 100° range is more like a one-volt swing. Plus your long sensor leads will act like a nice antenna to pick up all kinds of noise that’ll make digging a usable voltage signal off the line all the harder.

    Luckily, industrial process engineers figured out how to deal with these problems a long time ago by using current loops for sensing and control. The most common standard is the 4-mA-to-20-mA current loop


Leave a Comment

Your email address will not be published. Required fields are marked *