Skip to content
M10CUBE edited this page Jul 5, 2020 · 9 revisions

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) https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=455&hilit=vorrias 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.

Directives: -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.

-10 stands for 10cm cube concept and was chosen for various reasons some of them are : -We have 10 fingers so easy to remember. -10x10x10 as said before is a lot of space to build a DIY PLC (or any controller) though small enough to fit in our home as an automation controller. Connecting more CUBES together with a field-bus like CAN we can spread and distribute a lot of PLC power for any application needed. -Friendly dimension to wall mount (Using wall mounting adapters). Can be used next to our wiring junction boxes with acceptable aesthetic (not bulky). With careful artistic 3D design modules can look good even in places where our TV is locating. -Can be Din-Rail mounted Using snap in adapters for use in industrial enclosures M10 concept includes two ideas on one package.

1 – Abstract (Ideas , Philosophy, Think Green): Any technological ideas in the controllers field in an attempt to build an open-source, economical, DIY, Green PLC by incorporating anything done so far in a way that will be modern, good looking industrial design, modular, reusable and more . On this aspect M10 is open and dynamic on the enclosed electronics

2 - Material (Framework, Ecosystem, Specifications): That is the real hardware . A container following the M10CUBE specification. Certain specifications may define the exact hardware but this only applies on a certain type of M10CUBE To be more specific one can start of building a M10CUBE PLC using Raspberry Pi 40 pin bus connector. That is the one we choose to try first. Another can start its own M10CUBE hardware design as long as the M10CUBE rule is not violated. Of course you are free to do whatever you like and violate M10CUBE rule but that is not called M10_CUBE. This is only for not loosing track and confuse users. No licensing involved as we decided everything is free and open source. That particular M10CUBE, lets say M10CUBE-R will have specific specifications applicable to M10CUBE-R PLC. All UNITS must be able to communicate and work properly within M10-R PLC One can start his own M10CUBE by not violating the low of M10CUBE Within this limited dimension we must pack as more PLC (electronics) power we can.

5 modules of 20mm each on width (z axis) can make a really powerful M10CUBE PLC. CPU can be on one module but that is not limited. Some I/O modules may contain a CPU. In fact there is not strict limit on where the CPU can be located on the system. A user can build his M10CUBE PLC and put CPU in any Unit

Concluding A road map to M10CUBE ecosystem. For the shake of simplicity we call it M10. M10 is not reinventing the wheel. Proven technology is used wrapped in an idea to make a reusable micro-controller driven ecosystem. A Green Deal project I may say.

Mechanics Width of the frames is dictated by the 40 long pin connector used living us with this:

  • External dimensions 10x10x10cm.
  • Raspberry Pi frame width 29.6 mm (under consideration)
  • Add on boards frame width 17.6 mm (under consideration)
  • PCB inside boxes PCB 91x91 mm
  • Raspberry Pi 40 pin bus (long pin connector) will be used for the first M10CUBE ecosystem.
  • Frames 3D printable.
  • Din-rail and wall mount adapters 3D printable

Electronics

  • Input modules 24v opto isolated.
  • Output modules 24v high side opto isolated.
  • Output modules relays and triacs. 220V switching up to 16A,
  • Motor module for DC or BLDC motor control
  • Analog IN/OUT modules -10v to +10v, 0 to +10v 4-20ma
  • Sensor module for Air quality control.
  • Smart PSU 24V or 220V, POE, CANBUS, USB and battery backup
  • Connection between M10CUBEs Ethernet, WiFi, CANBUS, LoRaWAN.
  • Add on modules must conform with HAT specification as the electric diagram is concerning.

Think any Idea that solve controller problems within M10CUBE limitations. Tell us about it or builds it and share it to with the community. Of course anybody can build his own CPU board conforming with M10CUBE CPU standards using any Arduino module (nano, mini, etc)

APPLICATIONS for M10CUBE ecosystem

  • PLC controller ever expandable with IEC 61131-3 programming
  • Home Automation controller as a Master with, Node-RED, openHAB, Home Assistant, Python etc or as slave device for mains switching, sensor reading, with TASMOTA, ESPHome or any other custom hardware.
  • Motor control
  • Environmental sensor reading for Air Quality monitoring.
  • LoRaWAN, GPS
  • Industrial IoT applications
  • Drone controller
  • Greenhouse controller
  • Burglar alarm controller
  • NAS or a set top box for your TV

Of course there are limits like everything in life but you can build almost everything. Have the idea and make the board. The new PCB will be will be part of the M10CUBE family and will be used from everybody.

The team is thinking the next design idea.

1 - The multi CPU M10CUBE with ESP8266 + ESP32 + STM32 + LoRaWAN on board 2 - Sensor module for air pollution, meteorological, and agricultural measurements. These two modules can work together for IOT applications for uploading data to cloud or to a M10CUBE server with Raspberry Pi 4 on board

Conversation is taking place in slack workspace www.m10cube.slack.gr .

If you have skills in electronics, mechanics, in 3D design, in automation engineering or in any way you think you like to involve in the M10CUBE design and contribute please come and join us.

All about M10CUBE ecosystem will be open source without any limits.

We like you to contribute with ideas and design work, so community will benefit from M10CUBE ecosystem.

Clone this wiki locally