Raspberry PI based, fully modular PLC for home and industrial automation.

Public Chat
Similar projects worth following
In the past, I've had some experience with PLC's from different vendors (Siemens, Rockwell Automation, WAGO e.t.c.).
It's respected manufacturers and they made great products. But also their products have some imperfections for me:
1. Price. It's expensive.
2. Programming environments are different for products from different vendors and not so simple to understand.
3. Size. Most of those products I can't install it in the electrical cabinet (standard electrical cabinet for the home created for 58 mm height DIN rail products)
4. Restrictions. Most vendors using own cloud services which don't have features you can find in Amazon AWS for example.
5. In - Out voltage. I can't connect inexpensive 3.3 or 5-volt sensors without level shifters.

So, I thought a little, and IOTON MICRIO idea was born.

Now I have 19 different modules.
I will write a separate article about each module.
Stay tuned!

IOTON MICRIO MPU Quick Start and Hello World

This video is about very basic IOTON MICRIO functionality. How to connect devices, program system via  EDITOR, control it via USER DASHBOARD and via E-mail messages.


Some modules (not all).

Before I start the project description let me introduce the first industrial project on IOTON MICRIO equipment.  

My old school friend is the CEO of company produced bioreactors. For one of his projects he asked me to make a system to control 3 big fans (on/off by schedule) and one pump motor. RPM for this pump motor must depend on atmospheric pressure and temperature, and calculated with the interesting formula (I can't post it here because of NDA). I solved this problem in one day. IOTON MICRIO MPU takes atmospheric pressure and temperature data from the INTERNET and control motor by MODBUS protocol (RS485 PHY).  On this moment system works around 3 months w/o any problems. The schematic is simple:


Please, excuse me for any errors in the text, English writing is not so simple for me.

Base principles:

At first, I identified five base principles for the whole system:

1. Any input or output must be galvanically, optically or mechanically isolated from the Microprocessor Unit (MPU)
2. Keep the size as small as possible.
3. Keep it simple, stupid.
4. Reliability is more important than functionality.
5. All modules must be cross interchangeable.

Programming environment:

Luckily I found Node-Red from IBM guys. It's a really great and simple programming environment for the IOT devices. It works flawlessly on Raspbian and has great support from developers on their forum.


It was not so challenging for me. I have enough experience in it. Also, I have experience with repair different models of PLCs so I know base principles for safety, reliability, and functionality. 
A little challenge was to find the solution for RS485 and 1-wire galvanic isolation. I used an isolated DC-DC converter and Analog Devices transformer isolators.

PCB tracing:

It's not rocket science because only a few tracks in the whole project needs impedance match. Only 2 things will need to keep in mind - max trace current and enough clearance between protected and unprotected parts of PCB.

3D modeling:

It was challenging. To keep the size as small as possible I stacked PCB's vertically.  And had many problems with connectors placements and PCB's shapes.  Also always need to keep in mind, how to assemble the final product. 

DIN enclosures:

I use a standard 1U, 2U, 3U 57mm height DIN rail enclosures. Only thing I need to buy is CNC milling machine for milling ports...

Read more »


4 AC induction motors control example

fzz - 250.31 kB - 07/17/2019 at 17:17



IOTON modules for FRITZING

fzbz - 879.86 kB - 07/17/2019 at 17:15


  • 250 × Too much components....


    Andrey V ( days ago 0 comments

    I thought to write some description about my MODBUS MCU, but I think the video is better. So I did it (I don't speak English so good, but I can write subtitles).

    Features in my Modbus slave controller:

    • RS485 galvanic isolation (up to 560 Viorm).
    • Work with modules DI8 (8 universal digital inputs) DO8 (8 digital outputs 3-28V) , DIO4 (4 universal universal digital inputs + digital outputs 3-28V), RLY4 (4 relay outputs), SSR4 (4 solid state relay with temperature protection).
    • GPIOs can act as inputs or as outputs without reprogramming MCU.
    • Ability to save outputs initial state.
    • The best feature is the WATCHDOG implementation. If your main controller stuck, my MODBUS MCU return outputs in the initial state.

    I also have RS485 radio extender and MODBUS RADIO module for wireless link up to 3 km. I will write about it later. Stay tuned)

  • IOTON MICRIO MPU first video.

    Andrey V ( at 16:57 0 comments

    Small video about very basic functionality of my system is done.

    Unfortunately I'm not so good English speaker, so I added English subtitles.  

  • New revision PCB​'s just arrived.

    Andrey V ( at 14:10 0 comments

    I've just received the new PCB's:

    MICRIO MPU rev. 1.4 (added some fuses and minor tracing changes)

    MICRIO TOP BOARD rev. 1.2 (changed SMA connector footprint to universal, added jumpers for the wireless modules)

    MICRIO I-BOARD rev. 1.2 (minor changes in connector placement)

  • Three types of MICRIO MPU top cover.

    Andrey V ( at 12:29 0 comments

    Now I have 3 different types of MICRIO MPU top covers.

    Clear acrylic, IR acrylic, Solid plastic.

  • First PI-FACE Raspberry PI3 B+ Test

    Andrey V ( at 20:57 0 comments

    The first test with for the MICRIO PI-FACE with connected Raspberry PI3 B+ done.  I've had some challenges with the UART settings(I use AMA0 UART for RS485 communications), but happily that all in the past.  PSU works fine, the temperature of IC, inductor and diode do not exceed 50 degrees Celsius, so I think my device can work with 90 degrees Celsius outside temperature (thanks to bulletproof TI TPS5430). Also, I checked the UPS and Power Manager functionality.  The next step is to test the surge protection and EMI.

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates