Skip to the content
4 layers105 × 107 mmModular Software Configurable IO PLC, the printed circuit board in 3D

Modular Software Configurable IO PLC

ionutms/Modular_Software_Configurable_IO_PLC

This repository contains a modular KiCad design project for a Software Configurable I/O PLC. The project integrates several advanced components to create a versatile and powerful industrial control solution.

Size
105 × 107 mm
Copper layers
4
Thickness
1.6 mm
Parts
51
Nets
247
Pads
393
Tracks, vias
0, 0
Pours
1
Routed
Not yet
KiCad
KiCad 9.0 (file 20241229)
Created
29 Jan 2025
Updated
31 Jan 2026

Overview

Modular Software Configurable IO PLC is an open-source printed circuit board by ionutms, from the ionutms/Modular_Software_Configurable_IO_PLC repository on GitHub, published under the MIT licence. It is a 4-layer board of 105 × 107 mm with 51 parts on 247 nets.

It is built around the CLP-102-02-G-D-BE, TBP02R2-381-02BE and 8SS1012-Z, with the CLP-103-02-G-D-BE, CLP-114-02-G-D-BE and TBP02R2-381-03BE among its other parts. Its parts include 37 connectors and 1 switch.

Main components

7

README

README.md

Modular_Software_Configurable_IO_PLC

Overview

This repository contains a modular KiCad design project for a Software Configurable I/O PLC. The project integrates several advanced components to create a versatile and powerful industrial control solution. It features software-configurable analog and digital I/O, single-pair Ethernet with Power over Data Line (PoDL) capabilities, and a robust power architecture.

Disclaimer

[!NOTE] This project is provided "as is" and without any warranty, express or implied. For more details, please see the LICENSE file.

About the Key Components

This PLC design is built around a combination of high-performance integrated circuits:

  • Analog Devices AD74413R: A quad-channel, software-configurable I/O solution that can be configured on a per-channel basis for analog input/output, digital input/output, and resistance temperature detector (RTD) measurements.
  • Analog Devices ADIN1110: A low-power, single-port 10BASE-T1L MAC-PHY, enabling Ethernet connectivity over a single twisted pair of cables (Single-Pair Ethernet), ideal for long-distance communication in industrial environments.
  • Analog Devices LT8304: A micropower, no-opto isolated flyback converter, providing a simple and efficient solution for isolated power supplies.
  • Analog Devices LTC9111: An IEEE 802.3cg/802.3bt Power over Data Lines (PoDL) Power Sourcing Equipment (PSE) controller, allowing the PLC to power connected devices over the same data cable.
  • Maxim Integrated MAX14906: A quad-channel, high-speed, high-side switch and digital output driver, offering robust and protected digital outputs.

Project Structure

text
modular_software_configurable_io_plc/
├── modular_software_configurable_io_plc.kicad_pro    # Project configuration file
├── modular_software_configurable_io_plc.kicad_sch    # Main schematic file
├── modular_software_configurable_io_plc.kicad_pcb    # PCB layout file
├── fp-lib-table                                      # Footprint library table
├── sym-lib-table                                     # Symbol library table
├── docs/                                             # Documentation files
│   ├── bom/                                          # Bill of Materials
│   │   └── modular_software_configurable_io_plc_ibom.html # Interactive BOM file
│   ├── pictures/                                     # Images and photos
│   │   ├── 1_modular_software_configurable_io_plc_side.png
│   │   ├── 2_modular_software_configurable_io_plc_top.png
│   │   ├── 3_modular_software_configurable_io_plc_bottom.png
│   │   ├── 4_modular_software_configurable_io_plc_left.png
│   │   ├── 5_modular_software_configurable_io_plc_right.png
│   │   ├── 6_modular_software_configurable_io_plc_front.png
│   │   ├── 7_modular_software_configurable_io_plc_back.png
│   │   ├── 8_modular_software_configurable_io_plc_side_exploded_1.png
│   │   ├── 9_modular_software_configurable_io_plc_side_exploded_2.png
│   │   ├── 10_modular_software_configurable_io_plc_side_exploded_3.png
│   │   ├── 11_modular_software_configurable_io_plc_side_enclosure.png
│   │   ├── 12_modular_software_configurable_io_plc_top_enclosure.png
│   │   ├── 13_modular_software_configurable_io_plc_bottom_enclosure.png
│   │   ├── 14_modular_software_configurable_io_plc_left_enclosure.png

Project Features

This design provides a comprehensive and modular software-configurable I/O PLC with:

  • Modular Architecture: Incorporates several minimal functional modules for scalability and ease of design.
  • Software-Configurable I/O: Flexible channels that can be adapted to various sensor and actuator types.
  • Single-Pair Ethernet (SPE): Utilizes 10BASE-T1L technology for long-reach Ethernet communication.
  • Power over Data Line (PoDL): Capable of providing power to remote devices over the data line, simplifying wiring.
  • Isolated Power: Features an isolated power supply for improved safety and noise immunity.
  • High-Side Digital Outputs: Robust and protected digital outputs suitable for industrial loads.

Getting Started

Prerequisites

  • KiCad EDA version 9.0 or later installed on your system.
  • Git for cloning the repository and managing submodules.

Opening the Project

  1. Clone the repository (including submodules):

    bash
    git clone --recursive https://github.com/ionutms/Modular_Software_Configurable_IO_PLC.git

    If you have already cloned the repository without submodules, initialize them with:

    bash
    git submodule init
    git submodule update
  2. Open the project in KiCad:

    • Launch KiCad.
    • Click "Open Existing Project".
    • Navigate to the cloned repository folder.
    • Select the modular_software_configurable_io_plc.kicad_pro file.
  3. Explore the design:

    • Open the schematic editor to view the circuit design.
    • Open the PCB editor to view the board layout.

Dependencies

This project has the following dependencies:

1. KiCAD Symbols Generator

This repository uses KiCAD_Symbols_Generator as a submodule for custom symbol generation.

To initialize the submodule after cloning this repository:

bash
git submodule update --init --recursive

2. 3D Models

This project requires the 3D_Models_Vault repository for 3D models.

Setup for KiCAD 9:
  1. Clone the 3D models repository:

    bash
    git clone https://github.com/ionutms/3D_Models_Vault.git
  2. In KiCad 9, add an environment variable:

    • Go to Preferences -> Configure Paths...
    • Click Add to create a new environment variable.
    • Variable Name: KICAD9_3D_MODELS_VAULT
    • Variable Path: The full, absolute path to where you cloned the 3D_Models_Vault repository.

Symbol Generator Submodule

This project includes the KiCAD_Symbols_Generator as a submodule, which provides tools for generating KiCad symbols from CSV data files. For more information on using this tool, see the documentation within the submodule's directory.

Documentation

The docs folder contains:

  • Schematic PDF exports.
  • An interactive Bill of Materials (BOM).
  • Images and renderings of the PCB and enclosure.

Visuals

The following images showcase the PCB design from different perspectives:

PCB Views

Top View Top View of the PCB

Side View Side View of the PCB

Bottom View Bottom View of the PCB

Left View Left View of the PCB

Right View Right View of the PCB

Front View Front View of the PCB

Back View Back View of the PCB

Exploded Views

Side Exploded View 1 Side Exploded View 1

Side Exploded View 2 Side Exploded View 2

Side Exploded View 3 Side Exploded View 3

Enclosure Views

Side View with Enclosure Side View with Enclosure

Top View with Enclosure Top View with Enclosure

Bottom View with Enclosure Bottom View with Enclosure

Left View with Enclosure Left View with Enclosure

Right View with Enclosure Right View with Enclosure

Front View with Enclosure Front View with Enclosure

Back View with Enclosure Back View with Enclosure

License

This project is licensed under the MIT License - see the LICENSE file for details.

References

Parts

51
QtyValueFootprintReferences
14CLP-102-02-G-D-BEconnector_footprints:CLP-102-02-G-D-BEJ1, J5, J6, J11, J12, J14, J15, J20, J25, J26, J32, J33, J34, J37
9FW-02-03-G-D-085-155connector_footprints:FW-02-03-G-D-085-155J8, J9, J13, J16, J19, J21, J22, J28, J29
4TBP02R2-381-02BEconnector_footprints:TBP02R2-381-02BEJ23, J24, J30, J31
3Fiducialno_components_footprints:Fiducial_0.5mm_Mask1mmFID1, FID2, FID3
2FW-09-03-G-D-085-155connector_footprints:FW-09-03-G-D-085-155J35, J36
18SS1012-Zslide_switches_footprints:8SS1012-ZS1
1CLP-103-02-G-D-BEconnector_footprints:CLP-103-02-G-D-BEJ4
1CLP-114-02-G-D-BEconnector_footprints:CLP-114-02-G-D-BEJ17
1FW-05-03-G-D-085-155connector_footprints:FW-05-03-G-D-085-155J18
1FW-13-03-G-D-085-155connector_footprints:FW-13-03-G-D-085-155J7
1FW-14-03-G-D-085-155connector_footprints:FW-14-03-G-D-085-155J27
1FW-29-03-G-D-085-155connector_footprints:FW-29-03-G-D-085-155J10
1TBP02R2-381-03BEconnector_footprints:TBP02R2-381-03BEJ3
1TBP04R2-500-02BEconnector_footprints:TBP04R2-500-02BEJ2
1~modules_footprints:minimal_adin1110MOD4
1~modules_footprints:minimal_max17761MOD2
1~modules_footprints:minimal_ad74413rMOD6
1~modules_footprints:minimal_ltc9111MOD5
1~modules_footprints:minimal_lt8304MOD3
1~mechanical_parts:2959683M3
1~mechanical_parts:2959696M1
1~modules_footprints:minimal_max14906MOD7
1~mechanical_parts:2907525M2
1~modules_footprints:minimal_max32650MOD1

Similar boards

  • 2 layers74.1 × 112 mmKangaroo, the printed circuit board in 3D

    Kangaroo

    DPIclimate/kangaroo-node

    Enviro-Node About • Install • Firmware • License

    29 partsMIT
  • 2 layers90 × 77 mmJetson Extension Board, the printed circuit board in 3D

    Jetson Extension Board

    MARS-UVA/Jetson_Extension_Board

    KiCad design files for the Jetson Extension Board

    28 parts
  • 2 layers111.2 × 122.7 mmUniversalNode, the printed circuit board in 3D

    UniversalNode

    DPIclimate/ag-node

    Automatic multi-weigh-station for measuring the live-weight of sheep in remote locations.

    83 parts2MIT
  • 2 layers40.9 × 45.1 mmExcite, the printed circuit board in 3D

    Excite

    HarveyBates/Open-JIP

    An open-source Arduino based chlorophyll fluorometer for quantifying photosynthesis in photosynthetic organisms.

    22 parts47
  • 4 layers40 × 100 mmJPL MP3 circuit, the printed circuit board in 3D

    JPL MP3 circuit

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    51 parts915
  • 4 layers78 × 40 mmAdd on nfc, the printed circuit board in 3D

    Add on nfc

    dotstartech/wall-panel

    Wall mounted 4 inch touch display panel with CM4 inside

    51 parts445
  • 4 layers60.8 × 61.3 mmOS3M Mouse, the printed circuit board in 3D

    OS3M Mouse

    spoter368/os3m-hardware

    All the hardware needed to build your own OS3M Mouse!

    51 parts399
  • 4 layers78.4 × 37.6 mmStesc, the printed circuit board in 3D

    Stesc

    murexrobotics/electrical

    Highly integrated electronics design and printed circuit boards (PCBs) for the MATE ROV Competition. Attempt the impossible.

    51 parts192MIT

Questions

How big is the Modular Software Configurable IO PLC PCB?

It measures 105 × 107 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Modular Software Configurable IO PLC use?

51 parts, built around the CLP-102-02-G-D-BE, TBP02R2-381-02BE, 8SS1012-Z and CLP-103-02-G-D-BE. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Modular Software Configurable IO PLC KiCad files?

From the ionutms/Modular_Software_Configurable_IO_PLC repository on GitHub, at the commit this page was made from: the board is modular_software_configurable_io_plc/modular_software_configurable_io_plc.kicad_pcb and its schematic modular_software_configurable_io_plc/MCU.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Modular Software Configurable IO PLC design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).