M10CUBE (M10 in short) is a modular controller box with cube dimensions 10x10x10cm. Raspberry bus will be used for the first incarnation.

Public Chat
Similar projects worth following
M10CUBE is a Practical Form Factor Ecosystem. A micro controller cube 10x10x10 cm.

To be used like "brick" and solve many control problems. A smart design to be used as PLC or IOT device for Industry 4.0 and M2M deployments.

PLC, IOT, Education, Home Automation, Light Industrial and Greenhouse applications, Air Quality monitoring

M10CUBE  (M10 in short) road map

This is a teamwork project! It is up to the contributors choice to show their name in public


A PLC software using all M10CUBE I/Os :

First PLC software will be  CODESYS (Raspberry Pi runtime is free for 2 hours use) since there is a lot of experience with this IDE.

Then other, totally free and open source IEC 61131-3 BEREMIZ or IEC 61499 4DIAC enabled IDEs can follow . Hopping someone will give us a little help on these brilliant software, following the well known song ...

A M10CUBE sensor board software:
That is written in Arduino IDE using all on board hardware running on the embedded ESP32 module.

Some history as a preface.
Despite the fact that we started M10 as a modular PLC system within a cube of 10x10x10 cm soon realized that in a broader sense, everything is a Programmable Logic Controller. Every microControler Programmed Logically to help us in everyday life.
Many years ago back in 1980 when programming Z80 custom made designs written in assembler for controlling various machinery in reality that was a primitive PLC.
Of course later as wiki states IEC 61131  (then IEC 61131 -3) published in December 1993 PLC came to life for ladder programming. Today (initially published in 2005) the specification of IEC 61499 (as explained by Lewis and Zoitl) is one step up to  IEC 61131.
In a sense the famous Arduino Blink program is a PLC program (not in IEC 61131 -3 but in C).
PLC remains as standard word for industrial controllers. Recent days many change the term PLC into a more appropriate acronym PAC ( Programmable Automation Controller).

PAC is an industrial controller that combines the functionality of a PLC with the processing capability of a PC. You are thinking right. Is a Raspberry Pi running a PLC program called PAC?  The answer is YES.

The idea was tinkering in my mind so in 2011 in the Raspberry Pi forum I started a thread in an effort to combine Raspberry and PLC environment:
Turn Raspberry Pi into a P.L.C (Programmable Logic Controller)
That time my Raspberry was not delivered yet.

Time went by. ..

During that time I found enthusiastic designers and they contribute to the final M10 idea.
I hope to be permitted to put their names here. Without these guys M10 could not be born.

It does not matter if M10 contains a PLC or a PAC or a custom made C, C++ or Python firmware. M10 likes them all. Because M10 is a controller cube, a container I may say that makes the control job look easy. Any control job.  
You may ask what hardware is inside? The answer is anything. Hardware that haven't cross our mind yet. The hardware inside M10 may be different as long as the first low of M10 is not violated

But we must start from something we all understand.
To get an idea of what a M10 looks like we will introduce you our first M10 PLC incarnation which at the time of writing ( 05/05/2020) has the following modules ready for fabrication.
1 – CPU module (contains Raspberry Pi 4). All modules share the same 40pin Raspberry bus. 2 – DIO module. Eight opto isolated 24V inputs plus eight 24V outputs high side transistors.
3 – DO module. Eight relays with 16 amps contact capability to power any heavy loads even 220V mains power appliances.

M10 ecosystem in detail
The design must not violate the rule of M10:
- External enclosure (CUBE) maximum dimensions X = 10cm, Y = 10cm, Z = Up to 10cm. Electronics inside must be powered by 24 DC or 220 AC or POE, or battery.
Some sub rules must also apply but it is to verify that every M10 incarnation can communicate and stand side by side with the other.

-Used materials and modules out of the self if possible. -DIY friendly. -Think Green and Reuse philosophy
-Z dimension depends on number of modules . -within the CUBE interconnection bus between modules must exist and modules designed for the specific M10 can be interchanged between...

Read more »

This is the modified (with sound) Arduino LoRa ping pong example for m10sensor as shown on image

Zip Archive - 3.71 kB - 01/14/2021 at 13:06



This is the Box where M10CUBE sits on. The files are redesigning and soon will be uploaded into GitLAB

Portable Network Graphics (PNG) - 179.66 kB - 10/02/2020 at 17:07


m10cube conventions.txt

That is the new naming convention introduced in 09/2020 since M10CUBE is becoming extremely complicated to handle the different boards now and in future

plain - 784.00 bytes - 10/02/2020 at 11:04



Prototype module. This is located as a bottom PCB together with the Raspberry Pi 4 and PSU module. These 3 modules define the CPU Frame

Portable Network Graphics (PNG) - 191.39 kB - 10/02/2020 at 10:43



Digital Input Output module

Portable Network Graphics (PNG) - 143.13 kB - 10/02/2020 at 10:43


View all 14 files

View all 33 project logs

  • 1
    Step 1

    Since project is in development phase instructions for building will be published as soon as modules are tested OK.

View all instructions

Enjoy this project?



lozziboy wrote 02/23/2022 at 11:22 point

I encountered this nice project while thinking about how to transform raspberry pi into a plc.
Based on my experience with Raspberry PI I can certainly say that different processes (e.g. loss of power) can lead to a corruption of the file system. How do you think to solve this problem?
In any case: my compliments for the project , I wish you success!

  Are you sure? yes | no

VASILIS VORRIAS wrote 02/23/2022 at 11:38 point

Thank you for your comments ozziboy . When you are working very hard to bring a product to the OSHW community you need all the feedback to make it better.

In fact today we posted our participation to a WIZnet contest. We are going to win and invest the money to a better M10CUBE idea.

Stick around and see that maybe it is something for you there. Like the new intelligent PSU we are designing. We will need your feedback there

  Are you sure? yes | no

VASILIS VORRIAS wrote 10/23/2020 at 10:31 point


Today after many delays due to problems on the boards, production approved by for all 5 types of M10CUBE PCBs designed so far.
While waiting for delivery of the PCBs we are developing a first version of the firmware to support all boards.

  Are you sure? yes | no

VASILIS VORRIAS wrote 05/30/2020 at 08:19 point

If you have any comments or  ideas about possible applications on M10CUBE  project please inform us.
Even better if you have any skills concerning the development on the M10CUBE please consider joining our team. M10CUBE is a dynamic idea of how things may be in life.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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