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:

    The 4-20 mA Current Loop

    The I/O capabilities built into most microcontrollers make it easy to measure the analog world.

    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

    The now standard 4-20 mA current loop for process control descends directly from an early innovation in industrial automation, pneumatic process control.

    While pneumatic systems are very much still in use today, especially in industries where things tend to go boom around electricity, 4-20 mA current loop systems became a de facto standard in the 1940s and 1950s.

    Current loops aren’t limited to sensors, of course. A wide range of actuators, from valves to motor drives, can be controlled by a 4-20 mA loop. Data acquisition and display are also possible, with chart recorders, gauges, and indicators all available for the loop.

    So how do you incorporate a 4-20 mA device into your latest Arduino project? Changing the current back to a voltage by putting a resistor in the loop and measuring the voltage drop across it is really all it takes. [AvE] does the math to show us that a 250-ohm resistor gives us a one-volt to five-volt swing, which is perfect for an Arduino’s analog input

    4-20mA Industrial Sensor + Arduino

  2. Tomi Engdahl says:


    Iono is a work-suit for Arduino, it turns it into a PLC that combines the ease of use of the Arduino platform and the vast amount of software available for it with robust input and output electronic interfaces.

    It is compliant with the 2014/35/UE (Low Voltage) and 2014/30/UE (EMC) CE directives, and the harmonised standards for electromagnetic compatibility (EN61000-6-2:2005), electrical safety (EN60664-1:2007), emission (EN61000-6-3:2007) as well as the RoHS directive for hazardous substances (2011/65/UE).

  3. Tomi Engdahl says:


    . [Doug Reneker] decided to evaluate an Arduino versus a PLC in a relatively simple industrial-style application.

    The application is a simple closed-loop control of flow generated by a pump. A sensor measures flow for the Arduino, which adjusts a control valve actuator to maintain the specified setpoint. The software uses proportional and integral control (the PI part of a PID loop).

    Although the Arduino has a good selection of I/O pins, it doesn’t have common I/O capabilities you’d expect in an industrial controller.

    Arduino vs. PLC for industrial control
    Can a $20 micro-controller equal a PLC for a real-world industrial control application?

  4. Tomi Engdahl says:

    Modbus decoder troubleshoots PLC

    Pico Technology has added Modbus ASCII and RTU decoding and analysis capabilities to its PicoScope USB-based PC oscilloscope. This latest software update makes the PicoScope a useful tool for troubleshooting industrial PLC (programmable logic controller) applications

    Open source alternative:

    In the current state the PD stacks on top of the UART decoder and decodes the Modbus RTU protocol. Support for e.g. Modbus ASCII may be added later (to the same PD), possibly also Modbus TCP or other variants (as an extra decoder).

  5. Tomi Engdahl says:

    Troubleshooting PLCs

    Once you get over the “black box” syndrome, PLCs are actually easier to troubleshoot than traditional hard-wired control systems.

    Programmable logic controllers (PLCs) have become important building blocks for automated systems. Because they have constantly increased in capability while decreasing in cost, PLCs have solidified their position as the device of choice for a wide variety of control tasks.

    The internal operation of a PLC can be monitored via a handheld programmer, terminal, or personal computer, and many indicator lights are provided for I/O troubleshooting.

    Divide and conquer

    The first step in PLC troubleshooting is to decide if the problem is internal to the processor or in the I/O system. It seems to be natural to assume that most malfunctions of PLC systems are due to processor problems, but in fact the opposite is true. Experience has shown that more than 80% of all PLC malfunctions can be traced to problems with I/O modules or field equipment. Furthermore, it’s relatively easy to determine whether a problem is located in the processor or in the I/O system because each type of problem has a unique signature.

    Let’s look first at the possible causes for internal problems.

    The first thing to check is the integrity of the PLC’s power and ground. Visually inspect the power and ground wiring, looking for loose, corroded, or otherwise questionable connections. The integrity of the ground can be electrically checked by measuring the voltage between the PLC ground terminal and a known ground. Using a digital meter set on the lowest scale, both the AC and DC voltages should be zero.

    The power supply also can be tested electrically. If the PLC processor has an AC power source, check the input voltage; it should be within the manufacturer’s recommended range. PLC processors actually operate on DC power, so that also must be checked. Measure each of the outputs of the DC power supply and check if the voltages are within the recommended ranges.

    Also check the DC supplies for AC ripple.

    The final power check is to measure the voltage of any batteries in the system. Battery power is often used to prevent a PLC from losing its program during power outages, and battery voltages should be within recommended values.

    Other causes for erratic processor behavior are electro-magnetic interference (EMI) or radio frequency interference (RFI). Try to correlate the erratic behavior with an external EMI or RFI event like a large motor starting, arc welding in the area, lightning strikes, or even the use of handheld radio transmitters.

    Long-term solutions to EMI and RFI problems usually involve improvements in power conditioning, grounding, and shielding.

    Power, grounding, and interference problems all can cause the corruption of the PLC memory, so the next step is to verify that the program is still correct. All PLCs have some method for doing this, most of which involve comparing the program in the PLC with a backup copy on tape or disk.

  6. Tomi Engdahl says:

    Connection of Encoder Types
    in Compliance with IEC
    61131-2 to DI Modules

    The Three Input Types in Compliance with the IEC
    The choice of digital inputs is based on the characteristics of the inputs and is
    significant for the different sensors. The IEC 61131-2 standard defines three types
    for current-sinking digital inputs. Current-sinking modules are those which have the
    characteristic of consuming current. The three digital input types are described
    Type 1: Mechanical switching contacts (2-wire connection) and semiconductor sensors
    (only 3-wire connection)
    Type 1 digital inputs convert signals from electromechanical switching devices
    (relays, pushbuttons …) with two states into a binary number (a bit). However,
    these inputs cannot be used for the 2-wire connection of semiconductor switches
    (sensors, proximity switches…). The definition of Type 1 in the standard was made
    at a time when mainly mechanical contacts were implemented.
    Type 2: Semiconductor sensors (2-wire connection)
    Type 2 digital inputs convert signals with two possible states of semiconductor
    switches into a binary number (a bit).
    Type 2 inputs:
     have increased power consumption and are more suitable for modules with a
    low channel density
     can be used for 2-wire proximity switches if connected in compliance with IEC
    Type 3: Semiconductor sensors (2-wire/3-wire connection) – reduced power
    Similar to Type 2 digital inputs, Type 3 digital inputs convert signals with two
    possible states of semiconductor switches (2-wire proximity switches) into a binary
    number (a bit).

    Current and Voltage Limits for Digital Inputs

    For 24V type 1:

    Signal 0:
    Voltage -3 to +15V
    Current limit 15 mA

    Signal 1:
    Voltage 15V to 30V
    Current limit 2 to 15 mA

    For 24V type 2:

    Signal 0:
    Voltage -3 to 11V
    Current limit 30 mA

    Signal 1:
    Voltage 11V to 30V
    Current limit 6 to 35 mA

    For 24V type 3:

    Signal 0:
    Voltage -3 to +11V
    Current limit 15 mA

    Signal 1:
    Voltage 11V to 30V
    Current limit 2 to 15 mA

    Due to the heat build-up in the control cabinet you should give priority to Type 3
    inputs for the control cabinet construction, because these modules have a low
    electrical power consumption and less heat dissipation.

    “P-schaltend” (“sinking”) and “M-schaltend”
    There are various terms and categories for characterizing the digital circuits, for
    example: “P-lesend” and “P-schaltend” (PNP), “M-lesend” and “M-schaltend”
    (NPN) in German and sinking/sourcing in English.

  7. 95Jacki says:

    Hello blogger, i must say you have very interesting articles here.

    Your blog should go viral. You need initial traffic boost only.
    How to get it? Search for: Mertiso’s tips go viral

  8. Tomi Engdahl says:

    DIN-Uino anyone? Industrial packaging!

    The Arduino world offers a ton of H/W options and excellent S/W.
    Making a real industrial project out of it… not so easy.

    View Gallery
    Team (1)


    Join this project’s team
    ongoing project
    industrial din arduino ENCLOSURE

    This project was created on 08/24/2017 and last updated 4 hours ago.
    I design & build custom industrial-control products, mainly for the printing/converting industry. Some of these projects would have likely been quicker/better/cheaper overall if I could have leveraged Arduino-compatible products & S/W, but packaging them into something neat, clean, stable and reproducible (and 24VDC-power compatible) has always been a hurdle.

    That’s where DIN-Uino comes in. I have a particular “DIN mounted” form-factor that I’ve used for 25yrs+, and many are still operating today (any 87C196KD20 fans out there?)! Clients continue to ask for enhancement and upgrades – all of which of course have to fit into existing spaces and wiring plans.

    Can DIN-mounting of Arduino-compatible products be implemented other ways? Definitely YES! There are several existing solutions, However, they didn’t offer the flexibility I wanted, nor the form-factor I needed.

    Due to the way the standard headers on Arduinos are arranged, and that most Arduino-shields plug into the TOP of a CPU module… I designed my carrier board to act as an “interposer”, so that the CPU mounts underneath it. ALL signals are passed up through M/F headers. You can then stack one or more standard Arduino shields.

    The carrier board serves a few purposes:

    1) On-board +24V to +5V (or 3.3V) voltage regulator. Input terminals = 2-pin Phoenix 3.81mm connector.

    2) Space for your custom I/O circuitry, which you will likely need between the TTL-GPIO pins on the Arduino and the external 24V industrial-signal world.

    3) Mounting holes which obviously match up the DIN-Uino mounting plate.

    DIN-Uino “Proto1″ board:

    This version of this carrier board, as shown, is merely a field of 0.1″ holes, some power/GND rails, the Arduino shield header area, and of course the 24V/5V(3.3V) voltage regulator.

    The Arduino-shield header footprint is compatible with standard “UNO” pinout, and of course the larger MEGA2560 (and similar) extended pinout.

    DIN-Uino “Proto2″ board (future):

    Compatibility with the ST-Microelectronics “Nucleo” boards. Similar to a MEGA2560, but more… and you’ll be able to play with a number their Cortex-ARM platforms (180MHz, or even faster?).

    For my specific industrial applications, I’m really considering the “Nucleo-F4129ZI” board, a 180MHz Cortex-M4 micro. I’m currently using an NXP LPC1769 (120MHz), but that’ll be running out of steam soon for my projects.

    *** My first project-follower helped me discover that the Teensy 3.6 also has a 180MHz Cortex-M4 on it… and is a much smaller module overall. Certainly worthy of consideration! ***

    Custom DIN-Uino carrier boards:

    For higher-volume applications (in my world, 10 units = higher volume), it might make sense to have a custom carrier board that integrates all the application-specific circuitry (opto’s, SSR’s, etc.) rather than hand-wire each one. I’m sure once I work out my first Nucleo design, I’ll be immediately make a custom board – I don’t want to hand-wire more than 1 prototype!

    DIN-clip: This is a standard Hammond-Mfg product. A spring-loaded metal clip for DIN-rail mounting. One feature I really like is that you don’t need a tool or anything at all to un-clip from the DIN-rail. So far, all the plastic DIN-rail clips I’ve found really need a screwdriver to un-latch them, and with the size/shape of my enclosure, there’s no way for any tool-access to that clip.

  9. Tomi Engdahl says:

    DIN-Uino Proto1 (for Arduino Mega2560/etc.)
    Makes your Arduino project into a neat, DIN-rail compatible device.

    As part of my DIN-Uino prototyping & packaging project, this is my first proto-board design for a specific CPU module family.

    “DIN-Uino Proto1″ is designed for the Arduino Mega2560/DUE and compatible footprint modules.


    DIN-Uino Proto1 board, some salient features:

    * Compatible with several Arduino footprints: Mega2560, DUE, even the UNO, and many others that have an identical pinout.

    * The Arduino-compatible CPU board plugs in UNDERNEATH the Proto1 board. This allows other Arduino-compatible shields to be added ABOVE the Proto1 board (with appropriate stacking-headers).

    * All Arduino pins, except GND, are uncommitted and available via individual pads.

    * Industrial-compatible 24VDC power input (SMPS, selectable 5V/3.3V output), via a 2-pin Phoenix 3.81mm header.

    * 4-layer PCB design, with internal GND and POWER planes for quiet power distribution.

    * The POWER plane can be connected to the SMPS output (recommended), or driven by another source (even the Arduino’s 5V or 3.3V rail).

    * The SMPS output (if set to 5V) can be used to power the Arduino’s VIN pin, via a jumper.

    * Access GND and POWER at several power-islands (groups of pads), placed at several places across the PCB.

    * The Arduino module footprint is positioned so the programming-USB and external “Vin” ports would be externally accessible (if the DIN-Uino project is fully enclosed).

    * Of course, this DIN-Uino Proto1 board is compatible with the related DIN-Uino mounting hardware.

    DIN-Uino Proto4 (for Teensy 3.x)
    Makes your Teensy project a neat, DIN-rail compatible device

    As part of my DIN-Uino prototyping & packaging project, this is my second proto-board design for a specific CPU module family.

    This time – it’s for the Teensy 3.6 (and compatible footprints).

  10. Tomi Engdahl says:

    SCADABOARD MacroController
    All the features of the microcontroller for all who need them

  11. Tomi Engdahl says:

    Stackable IO for the Raspberry Pi

    One thing that surprised the Raspberry Pi Foundation, after they’d got over being surprised about how popular it was in the first place, was how much use was made of the GPIO. The Raspberry Pi, which had been targeted directly at the education market, proved to be far more popular amongst makers than amongst almost anyone else.

  12. Tomi Engdahl says:

    PID Controlled Charcoal BBQ – Put an Arduino on it!

    At Maker Faire Milwaukee this past weekend, [basement tech] was showing off his latest build, a PID controlled charcoal grill. While it hasn’t QUITE been tested yet with real food, it does work in theory.

    PID (a feedback loop with some fancy math used to adjust the input to get a consistent output) controlled cooking is commonly used for sous vide, where one heats up a water bath to a controlled temperature to cook food in plastic bags. Maintaining water temperature is fairly easy. Controlling a charcoal barbecue is much more difficult. [basement tech] accomplishes this with controlled venting and fans. With the charcoal hot and the lid on, there are two ways to control temperature; venting to let hot air out, and blowing air on the coals to make them hotter. A thermocouple sensor stuck through the grill gives the reading of the air inside, and an Arduino nearby reads that and adjusts the vents and fans accordingly.

    Weber charcoal grill automation & MKE Makerfaire prep

  13. Tomi Engdahl says:

    First industrial gateway series based on new ESP32 chips

    Every day we see new devices for IoT, but this is the first module we see with an ESP32 for industrial use.

    we are happy to inform that few days ago TECHBASE, industrial automation manufacturer and distributor, introduced first industrial solution based on Espressif’s ESP32 module

  14. Tomi Engdahl says:

    4zerobox Bridges the Gap Between Industrial PLCs and IoT

    what 4zerobox is setting out to do, by integrating the programmable logic controllers (PLCs) that are already common in industrial applications with modern IoT technology. PLCs have been around for a long time, and they’re kind of like the Arduinos of the industrial world.

    4zerobox is based on the ESP32 SoC and features a pair of mikroBUS sockets for mikroElektronika clicks, including LoRA and secure IoT boards.

    The 4zerobox can take data from an existing PLC (or feed data to it) through a handful of common communication methods. Or, it can replace a traditional PLC completely. That data can then be sent to an IoT dashboard, which works similarly to home IoT systems. It can display the data, or allow users to control equipment. For ease of use, it’s programmed using Python

    It’s currently in the crowdfunding stage on Kickstarter
    Early birds can get the 4zerobox for €149

  15. Tomi Engdahl says:


    Neuron is a product line of PLC (Programmable Logic Controller) units build to be universal and used in both Smart Home and Business applications and automation systems. It allows to locally and remotely control connected systems and devices based on a program set by end user of installation company.

    Our products offer high performance and short response time. Response time between signal on input and reaction on output can reach 0.5 ms. Equipped with Raspberry Pi 3 our units have quad core CPU 1.2 GHz and 1 GB RAM offering highest performance in the class.

  16. Tomi Engdahl says:

    Neuron modular PLC

    Modular PLC unit built on the Raspberry Pi, designed for home automation, industrial automation, smarthome applications and more

    The UniPi Neuron is a modular Programmable Logic Controller (PLC) product line, designed to be used as a central control unit for control, regulation and monitoring of smart building systems, HVAC (Heating, Ventilation, Air Conditioning) systems and industrial automation.

    The Neuron is suitable for:

    smart home automation
    construction companies
    electrical installation
    energy management
    HVAC automation
    remote control and SCADA (Supervisory Control And Data Aquisition)
    companies providing BMS (Building management system) services
    garden and agriculture automation
    geeks and DYI enthusiasts
    beverage industry
    industrial monitoring
    small industry projects, and many more.

    Neuron is designed to be suitable for nearly every automatization project.

    Each Neuron model is divided into one to three input-output (I/O) groups depending on model, each containing a group of input, output and/or communication modules. Each I/O circuit board is controlled by its own STM32 processor, which controls inputs and outputs and communicates with the central processing unit (CPU).

    As the CPU of all Neuron units, the Raspberry Pi single-board computer is used. Each I/O group processor is connected to the CPU and to a central communication channel for all group processors. There is no communication between I/O groups.

    The whole system is assembled into a grounded eloxed aluminium case with an IP20 degree of protection.

  17. Tomi Engdahl says:

    Python on ESP32 for Industrial IoT Applications

  18. Tomi Engdahl says:

    Can the Arduino Uno R3 be Used for Industrial Solutions?

    The Arduino Uno R3 from Arduino is one of the most popular microcontrollers out there, and it boasts a large online community that has created thousands of projects. Whether you want to monitor temperature and humidity outside your house or have the Arduino control a robot to auto-balance itself, the Arduino has a versatile set that can be applied in many DIY applications. But how does Arduino work in industrial solutions?

    If you’re hoping an Arduino Uno can replace the PLC that most manufacturing process centers use, you’ll be out of luck. There is a reason why PLCs (which can be hundreds of dollars) are more expensive than Arduino boards (about $20 – $30).

    PLCs are different from other computing devices as they are intended for severe conditions found in manufacturing plants. This means they can handle dust, higher and lower temperature, and moisture—environmental conditions the Arduino isn’t built to handle.

    PLCs also have more extensive input/outputs (I/O) to connect to other sensors and actuators. A PLC can output to other elements, including electric motors, magnetic relays, sirens, indicator lamps, and much more. This is something that the Arduino can also do, but it is more limited, as its analog inputs are only ranged from 0-5 V and the analog outputs are pulse-width modulation (PWM).

    So How Does Arduino Fit Into an Industrial Solution?

    While PLCs are the go-to for the Industrial Industry, that doesn’t mean that an Arduino can’t be useful for the Industrial industry. One task that Arduino is great for is collecting data, so if you need to collect temperature and humidity, you can easily insert the Arduino to monitor many variables. This will give you a chance to check if there are any problems with the machinery. Think of it as an added set of eyes for all types of machineries.

    If we are talking about smaller scale industrial solutions, like having an automated sprinkler system in your house, then the Arduino is perfect for those DIY projects. The Arduino sensors and its wide variety of shields can be used to create DIY solutions at home that include building digital dashboards with important information, monitoring crops, monitoring water flow, creating a control center, or even building an automated irrigation system.

  19. Tomi Engdahl says:

    ExControl Shield ,The easiest way to arduino home automation

    ExControl Shield is an industry ready, freely programmable PLC.It’s used arduino mkr tecnology to create conected object. It can virtually serve any controlling, automation and data-logging purpose for you. you can combine this shield with all arduino mkr family.

    What is ExControl I2C Extension?
    ExControl I2C ExtensionShield is an industry ready i2c inputs and outputs extenision, it allows to expand the number of inputs and outputs, being able to include up to four cards connected to the mk shield.

    What to do with it?
    You can use these equipments like any industrial plc, but using the ExControl software you can perform domotics in just a few minutes, including:

    Arduino home automation ready in 6 minutes only .

  20. Tomi Engdahl says:

    Raspberry Pi 3 cap rail enclosure

    self made din rail enclosure with breadboard for Raspberry Pi A+ B+ 2B and 3B

    Now that you’ve finally got your hands on a Raspberry Pi® , you’re probably itching to make some fun embedded computer projects with it. What you need is an add on prototyping plate and a DIN rail enclosure from us to bring your project to a control cabinet.

    We added some basic but essential goodies. First up, there’s a big prototyping area, half of which is for THT parts and half of which is for SMD parts so you can wire up DIP chips, relays, and the like. Along the edges of the proto area, all the GPIO/I2C/SPI and power pins are connected and marked. You can connect your work via terminals with the world ouside the enclosure.


    milled cab rail enclosure
    for EN50022 DIN rails
    prototyping plate – fits perfectely in the enclosure
    2x 2-pin terminal blocks
    2x 3-pin terminal blocks
    40 pole socket for the Raspberry Pi A+ , B+ and 2
    SSOP and SOIC breakout area for integrated circuits
    0805 and SOT23 breakout area for other SMD parts
    pcb contains a layout for a 5V/1A voltage switching regulator
    for Raspberry Pi model A+, B+ and 2 only

  21. Tomi Engdahl says:

    din rail housing for Pi Zero

    My second try of a simple and cheap din rail enclosure + protoboard for the PiZero

    This simple project (pcb and enclosure) will help you to put a Pi Zero to a cabinet. The pcb includes a simple switching voltage regulator to convert DC voltages between 9…35V into 5V for the Pi Zero. The breadboard with marked and connected GPIO pins are is useful to add relays or circuit to your project.

  22. Tomi Engdahl says:

    UniPi 1

    UniPi is a hardware useful for innovation development in the industry of Smart Home, Internet of Things and automation. Combined with Raspberry Pi minicomputers it makes a universal control unit. It is popular among individual developers and found its use in many commercial projects.

  23. Tomi Engdahl says:

    On Semiconductor’s new cellphone connects to the same image sensor in addition to traditional two-dimensional video, 3D depth measurements. The German engineering office, Framos, provides an image sensor for virtually any virtual imagery, but the cell can be used more widely in different applications.

    On Semiconductor AR0430 CMOS image sensor depth mode allows you to measure depth while shooting for example 30 frames per second video.

    The depth solution enables new features in addition to various virtual technology applications, including cameras, IoT devices, printing and security technology.

    The SD technology, together with the color filter system (CFA) and the microlenses of the pixels, creates a data stream that includes both image and depth data. It is combined with an external algorithm to produce 30 frames per second.

    AR0430 The format of the CMOS sensor is 1 / 3.1. It uses two microns of BSI technology and provides a megapixel resolution of 120 frames per second (fps). The pixel group of the cell, in size 2312 (H) x 1746 (V), produces a 4: 3 aspect ratio.

    The circuit component consumes 125 milliwatts at 30 frames per second.


  24. Tomi Engdahl says:


    Expandable rack IoT platform for home or industry use.

    The DINternet platform is a simple, yet expandable way of introducing a ‘smart’system to your home or industry.
    There are two core devices to the platform; the Hub and the Controller.

    The Controller Unit is the main part of the system. Containing many IO pins to interface with its surroundings the Controller Unit can be used. Programmable from its WebGUI, the Controller Unit is easy to set up and extremely versatile. Expandable with sensor/relay add-on packs.


    1 × ArduiBox NodeMCU
    1 × ArduiBox
    1 × RaspiBox Zero
    1 × RaspiBox Zero Lite
    1 × SimpliBox IO

  25. Tomi Engdahl says:

    USB relay for Raspberry Pi, Windows …
    HID USB relay based on ATTINY45 with optoisolated input

  26. Tomi Engdahl says:

    Raspberry Pi 3 cap rail enclosure

    self made din rail enclosure with breadboard for Raspberry Pi A+ B+ 2B, 3B, 3B+

  27. Tomi Engdahl says:

    Din rail mount for Arduino UNO

    Din rail / cap rail enclosure and breadboard for Arduino UNO, Wemos D1, Genuino and other SBCs

  28. Tomi Engdahl says:


    The new Arduino MKR series sets up a standard about form factor, function and performance for Arduino boards in the future. These new boards comes in a compact shape, with a powerful 32 bit Cortex M0 micocontroller Atmel SAM D21 and a charger function for LiPo accumulators. Furthermore Arduino offers in this series different types of MKR modules for different IoT wireless technologies.

    in this instructable – how to mount any board of the Arduino MKR series in a cabinet. This can be very useful for many professional applications like door access systems, smarthomes etc.

  29. Tomi Engdahl says:

    Arduino MKR Din Rail Mount © GPL3+

    Simple enclosure and breadboard to mount Arduino MKR boards in a cabinet for prototyping.

    The new Arduino MKR series sets up a standard about form factor, function and performance for Arduino boards in the future. These new boards comes in a compact shape, with a powerful 32 bit Cortex M0 micocontroller Atmel SAM D21 and a charger function for LiPo accumulators. Furthermore Arduino offers in this series different types of MKR modules for different IoT wireless technologies

    ArduiBox MKR is an enclosure set for the Arduino MKR series. The heart is an additional pcb with integrated voltage regulator and breadboard. It fits together with the Arduino MKR of your choice in a 3 module DIN rail enclosure.

  30. Tomi Engdahl says:

    Strato Pi CM

    Say hello to Strato Pi CM, an extremely compact industrial server based on Raspberry Pi Compute Module.

    Strato Pi CM embeds most of the features of the Strato Pi Base server, but in a 2-modules DIN-rail case. It is compatible with all versions of the Raspberry Pi Compute Module

  31. Tomi Engdahl says:

    Neuron is a product line of PLC (Programmable Logic Controller) units build to be universal and used in both Smart Home and Business applications and automation systems. It allows to locally and remotely control connected systems and devices based on a program set by end user of installation company.

  32. Tomi Engdahl says:

    Machinon Takes the Hard Work Out of Building a Raspberry Pi Home Automation System

    Home automation is becoming increasingly popular, and the Internet of Things (IoT) promises to make it easy to create a smart home. There are just two major problems: nothing in your house was built for IoT, and new IoT-ready appliances are a proprietary nightmare. Comprehensive plug-and-play solutions don’t exist, so you have to build your own. Machinon is hardware designed to make that easy to do with a Raspberry Pi.

    46 Smart I/Os
    Industrial design
    Real Time Clock
    Raspberry Pi ready
    Open Source ready

  33. Tomi Engdahl says:

    Industrial Automation Card for Raspberry Pi

    4 ea. 4-20mA IN/OUT, 4 ea 0-10V IN/OUT, 4 ea. Opto-isolated IN/OUT, 4 ea 250V/10A relays, RS485, CAN, 1Wire. All for $50.

  34. Tomi Engdahl says:

    How to Use Modbus with Arduino

    DIY Modbus slave with Arduino UNO and RS485 Shield.

    Modbus is a serial communication standard and has become a de facto standard communication protocol and is now a commonly available means of connecting industrial electronic devices. In Modbus RTU and Modbus ASCII RS485 is used as the physical layer. Its possible to use an Arduino as Slave (and with some restrictions also as Master) in Modbus applications, but a RS485 interface is needed.

  35. Tomi Engdahl says:

    Raspberry Pi Goes Professional

    Originally developed as an educational tool, the Raspberry Pi’s combination of computer power and low cost has been attracting the interest of professional designers looking for quicker solutions to complex applications.

    The Compute Module is a Raspberry Pi variant specifically developed for commercial applications.

    Recognizing that its educational tool was attracting commercial interest, the Raspberry Pi Foundation devised a streamlined form-factor Pi called the Compute Module, now in its third generation. A noted in this report from EETimes’ sister site Electronic Products, this version of the Pi has seen substantial, if quiet, commercial adoption. For the most part, vendors adopting the Raspberry Pi are keeping that fact concealed as part of their “secret sauce.”

    Among the few commercial products publicly linked to the Pi are industrial computers such as the Strato Pi series from Sferra Labs and controllers like the Revolution Pi from Kunbus. It is the advent of such devices that prompted Aspencore (parent company of EE Times) to launch a special project on the Professional Pi so you can explore aspects of the Pi’s application in depth:

    For more on the Compute Module and how the Pi is being used in commercial applications, see the article in Electronic Products on When the going gets pro, the pro go Raspberry.

    This DIN-rail computer module from Kontron proudly declares its Raspberry Pi heritage.

  36. Tomi Engdahl says:


    Cost effective and highly reliable industrial automation solution using the power of Arduino






    Cost effective and highly reliable industrial automation solution using the power of Arduino.

    industrial automationmanufacturing
    Ard yun
    Arduino Yun
    × 1
    Mcp23008 i2cio4r4g5le 10a d 1 1024×1024 s8wwqgnv5c 4-CHANNEL RELAY CONTROLLER FOR I2C
    × 1
    Ide web
    Arduino IDE
    Blynk logo new svawbywyip
    The project that I’ve created clearly depicts a cost effective and efficient way to use Arduino family products in the manufacturing and industrial world. The components I’ve used are in use already in companies in many different sectors.

    The industrial components I’ve used are the following:

    Siemens LZX:PT570730 (230v Relay)

    METASOL MC-12b (Contactor)

    Tele E121E10 (Timer)

    The reason I’ve used the above components is that I want to show that it’s possible to use any Arduino board to control industrial scale components without the need of an expensive PLC. This solution, combination of already in use industrial parts (relays, contactors, etc.) clearly shows that Arduino is more than capable of taking the place of any PLC or other automation board.

  37. Tomi Engdahl says:

    How To Simplify Isolated 24-V PLC Digital Input Module Designs

    In this paper, techniques will be introduced to optimize the space and thermal rise in the multi-channel HV digital input board design.

    Digital input modules are frequently used in Programmable Logic Controllers (PLCs), Computer Numerical Control (CNC) and Railway Signaling Data Loggers, to detect 24 V or higher voltage Digital Inputs (DI) from sensor transmitters.

    Traditional Optocoupler solutions result in high board temperatures (heating up to 120℃ with ambient temp at 58℃), which can lead to reliability concerns. The implementation of high wattage resistors and cooling fans to counter these temperatures add unneeded cost.

    Industrial digital input modules usually use screw terminals to connect field sensors over long cables. This setup can pick up voltage and current noise from a variety of disturbances in harsh environments, such as surge, electrostatic discharge (ESD), and electrical fast transients (EFT).

    Multi-channel digital input boards are a growing trend that will continue well in to the future. The efficient cost, compact size and low power dissipation encourage the grown of the trend.

  38. Tomi Engdahl says:


    UniPi 1.1 is an extension board for Raspberry Pi. Together they form a programmable control unit for universal use in automation, regulation, and monitoring systems.


    Compatible with Raspberry Pi B+, Raspberry Pi 2 and Raspberry Pi 3
    8 × Finder changeover relays rated for 250V AC / 5A or 24V DC / 5A
    14× galvanically isolated digital inputs triggered by 5-24V DC voltage with minimum pulse length of 5ms
    2 × 0-10V analog inputs
    1 × 0-10V analog output
    1 × 1-Wire port for connection to 1-Wire thermometers and other sensors
    1 × I2C port for expansion
    1 × UART port for external serial communications
    socket for battery powering RTC
    connection with Raspberry Pi via a supplied ribbon cable
    possible to extend via extension modules over I2C
    possible to equip with DIN rail mounting and plastic cover
    requires an external 5V 2.5A power supply with 2.1mm DC jack.

    UniPi 1.1 is an extension board for the Raspberry Pi computer, allowing it to serve as a programmable logic computer (PLC) in applications such as automation, regulation, monitoring, smarthome systems, industrial automation and many more. It is a direct predecessor of the Neuron PLC line.. The board can be extended via EMO-R8 extension module, adding another 8 relay outputs. Users can also purchase a DIN rail holder for installation into distribution box and plastic protective cover.

  39. Tomi Engdahl says:

    Arduino RS485 DIN Rail Mount © GPL3+

    How to mount an Arduino and an RS485 shield (or any other shield) in a cabinet on a DIN rail

  40. Tomi Engdahl says:

    Techbase Releases New ModBerry M2000 Industrial Automation Controller

    Techbase has designed a series of industrial control computers based on popular SBCs, including the Raspberry Pi 3 Model B+ (ModBerry M500), and Aaeon’s Up Board (ModBerry M1000). The Polish company has just released another ModBerry to their lineup with the M2000, which is also built around the UP Board but sports Intel’s Apollo Lake family of processors

  41. Tomi Engdahl says:

    Have Your Raspberry Pi®…and Industrial I/O Too!

    With Opto 22′s Digital I/O System for Raspberry Pi, you can switch real-world electrical loads like industrial motors and pumps, and sense circuits and status through industrial-grade sensors, with your Raspberry Pi’s GPIO. The system uses the same field-tested, reliable Opto 22 G4 input/output (I/O) modules that have served automation applications worldwide for nearly 40 years. Just bring your Pi and its power supply, and you’re ready to begin.

  42. Tomi Engdahl says:

    #111 Mains Opto Isolator (SAFE ✅ Workshop Automation)

    A SAFE way to detect mains from your microcontroller (eg Arduino, Raspberry Pi)

  43. Tomi Engdahl says:

    Ladder Logic: Fault detection and messages

    In ladder logic, faults are used to capture abnormal circumstances and each cell or station in a program will usually have its own fault routine and can send messages to a human-machine interface (HMI) or programmable logic controller (PLC).

    In ladder logic, faults are used to capture abnormal circumstances such as an actuator not completing its motion within a prescribed period of time. Each cell or station in a program will usually have its own fault routine. There is usually one fault for every motion (extend, retract, raise, lower and so on). Other faults may include lack of air pressure, emergency stop actuation, guard door switches and drive or overload alarms. Note that any system fault disables the timer on the fault rung. This serves two purposes:

    1. Only the fault that happens first is enabled. This prevents subsequent faults that may have been caused by the initial fault from occurring. If air is removed from the system several pneumatic actuators may fault within the same event.

    2. After the fault occurs the timer resets allowing a new countdown. This allows physical correction of the cause of the fault by maintenance or an operator.

    There are a couple of methods of resetting the fault. One is to clear the register word that contains the faults, in this case word 10. This fault word may be for only this cell allowing the system reset signal to reset faults in sections if desired; word 10 for cell 1, word 11 for cell 2, etc. Another method is to reset or unlatch faults individually.

  44. Tomi Engdahl says:

    4 Channel For Pro Mini Expansion Board Diy Multi-Function Delay Relay PLC Power Timing Device


    Operating voltage: power supply 1,DC 6.5-25V; power supply 2,DC 5V
    Operating Current: Standby current (all relays closed) 15MA, 1 relay open 45MA, 2 relays open 77MA, 3 relays open 109MA, 4 relays open 140MA
    On-board resources: 4x opto-isolated inputs (low level trigger, NPN type), 4x buttons, 1 4 bit digital tube display, 1 pair of Pro mini slots, 4 relay outputs
    Size: 80x66x19mm
    Weight : 79g

    As long as you write ARDUIUO code(sketch),You can use it to achieve a variety of delay timer function,such as:
    Motor forward and reverse,Timing on,Timing off,Power-up delay,Trigger delay,Infinite loop delay,A finite number of cyclic delays,Power sequencer,And so on.

    Note: IO22C04 can not work independently, must be under the control of the Pro mini board to work,If you do not have a Pro mini board, purchase it separately or purchase a kit with Pro mini.

    Video: 4 Channel For Pro Mini Expansion Board Diy Multi-Function Delay Relay PLC Power Timing Device

  45. Tomi Engdahl says:

    Open Source IPC based on Raspberry Pi
    IIoT Gateway, DIN-rail PC or small control unit? Your call! Discover the world of Revolution Pi

  46. Tomi Engdahl says:

    Adventures in Automating a Candle Factory

    He came to the realisation that he was replicating common off the shelf control components such as timers or PID controllers, and his solution was to abandon the large software and produce a series of single function PCBs he calls control bricks. These are self contained units with their own displays and interfaces, that handle a particular task and are designed to run sequentially wired in a chain through which each passes control to the next.

    The processor on each block is an ATmega328, chosen for convenience as he had a supply of them in hand.

    There are many possible bricks that could be created to satisfy all possible functions, but so far he has created only the selection he required for the candle automation task.

    Such a modular process automation system is not entirely new, indeed similar ideas could be found in the relay-driven ancestors of modern programmable logic controllers. But to have a readily available design so convenient for experimentation is an interesting development for our community, and Michael’s tale of discovery should provide interesting lessons for anyone with an automation task in front of them even if they don’t adopt his solution.

    Control Bricks
    A collection of composable PCBs for building simple automation solutions.

    A collection of composable PCBs for building simple automation solutions.

  47. Tomi Engdahl says:

    Borg Washing Machine

    Homemade PLC-like electronic replacement for the mechanical timer in my washing machine.

    LDmicro: Ladder Logic for PIC and AVR

  48. Tomi Engdahl says:

    Balena Introduces DIN-Capable Pi Compute Module Carrier Board

    Although you don’t hear about it very much over the clamor of emulating old video game systems, one of the biggest uses of the Raspberry Pi outside its educational roots is in industry. The Pi makes for a great industrial control system, and if you mount it to a DIN rail, you’re golden. This is the biggest reason the Pi foundation is still making the Pi 1, and it’s one of the big motivations behind the Pi Compute Module.

    Now that the Pi Compute Module 3 and 3+ have been out for a while, it’s only fitting that these modules get a great carrier board. The balenaFin 1.1 is out now, and it’s the perfect carrier board for the Pi compute module.


Leave a Comment

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