

LibrePLC32
The goal of the project is to create a compact, hackable, and well-documented PLC platform for industrial automation experiments, prototyping, education, and open hardware development.
- Size
- 154.5 × 112.9 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 295
- Nets
- 256
- Pads
- 1,004
- Tracks, vias
- 2,076, 664
- Pours
- 26
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 9 Apr 2026
- Updated
- 19 Aug 2026
Overview
LibrePLC32 is an open-source printed circuit board by AndreiVladescu, from the AndreiVladescu/LibrePLC32 repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 154.5 × 112.9 mm with 295 parts on 256 nets, routed with 2,076 tracks and 664 vias.
It is built around the B0505XT-1WR3, ESP32-S3-MINI-1U-N8 and ISO1042BDWVR, with the ADS1115IDGSR, AHT20 and CP2102N-A02-GQFN28R among its other parts. Its parts include 121 resistors, 63 capacitors, 18 ICs, 16 connectors and 15 diodes. It belongs with the ESP32 boards of this library.
Main components
12B0505XT-1WR3
SMD,13.2x11.4mm-40℃~+105℃ 1 1.5kV 11.4mm 13.2mm 1W 200mA 2400uF 270kHz 30mVp-p 4.5V~5.5V 5V 5mA 7.25mm 86% Short Circuit Protection SMD,13.2x11.4mm Isolated Power Modules ROHSEVISUNIsolated Power ModulesESP32-S3-MINI-1U-N8
VFQFN-56-EP-40℃~+105℃ -98.4dBm 1.8V~3.6V、3V~3.6V 2.4GHz 21dBm 340mA 88mA Bluetooth5.0 ESP32-S3 UART、SDIO、SPI、I2C、I2S、JTAG、USB VFQFN-56-EP WiFi Modules ROHSEspressif SystemsWiFi ModulesISO1042BDWVR
SOIC-8-300mil-40℃~+125℃ 1.71V~5.5V、4.5V~5.5V 5Mbps 73.4mA CAN FD Transceiver SOIC-8-300mil CAN Transceivers ROHSTexas InstrumentsCAN TransceiversADS1115IDGSR
VSSOP-10-40℃~+125℃ 16 1LSB 2 2.048V 2V~5.5V 500nA 860Hz 8Hz、16Hz、32Hz、64Hz、128Hz、250Hz、475Hz、860Hz Built-in Built-in I2C Sigma-Delta Support Yes VSSOP-10 Analog to Digital Converters (ADC) ROHSTexas InstrumentsAnalog To Digital Converters (ADC)AHT20
SMD-40℃~+120℃ 0%RH~100%RH 2.2V~5.5V 20bit 570uA I2C ±0.3℃ ±2%RH SMD Temperature and Humidity Sensor ROHSAosong ElecTemperature And Humidity SensorCP2102N-A02-GQFN28R
QFN-28-EP(5x5)-40℃~+85℃@(Ta) 1.3uA 3V~3.6V 9.5mA USB 2.0 USB to UART QFN-28-EP(5x5) USB Converters ROHSSilicon LabsUSB ConvertersLTV-814S-TA1-A
SMD-4P-30℃~+100℃ 1 1.2V 100mV@20mA,1mA 20% 200mW 300% 35V 3us 4us 50mA 50mA 5kV AC,DC Phototransistor SMD-4P Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output OptoisolatorsTPS272C45DRHFR
VQFN-24(4x5)-40℃~+125℃ 2 45mΩ 4A 6V~36V Active High High Side Switch Short-Circuit Protection(SCP)、Overcurrent Protection(OCP)、Over Temperature Protection VQFN-24(4x5) Power Distribution Switches ROHSTexas InstrumentsPower Distribution SwitchesBS-0601-SK-4W
SMDSMD Button And Strip Battery Connector ROHSXUNPUButton And Strip Battery ConnectorBZT52C3V3S
SOD-323Zener DiodeshongjiachengRV-3028-C7-32.768KHZ-1PPM-TA-QC
SMD3215-8P-40℃~+85℃ 1.1V~5.5V 45nA 45nA Backup power management and battery charging、InsideSRAM/NVRAM、Timestamp function、Programmable clock output、Alarm function、Power-off retention of registers、Locking and tamper-proof Built-in I2C Yes SMD3215-8P Real Time Clocks ROHSMicro CrystalReal Time ClocksTCA9535PWR(UMW)
TSSOP-24I/O ExpandersUMW
README
README.md
LibrePLC32
LibrePLC32 is an open-source, KiCad-based Programmable Logic Controller (PLC) hardware project.
The goal of the project is to create a compact, hackable, and well-documented PLC platform for industrial automation experiments, prototyping, education, and open hardware development.
⚠️ Work in progress: LibrePLC32 is currently under development.
Project goals
LibrePLC32 aims to provide:
- An open hardware PLC design
- KiCad source files for schematic and PCB development
- Field-oriented interfaces such as digital I/O, isolated CAN, isolated RS-485, and Ethernet
- A design that can be studied, modified, repaired, and improved by the community
- Documentation for design decisions and component calculations
Repository structure
.
├── img/ # Project logo and graphics
├── plc/
│ ├── docs/ # Design notes and calculations
│ └── kicad/ # KiCad project, schematics, PCB, and libraries
├── LICENSE
└── README.mdFeatures
LibrePLC32 is designed to provide a practical set of PLC-oriented hardware features:
- 8–36 V DC input voltage range
- 4 isolated digital inputs for field signals
- 4 transistor digital outputs for driving external loads
- 2 relay output terminals for switching isolated loads
- Isolated RS-485 interface for industrial serial communication
- Isolated CAN bus interface for device-to-device communication
- Ethernet interface for network connectivity
Parts
295| Qty | Value | Footprint | References |
|---|---|---|---|
| 35 | 10k | Resistor_SMD:R_0603_1608Metric | R10, R12, R15, R18, R21, R23, R32, R33, R34, R35, R45, R100, R101, R102, R103, R121 +19 |
| 23 | 100n | Capacitor_SMD:C_0603_1608Metric | C5, C11, C12, C13, C14, C15, C18, C26, C28, C30, C32, C37, C39, C42, C44, C49 +7 |
| 16 | 100k | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R4, R5, R6, R13, R16, R19, R22, R42, R43, R69, R79, R85, R88 |
| 14 | 5.1k | Resistor_SMD:R_0603_1608Metric | R11, R14, R17, R20, R44, R46, R47, R55, R61, R64, R65, R66, R87, R122 |
| 13 | 6.2k | Resistor_SMD:R_0603_1608Metric | R24, R25, R26, R27, R28, R29, R30, R31, R77, R116, R118, R119, R120 |
| 12 | 1k | Resistor_SMD:R_0603_1608Metric | R36, R37, R38, R39, R40, R41, R59, R75, R76, R81, R93, R123 |
| 12 | DB128V-5.08-2P-GN-S | LibrePLC32:CONN-TH_2P-P5.08_DIBO_DB128V-5.08 | CN1, CN2, CN3, CN4, CN5, CN6, CN7, CN8, CN9, CN10, CN13, CN14 |
| 9 | TestPoint | TestPoint:TestPoint_Pad_D4.0mm | TP25, TP26, TP27, TP28, TP29, TP30, TP31, TP32, TP33 |
| 8 | MountingHole_Pad | MountingHole:MountingHole_4.3mm_M4_DIN965_Pad_TopBottom | H1, H2, H3, H4, H5, H6, H7, H8 |
| 8 | TestPoint | TestPoint:TestPoint_Pad_D3.0mm | TP9, TP10, TP17, TP18, TP21, TP22, TP23, TP24 |
| 6 | 2.2u | Capacitor_SMD:C_0603_1608Metric | C3, C4, C21, C24, C25, C27 |
| 6 | 470 | Resistor_SMD:R_0603_1608Metric | R49, R50, R52, R89, R113, R114 |
| 6 | TestPoint | TestPoint:TestPoint_Pad_D2.0mm | TP11, TP12, TP13, TP14, TP15, TP16 |
| 5 | 1n | Capacitor_SMD:C_0603_1608Metric | C7, C8, C9, C10, C64 |
| 5 | LED | LED_SMD:LED_0805_2012Metric | D3, D4, D5, D11, D14 |
| 4 | 10u | Capacitor_SMD:C_0603_1608Metric | C16, C38, C61, C62 |
| 4 | 33 | Resistor_SMD:R_0603_1608Metric | R104, R105, R106, R107 |
| 4 | 49 | Resistor_SMD:R_0603_1608Metric | R108, R109, R110, R111 |
| 4 | LTV-814S-TA1-A | LibrePLC32:OPTO-SMD-4_L4.6-W6.5-P2.54-LS10.3-BL | U5, U6, U7, U8 |
| 3 | 01550900M | LibrePLC32:FUSE-SMD_L9.8-W5.0_01550900M | FH1, FH2, FH3 |
| 3 | 10 | Resistor_SMD:R_0603_1608Metric | R95, R96, R112 |
| 3 | 4.7u | Capacitor_SMD:C_0603_1608Metric | C47, C60, C63 |
| 3 | 47u | Capacitor_SMD:C_0603_1608Metric | C33, C35, C36 |
| 3 | 620 | Resistor_SMD:R_0603_1608Metric | R7, R8, R117 |
| 3 | TSD003B08026A03 | LibrePLC32:SW-SMD_4P-L6.0-W6.0-P4.50-LS8.6 | SW1, SW2, SW3 |
| 2 | 0 | Resistor_SMD:R_0603_1608Metric | R91, R92 |
| 2 | 100p | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 10n | Capacitor_SMD:C_0603_1608Metric | C48, C54 |
| 2 | 120 | Resistor_SMD:R_0603_1608Metric | R90, R94 |
| 2 | 1N4148WS | LibrePLC32:SOD-323_L1.8-W1.3-LS2.7-RD | D1, D2 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C17, C43 |
| 2 | 2.2u | Capacitor_SMD:C_1206_3216Metric | C19, C23 |
| 2 | 220u | Capacitor_SMD:C_Elec_10x10.2 | C20, C22 |
| 2 | 22u | Capacitor_SMD:C_0603_1608Metric | C40, C41 |
| 2 | 27p | Capacitor_SMD:C_0603_1608Metric | C45, C46 |
| 2 | 6.8n | Capacitor_SMD:C_0603_1608Metric | C51, C55 |
| 2 | AO3400A | LibrePLC32:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR | Q1, Q2 |
| 2 | B0505XT-1WR3 | LibrePLC32:PWRM-SMD_BXXXXXT-1WR3 | U22, U23 |
| 2 | DB2ERC-5.08-4P | LibrePLC32:CONN-TH_4P-P5.08_DB2ERC-5.08-4P | CN11, CN12 |
| 2 | GT-USB-7055BB | LibrePLC32:USB-C-TH_GT-USB-7055BB | USB1, USB2 |
| 2 | HF3FF/005-1ZTF | LibrePLC32:RELAY-TH_HF3FF-018-1ZT | RLY1, RLY2 |
| 2 | L8050QLT1G | LibrePLC32:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR | Q3, Q4 |
| 2 | MSK12C02 | LibrePLC32:SW-TH_MSK12C02 | SW4, SW5 |
| 2 | SS34 | LibrePLC32:SMA_L4.3-W2.7-LS5.1-RD | D12, D13 |
| 2 | TPS272C45DRHFR | LibrePLC32:VQFN-24_L5.0-W4.0-P0.50-BL-EP-1 | U2, U3 |
| 2 | TS3314PLX | LibrePLC32:SOT-23-5_L2.9-W1.6-P0.95-LS2.8-BR | D19, D20 |
| 1 | 15k | Resistor_SMD:R_0603_1608Metric | R73 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R99 |
| 1 | 22n | Capacitor_SMD:C_0603_1608Metric | C58 |
| 1 | 243k | Resistor_SMD:R_0603_1608Metric | R74 |
| 1 | 383k | Resistor_SMD:R_0603_1608Metric | R71 |
| 1 | 3k | Resistor_SMD:R_2512_6332Metric | R115 |
| 1 | 4.7n | Capacitor_SMD:C_0603_1608Metric | C31 |
| 1 | 47p | Capacitor_SMD:C_0603_1608Metric | C34 |
| 1 | 52.5k | Resistor_SMD:R_0603_1608Metric | R82 |
| 1 | 56k | Resistor_SMD:R_0603_1608Metric | R72 |
| 1 | 7.2u | LibrePLC32:IND-SMD_3P-L13.5-W13.0-P6.9 | L2 |
| 1 | ADS1115IDGSR | LibrePLC32:MSOP-10_L3.0-W3.0-P0.50-LS5.0-BL | U4 |
| 1 | AHT20 | LibrePLC32:SENSOR-SMD_L3.0-W3.0-P1.00-BR | U12 |
| 1 | B560C | LibrePLC32:SMC_L6.9-W5.9-LS7.9-RD | D10 |
| 1 | BLM21PG300SN1D | LibrePLC32:L0805 | L3 |
| 1 | BS-0601-SK-4W | LibrePLC32:BAT-SMD_BS-06-B4AA012 | U11 |
| 1 | BSMD1206C-1200T | LibrePLC32:F1206 | F2 |
| 1 | BSS138LT1G | LibrePLC32:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR | Q5 |
| 1 | BZT52C3V3S | LibrePLC32:SOD-323_L1.7-W1.3-LS2.5-RD-1 | U21 |
| 1 | CDSOT23-SM712 | LibrePLC32:SOT-23_L2.9-W1.3-P1.90-LS2.4-BR | D18 |
| 1 | CP2102N-A02-GQFN28R | LibrePLC32:QFN-28_L5.0-W5.0-P0.50-TL-EP3.3 | U13 |
| 1 | CSD19537Q3 | LibrePLC32:DFN-8_L3.3-W3.3-P0.65-BL-3 | Q6 |
| 1 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3 |
| 1 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | ESP32-S3-MINI-1U | LibrePLC32:BULETM-SMD_ESPRESSIF_ESP32-S3-MINI-1U-N8 | U10 |
| 1 | HR913129A | LibrePLC32:RJ45-TH_HR913129A | RJ1 |
| 1 | ISO1042BDWVR | LibrePLC32:SOIC-8_L5.9-W7.5-P1.27-LS11.5-BL | U14 |
| 1 | ISO1500DBQR | LibrePLC32:SSOP-16_L4.9-W3.9-P0.64-LS6.0-BL | U18 |
| 1 | LOGO | LOGO | G*** |
| 1 | RV-3028-C7 | LibrePLC32:OSC-SMD_8P-L3.2-W1.5-P0.90-BL | U9 |
| 1 | SM24CANA-02HTG | LibrePLC32:SOT-23_L2.9-W1.3-P1.90-LS2.4-BR | D17 |
| 1 | SMCJ36CA | LibrePLC32:SMC_L6.9-W5.9-LS7.9-BI | D6 |
| 1 | TCA9535PWR | LibrePLC32:TSSOP-24_L7.8-W4.4-P0.65-LS6.4-BL | U1 |
| 1 | TF PUSH | LibrePLC32:TF-SMD_TF-PUSH | Card1 |
The 288 most common of 295 parts.
Questions
How big is the LibrePLC32 PCB?
It measures 154.5 × 112.9 mm and has 4 copper layers, 1.6 mm thick.
What parts does the LibrePLC32 use?
295 parts, built around the B0505XT-1WR3, ESP32-S3-MINI-1U-N8, ISO1042BDWVR and ADS1115IDGSR. 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 LibrePLC32 KiCad files?
From the AndreiVladescu/LibrePLC32 repository on GitHub, at the commit this page was made from: the board is plc/kicad/LibrePLC32.kicad_pcb and its schematic plc/kicad/LibrePLC32.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the LibrePLC32 design in my own project?
Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 6 layers111.8 × 61 mm

- 4 layers50.3 × 56.1 mm

- 4 layers90 × 90 mm

Gateway Board
AdvikChitre/MSL_Imperial_2023
Repository for Imperial College London Robocup MSL team 2023
128 parts2 - 4 layers50 × 50 mm

Herc hotel draft
rbrtwtrs/A2D-Test
Rev A ESP32-P4 Nano bench simulator/operator1.2. Companion: https://github.com/rovshop/herc-hotel-p4-firmware
123 parts - 4 layers110 × 90 mm

PLC V1
paulmartinezcuenta/UltiCore-V1-PLC
Custom industrial-grade PLC and logic controller engineered around the ESP32 platform.
202 parts1MIT - 4 layers90 × 160 mm

- 4 layers53.3 × 73.7 mm

Tag breakout l432-u375-lipo v1
tag-designs/hardware
Hardware designs for tags and bases
55 parts2CERN-OHL-P-2.0 - 4 layers38 × 64 mm

Ak display 38x64 SPLIT POWER CANDIDATE
LeeSpo/portable-display-epass-EVT1-minboot-r1
当前自研硬件为 38 × 64 mm、四层 split-power 工程候选,尚未放行生产。
147 parts