Category Archives: RS-X Modules

PLC Ethernet/GSM Revision 1.0 Annotated

These pictures show the annotated 3D. Full PDF documentation can be found on the Download page (here).

  1. 4 pin HMI header.
  2. Super capacitor for RTC.
  3. SWD.
  4. W5500
  5. Raspberry PI Zero W mounting holes.
  6. Ethernet RJ45
  7. GPS Antenna
  8. GSM/GPRS Antenna
  9. Nano SIM Card holder.
  10. Standard mounting holes. M2.5 in each corner.
  11. SIM808 module
  12. Analogue Audio/USB connector.
  13. 4V PSU (MIC29302BU)
  14. 2 x MAX3485 for RS485.
  15. STM32F405RG
  16. 3.3V PSU (LM1113)
  17. 40 pin PLC backbone connector
  18. 40 pin Raspberry PI 2/3/Zero W connector
  19. Audio/USB available on back side. 5V + VBUS available here.
  20. Test holes for PCM
  21. Extra wiring to enable swapping of PCN In/Out

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.

New Micro PLC Backbone

My previous backbone board had to little space between connectors + no connection for PSU & communication – this one has 10mm between connectors which is more realistic – thought I still expect one Add-On board to use ca 20mm width. The total width “as is” is 100mm, so it is still very small.

I actually need to find a solution on the mechanical boxing before I finish this one + this is still only an idea draft that need to mature. I probably should add bias and terminator for RS485 on the backbone. Have some spare space on right.

As for add-on boards I am toying around with the following ideas;

  • An Ethernet connectivity board.
  • An RS-X connectivity board.
  • An Raspberry PI connectivity board.
  • An analogue input board.
  • A PWM channel board.
  • A camera input board.
  • A voice & mic board.
  • A DC-/Stepper- Motor board.
  • A 3-Phase motor board.
  • A GSM/3G/4G Board.

We can have a lot of fun here, but I will let these ideas mature a bit…

Micro PLC Backbone

Just an update on the backbone board. I have decided to use a “All-In-One” central for home automation, but I still want to make a minimized PLC alike system. This backbone is very small – only 50mm width and 65mm height. The connectors are basically so tight with only ca 6.3mm apart that we are not likely to use every slot. I considered making it larger, but decided against it because the primary target here is mobile robotics. The connectors give me the option to use 1, 2, 3, 4 or even more slot width on a single card + I can add backbone board by having a board to board cable.

The main difference is that I ditched the A and B PSU signals and use a wider, combined lane to increase available ampere. I also add drill holes for each board. I am still a bit undecided about how I connect this to the PSU etc. I will be back on that.

This last picture illustrate the new power lanes. Wide tracks on both sides to support higher currents. The weak point is however how to connect this to a PSU. At present I would use a 40 pin connector and 4 cables per voltage – I need to think about that. One option is to add screw connectors etc. I will not order this board before I have a PSU design + some add-on boards, so we can let the ideas mature a bit.

Universal Motor Controller 1.1

I initally hoped to test rev 1.0 of this Controller back in february, but as often happens with hobby plans – they get delayed because of real life. I am still waiting for the PCB’s on 1.0, but I am already starting the planning for rev 1.1.

  • Testing the design on 11.1V battery.
  • Testing power and heat under full load.
  • Testing spike tolerance.
  • I am not fully happy with connectors, their size and location. Need to evaluate if we can improve this.
  • SWD needs to be moved/turned a little.
  • RS485 should be upgraded to galvanic isolated version. This is a challenge as I need physical space.
  • I am considering tilting the MCU 45 degrees left because a lot of PCB lanes would then be Shorter. It could save some Space.

I was considering 48V and more current, but the truth is that we then start moving towards specialized needs that is better handed as such due to the effects involved.

CAN or Ethernet is still an option. Despite having advocated CAN and written CAN stacks in the past – I am not a fan of CAN. RSX is better for many reasons. I would love Ethernet, but the truth is Ethernet wiring and need for switches is a drawback in robotics. I will consider an add-on option for communications, but I am actually happy with RSX because it is robust, flexible and easy. For now I assume I have to wait 1-2 weeks 🙁


I used a little trick on the 3-port Galvanic RSX as I connect to ground through the ground layer on layer 0. If you look at the area marked in green this is part of the ground, but the EDA don’t warn me that this is an iceland isolated from actual ground. I added a connection (in yellow circle) to fix the issue.

Just a reminder that an EDA is only a tool. It might contain snags so it’s up to yourself to actually check what it is doing.