M10CUBE is a modular controller box with external cube dimensions 10x10x10cm. Raspberry Pi 40 pin bus will be used for the first M10CUBE.

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

A control block to be used like a Lego "brick" to solve any control problems. Definitely a job for micro controllers.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 Applications

CUBEM10  road map V1.1 (M10 for the shake of simplicity)

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 M10CUBE idea.
I hope to be permitted to put their names here. Without these guys M10CUBE 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 M10CUBE may be different as long as the first low of M10CUBE is not violated

But we must start from something we all understand.
To get an idea of what a M10CUBE looks like we will introduce you our first M10CUBE 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.

M10CUBE ecosystem in detail
The design must not violate the rule of M10CUBE:
- 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 M10CUBE 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 M10CUBE can be interchanged between M10CUBEs sharing the same bus e.g Raspberry Pi 40 pin.
-All modules belonging to the same M10CUBE type must share the shame mechanical specs for interconnection.
-M10CUBE can be connected with almost any number of other M10CUBEs by CANBUS, WiFi, Ethernet, LoRaWAN, Bluetooth, or the the upcoming standard by Amazon, Apple, Google, and the ZigBee Alliance -Out of the box as industry dictates CAN BUS is the best candidate and very easy utilized by using readily available software libraries and hardware

Why M10 name?
-M stand for modular. -Modular was chosen for obvious reasons....

Read more »


Revised m10-sensor will include. 1 - Ready module with ADS1115 (Ebay, Aliexpress, Adafruit). Cheaper that the chip itself and we can always build this extra module with an STM32F030 MCU without redesigning the main board. It can be done easily and we will have the pleasure programming the STM32F030. Internal sensors can use the analog in for gas measuring or other sensors with analog out 2 - OpAmps for external analog conditioning (external use 0-10v). 3 - 3 X JST connectors 4pin 2mm pich for I2C connectivity with the breakout sensor PCB. 4 - 4 X JST connectors 3pin 2mm for the analog in (internal use 0-3.3v)) - 5 - RJ45 for I2C extension up to 2-4 meters 6 - Wemos D1 ESP8266 module Still under development

JPEG Image - 33.06 kB - 06/10/2020 at 20:23



That is a sensor breakout PCB to accommodate ready sensors from the market like the BME680. m10-sensor main board can accommodate 3 sensor breakout PCBs with JST 2mm interconnection cable. So no need to change main sensor board. Only the breakout PCB in case of a different sensor footprint.

JPEG Image - 41.63 kB - 06/10/2020 at 20:18



Another version of STM32 + LoRa + GPS is under way. ESP8266 is not included but analog IN/OUT via STM32 yes. Still under development.

JPEG Image - 17.98 kB - 06/10/2020 at 20:13



This is designed by one of our team's member @RS27. For this version to function no other board (like PSU) is needed since it can function straight from 24 Volts DC. Eagle and KiCAD files can be found in GitLAB:

JPEG Image - 30.37 kB - 06/09/2020 at 08:57



This frame is printed already but changes are under going for better mechanical contact, wall and din-rail mounting.

JPEG Image - 14.83 kB - 06/03/2020 at 12:31


View all 14 files

  • M10-SENSOR

    vorrias06/18/2020 at 10:32 0 comments


    At this point the module will measure environmental values:
    - Temperature, Barometric  pressure, Humidity
    - VOCs
    - Ambient light and UV light
    - Fine Dust PM2.5, PM10
    - Sound level
    - Acceleration
    - NO2, O3, CO2
    - Wind Speed and Direction
    - Rain
    For a few days now a deep search is going on to finalize the m10-sensor (environmental) board. That may take more time than originally planed.
    Better R&D will make this board very useful.
    - Decisions mast taken for ready sensor modules to place on PCB or individual sensor modules chips.
    - Connection types and wiring for the sensors locating outside the main PCB at least meter away (UART for fine dust sensor, Analog high quality sensors, I2C sensors,  2 wire sensors)
    Taking account the work done by established companies in the environmental sensing IOT. Among them:
    - Adafruit, Grove, Sparkfun, Bosch, Omron, Renesas, ST, Winsen, ScioSense

    Some serious projects are taken into account:
    - Hackair. EU funded program "Collective Awareness Platforms for Sustainability and Social Innovation".
    - iSCAPE. EU funded program "Horizon 2020".
    - Smartcitizen. Citizen Science Revolution. Fab Lab Barcelona.
    - Luftdaten.
    - Sensor community.
    - Sensebox.
    - uRADMonitor.

    The above list does not contain what is on planet but it is a starting point. These projects are very professional.
    The idea is to build a first version that meets most of our current expectations  and then we see what comes next.
    That is to build a solid "brick" on the M10CUBE concept.

  • M10-STM32 CPU

    vorrias05/27/2020 at 19:06 0 comments


    On going is an STM32 M10CUBE add-on module. The board is planned to accommodate:

    - NUCLEO-F303K8 module. Interchangeable with Arduino nano.
    - Super-capacitor for STM32 RTC.
    - Micro SD
    - CAN transceiver chip MCP2551 or TJA1040
    - Analog I/O 10V
    - ESP8266 ESP-01 module.
    - Micro SD (common for STM32 or ESP8266. Jumper select)
    - LoRa E22-900M22S + E22-900M30S module
    - GPS NEO-7M

    Design: KiCAD.

    Time: About a month.

    If you have  have knowledge in electronic design and like to contribute on that, please let me know to be part of the team in slack. So to shorten the PCB design time.

    Next a M10CUBE sensor board is planned.

View all 2 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?



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