

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
7CLP-102-02-G-D-BE
SMD,P=1.27mmFemale HeadersSamtecTBP02R2-381-02BE
插件,P=3.81mm-40℃~+105℃ 1 2 3.81mm Blue Through Hole 插件,P=3.81mm Pluggable System Terminal Block ROHSCUIPluggable System Terminal Block8SS1012-Z
插件-30℃~+85℃ 100,000 cycles 125V 13.5mm 13mm 6A Black PC Pin Rectangular Columnar SPDT Through Hole 插件 Slide Switches ROHSNidecSlide SwitchesCLP-103-02-G-D-BE
SMD,P=1.27mmFemale HeadersSamtecCLP-114-02-G-D-BE
SMD,P=1.27mm-55℃~+125℃ 1.27mm 1.27mm 2 2.26mm 28P 3.3A Gold Surface Mount,Vertical SMD,P=1.27mm Female Headers ROHSSamtecFemale HeadersTBP02R2-381-03BE
插件-40℃~+105℃ 1 3 3.81mm 3P Blue Through Hole 插件 Pluggable System Terminal Block ROHSCUIPluggable System Terminal BlockTBP04R2-500-02BE
插件,P=5mm-40℃~+105℃ 1 15A 1x2P 2 2P 300V 5mm Blue Board Side/Socket - Closed Through Hole Plugin,P=5mm Pluggable System Terminal Block ROHSCUIPluggable System Terminal Block
README
README.mdModular_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
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.pngProject 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
-
Clone the repository (including submodules):
bash git clone --recursive https://github.com/ionutms/Modular_Software_Configurable_IO_PLC.gitIf you have already cloned the repository without submodules, initialize them with:
bash git submodule init git submodule update -
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_profile.
-
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:
git submodule update --init --recursive2. 3D Models
This project requires the 3D_Models_Vault repository for 3D models.
Setup for KiCAD 9:
-
Clone the 3D models repository:
bash git clone https://github.com/ionutms/3D_Models_Vault.git -
In KiCad 9, add an environment variable:
- Go to
Preferences->Configure Paths... - Click
Addto create a new environment variable. - Variable Name:
KICAD9_3D_MODELS_VAULT - Variable Path: The full, absolute path to where you cloned the
3D_Models_Vaultrepository.
- Go to
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 of the PCB
Side View of the PCB
Bottom View of the PCB
Left View of the PCB
Right View of the PCB
Front View of the PCB
Back View of the PCB
Exploded Views
Side Exploded View 1
Side Exploded View 2
Side Exploded View 3
Enclosure Views
Side View with Enclosure
Top View with Enclosure
Bottom View with Enclosure
Left View with Enclosure
Right View with Enclosure
Front 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | CLP-102-02-G-D-BE | connector_footprints:CLP-102-02-G-D-BE | J1, J5, J6, J11, J12, J14, J15, J20, J25, J26, J32, J33, J34, J37 |
| 9 | FW-02-03-G-D-085-155 | connector_footprints:FW-02-03-G-D-085-155 | J8, J9, J13, J16, J19, J21, J22, J28, J29 |
| 4 | TBP02R2-381-02BE | connector_footprints:TBP02R2-381-02BE | J23, J24, J30, J31 |
| 3 | Fiducial | no_components_footprints:Fiducial_0.5mm_Mask1mm | FID1, FID2, FID3 |
| 2 | FW-09-03-G-D-085-155 | connector_footprints:FW-09-03-G-D-085-155 | J35, J36 |
| 1 | 8SS1012-Z | slide_switches_footprints:8SS1012-Z | S1 |
| 1 | CLP-103-02-G-D-BE | connector_footprints:CLP-103-02-G-D-BE | J4 |
| 1 | CLP-114-02-G-D-BE | connector_footprints:CLP-114-02-G-D-BE | J17 |
| 1 | FW-05-03-G-D-085-155 | connector_footprints:FW-05-03-G-D-085-155 | J18 |
| 1 | FW-13-03-G-D-085-155 | connector_footprints:FW-13-03-G-D-085-155 | J7 |
| 1 | FW-14-03-G-D-085-155 | connector_footprints:FW-14-03-G-D-085-155 | J27 |
| 1 | FW-29-03-G-D-085-155 | connector_footprints:FW-29-03-G-D-085-155 | J10 |
| 1 | TBP02R2-381-03BE | connector_footprints:TBP02R2-381-03BE | J3 |
| 1 | TBP04R2-500-02BE | connector_footprints:TBP04R2-500-02BE | J2 |
| 1 | ~ | modules_footprints:minimal_adin1110 | MOD4 |
| 1 | ~ | modules_footprints:minimal_max17761 | MOD2 |
| 1 | ~ | modules_footprints:minimal_ad74413r | MOD6 |
| 1 | ~ | modules_footprints:minimal_ltc9111 | MOD5 |
| 1 | ~ | modules_footprints:minimal_lt8304 | MOD3 |
| 1 | ~ | mechanical_parts:2959683 | M3 |
| 1 | ~ | mechanical_parts:2959696 | M1 |
| 1 | ~ | modules_footprints:minimal_max14906 | MOD7 |
| 1 | ~ | mechanical_parts:2907525 | M2 |
| 1 | ~ | modules_footprints:minimal_max32650 | MOD1 |
Similar boards
- 2 layers74.1 × 112 mm

- 2 layers90 × 77 mm

Jetson Extension Board
MARS-UVA/Jetson_Extension_Board
KiCad design files for the Jetson Extension Board
28 parts - 2 layers111.2 × 122.7 mm

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 mm

Excite
HarveyBates/Open-JIP
An open-source Arduino based chlorophyll fluorometer for quantifying photosynthesis in photosynthetic organisms.
22 parts47 - 4 layers40 × 100 mm

JPL MP3 circuit
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
51 parts915 - 4 layers78 × 40 mm

- 4 layers60.8 × 61.3 mm

- 4 layers78.4 × 37.6 mm

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).