Category Archives: PLC

PLC – Ethernet Module 2

Looks like the GSM module will be added to the Ethernet Module. Found several modules in price from 1.27 to 4 USD. Basically UART operated with support of GSM + GPRS, TCP/IP, UDP/IP, SMS etc. The cheapest kit is data only, but some of the others include voice as well. More important is that datasheets and programming guides are available.


The M590E is SMS/Data only and cost 1.27 USD, the others include voice and cost 3-4 USD. More expensive modules with 3G/4G etc exist, but GSM/GPRS should be sufficient. GPRS have a bandwidth of ca 85Kbps.

I need to find space for these modules + SIM Card and antenna, but I think that is very doable. It is also an option to use one of the breakout boards “as is”.

PLC – Ethernet Module

The block diagram above show the Ethernet module. Starting with a dual RS-X to the backbone and a SPI based W5500 for Ethernet connectivity. In addition we add a ESP-12 for Wifi, SPI Flash for storage and a RTC battery & oscillator as well as the mandatory SWD connector. I hope to have a 3D model of this board ready within the next days. The red box on Ethernet/Wifi mark that this is galvanic isolated.

The STM32 design will differ from earlier designs as I will be using x-tal’s with higher quality and add the RTC x-tal as well. I am toying with the idea of testing a supercap as “battery”. A normal battery has a degrading over time that forces it to be replaced on regular basis. As a RTC battery only need to survive a power down for some time it could be interesting testing a supercap as an option. It is also an option to dedicate one of the available pin’s on the backbone to “Power off battery” and use wakeup functionality on the MCU.

I have also drafted a GSM as optional add-on here. As this will be an external breakout it might make sense to add it to this module rather than creating a separate one. This is however something I need to look into. At present I have little experience using GSM like this.

The RS-X backbone speed will probably be 2.5Mbps, both lower and higher speeds are an option.

PLC – All In One Home Central

A Modular PLC system will have some size & cost, and as a home central should be small, easy to hide and low cost it might be wise to produce a specialized “All In One” solution. The diagram above illustrate the content with “backbone” replaced by a MCU. The C firmware will basically only be a simplified version of what we use on the modular system. The content focus on communication only since we expect distributed nodes communicating through RS-X to perform the sensor/actuator parts.

PLC Backbone Block Diagram

Using STM32F405RG on everything is an overkill, but I can always consider dropping down to STM32F105RB/C later. This M4 gives us a powerfully MCU on each module capable of truly distributed processing as we are promoting in Plain.

Ethernet Module is what I have started on now. This will host a STM32F405RG, 2 RS-485’s for the backbone, a W5500 based Ethernet and optionally a ESP-12 module for wireless. I am also adding RTC battery, SPI flash and a SWD connector. I need to see what space I have available, but as with my previous Raspberry PI Hat’s I intend to re-use much of the MCU related design on every Board if pins & space allow it.

RS-X Module connect the 2 backbone lines to 3-4 isolated network lines. I want isolation on anything in & out of the PLC.

Mobile Phone module is for internet connectivity on remote places or as a secondary backup should a primary internet be cut. It exist so many small, low cost modules these days that we just grab one of those.

Battery Control Module is so we can connect a LIPO package to operate if mains fall out. This should also include charging and monitoring of the battery.

PSU Mains Module is basically PSU modules needed for 5V, 12V, 24V &48V.

Raspberry PI Module will allow us to interconnect with a Raspberry PI for computing, Ethernet, Wifi, USB, Bluetooth etc. The target here is Raspberry PI 2, 3 or Zero W.

Analogue Input Module is a x channel 16 or 24 bit ADC input module. This allow us to read analogue sensors with some accuracy. We need more than the internal 12 bit ADC, so I am thinking maybe a low cost 12 bit board and a bit more expensive 24bit board.

PWM Module is a x channel PWM output, each channel formed as a Half H-Bridge and supporting 2A continuous current. We probably should manage 8 channels – not shure.

Composite Camera Module. I am not sure about this board as I am tempted to use H.264 camera’s only in which case I will ditch this module.

Sound In/Out Module is basically targeting doorbell, but I am open for the possibility to provide a multi-channel music mixer as well. I need to consult with friends in the London music industry a bit, and it is possible this actually will be several boards to adapt to a stage show.

DC/Stepper Module will basically be very similar to the PWM module, but I probably need various currents & voltages for different motors. I am thinking only of small motors supported directly because I expect separate controllers for the larger motors.

3-Phase Motor controller – well, the name say it all, but I am not sure I want to make this board. The reason is because a 3-phase motor usually require some power that is better handled on a separate controller on the other side of an isolated RS-X. Let’s see…

Servo Controller is probably a 16 channel controller like we created before on a Hat, but I will be using Timer’s for PWM this time to get a 16-bit resolution on the PWM duty out.

As mentioned a few times before – this is an idea draft and I write it down to let it mature – plans will change.

PLC Module – Mechanic scetch

I am toying with using my 3D printer to (1) print a module box and (2) to print PCB holders as illustrated above. This was an early draft – the idea is that you push the module in and use a screwdriver to mount it – I need to look for low cost alternatives here and have a concept before I order the backbone.