Close
0%
0%

ESP32-microPLC

The uPLC (micro Programmable Logic Controller) is a compact (22x32mm) IO controller powered by the ESP32, designed to automate dumb devices

Similar projects worth following
The uPLC (Micro Programmable Logic Controller) is a range of compact (22x32mm) I/O controllers powered by the ESP32, designed to automate various tasks around you. So far, three versions have been developed. All versions are generally 24V-tolerant for digital I/O, except for the analog io, It allso features a wide-range 3.8-24V buck regulator for power input.

The primary purpose of the uPLC is to "smartify" devices by integrating them with ESPHome. But it can also function as a direct, point-to-point PLC, using ESP-NOW for wireless communication, replacing traditional wired connections at a cost of latency and reliability.

All boards are designed in KiCad and are fully open source with design files and gerbers avaliable at github under a MIT licence, so do whatever you want with it.

https://github.com/fredriknk/uPLC-Stack
https://github.com/fredriknk/uPLC-analog
https://github.com/fredriknk/uPLC-digital
https://github.com/fredriknk/uPLC-relay

First off, Thanks to PCBWay for sponsorship, and  u/PricelessToolkit for inspiration for this project. 

Technical Details about the modules 

ParameterDescription
Input voltage3.8-24v
Communication2.4ghz WIFI, Uart TTL
Baudrate115200
PCB size22x31.4mm
PCB info1.6mm FR4, HASL lead free, 4 layer


IO for the uPLC Analog:

The uPLC-analog version is an ESP-32-C3 wifi, bluetooth module for communication and MCU, it has a 3.8-24V buck regulator, 3v LDO for the analog supply, it has four single ended / two differential 0-3V analog inputs through a ADS1115, one 12 bit 3.6msps analog dac through a MCP4725A0T , and one protected 3.3v GPIO for onwire communication (Eg for DS18b20 sensors). The analog uPLC allso has input voltage monitoring for battery applications.

LabelGPIODescription
3V33V33.3v output for sensor connection
ONE-WGPIO18Protected gpio for onewire comm
GNDGNDGND port for sensor connection
GNDGNDGND port for sensor connection
3V03V03.0v rail for analog input connections
AOUT0DACi2c DAC 0-3v3 analog Output
AIN0ADC1i2c ADC 0-3v0 analog input
AIN1ADC2i2c ADC 0-3v0 analog input
AIN2ADC3i2c ADC 0-3v0 analog input
AIN3ADC4i2c ADC 0-3v0 analog input
GNDGNDGround
4-24VBuck reg3.8-24v polarity protected power input


uPLC-Digital:

The uPLC-digital version is an ESP-32-C3 wifi, bluetooth module for communication and MCU, it has a 3.8-24V buck regulator, has three 2.5-25V inputs, three 2.5-25v 100ma high speed open drain outputs through a TBD062003 DMOS transistor array ic. And one protected 3.3v GPIO for onwire communication (Eg for DS18b20 sensors). The digital version allso has input voltage monitoring for battery applications.

LabelGPIODescription
3V33V33.3v output for sensor connection
ONE-WGPIO18Protected gpio for onewire comm
GNDGNDGND port for sensor connection
GNDGNDGND port for sensor connection
HO-06GPIO1025v 100ma open drain output
HO-05GPIO1925v 100ma open drain output
HO-04GPIO325v 100ma open drain output
HI-03GPIO72.5-25v input (with pulldown)
HI-02GPIO62.5-25v input (with pulldown)
HI-01GPIO52.5-25v input (with pulldown)
GNDGNDGround
4-24VBuck reg3.8-24v polarity protected input

uPLC-Relay:

The uPLC-relay version has two small signal relay module utilizing an ESP-32-C3 wifi, bluetooth module for communication and MCU, it has a 0-24V buck regulator, has two 2.5-25V inputs, two 25v, 100/50ma high speed open drain output through a TBD062003 DMOS transistor array ic. And two relay outputs are capable of driving around 25V 500ma.

LabelGPIODescription
R2NOGPIO5Relay 1 Normally Open
R2COGPIO5Relay 1 COM
R2NCGPIO5Relay 1 Normally Closed
R1NOGPIO6Relay 1 Normally Open
R1COGPIO6Relay 1 COM
R1NCGPIO6Relay 1 Normally Closed
HI2GPIO192.5-25v input
HI1GPIO182.5-25v input
HO2GPIO325v 50ma open drain output
HO1GPIO725v 100ma open drain output
4-24V3V34-24v
GNDGNDGround

uPLC-Relay.zip

uPLC-Rrelay repo copy

x-zip-compressed - 17.86 MB - 04/09/2025 at 13:55

Download

uPLC-Digital.zip

uPLC-Digital repo copy

x-zip-compressed - 20.64 MB - 04/09/2025 at 13:54

Download

uPLC-Analog.zip

uPLC-Analog repo copy

x-zip-compressed - 20.96 MB - 04/09/2025 at 13:53

Download

  • First Prototypes Received from PCBway

    Fredrik B04/09/2025 at 13:39 0 comments

    PCBWay Sponsorship

    Thanks so much to PCBWay for sponsoring my first assembly run for this project, they deliver awesome quality as allways with 6 perfectly soldered prototypes delivered fully assembled at my door in less than 2 weeks from ordering. Look at this beautiful trio of boards ready for automating every dumb device in my house thanks to PCBWay, Thanks for sponsoring the open source community! ESP-Home code examples are comming soon now that i have the prototypes.

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates