ESP32 PLC 21: ESP32 PLC with 21 I/O, Ethernet, Wi-Fi and RS-485
The ESP32 PLC 21 is an industrial controller from Industrial Shields built on the dual-core ESP32. It has 13 inputs (6 analog 0-10 V) and 8 outputs (3 analog/PWM), Ethernet, Wi-Fi, Bluetooth LE, RS-485 and RS-232, plus a real-time clock, and mounts on a DIN rail. It is programmed in C++ with the Arduino IDE and suits machine monitoring, data acquisition and control panels that mix analog sensors with digital signals.
You are viewing the CORE version. Ready-to-ship configuration, no expansion board.
See FLEX Configure RAM, options and expansionDocuments
Datasheets
Certificates
Brochures
Technical specifications
| Processor | ESP32 dual core, up to 240 MHz, 16 MB flash, 520 KB SRAM |
|---|---|
| Inputs | 13: 6 analog/digital (0-10 V, 11-bit) and 7 digital optoisolated, 5 to 24 Vdc, 2 with interrupt |
| Outputs | 8: 3 analog/digital/PWM (0-10 V, 12-bit), 5 digital optoisolated, 5 to 24 Vdc |
| Ethernet | 1 x 10/100 Mbit, RJ45 |
| Wireless | Wi-Fi 2.4 GHz, Bluetooth LE |
| Serial and buses | RS-485 half duplex with 120 Ω termination, RS-232 and TTL serial selectable by DIP switch, I2C, SPI |
| Real-time clock | DS3231 with backup battery (CR1216 or CR1220) |
| Programming | Arduino IDE with the Industrial Shields ESP32 boards package, USB or Ethernet |
| Power supply | 12 to 24 Vdc with polarity protection |
| Mounting and protection | DIN rail TS35, IP20, inside a cabinet |
| Expansion | One optional communication board: 4G LTE-M/NB-IoT (u-blox SARA-R412M), LoRa (EU, US or Asia band) or CAN (MCP2515). I2C expansion up to 127 modules |
Projects built with the ESP32 PLC 21
Field-tested examples with code from the PLC Solution Library.
- Modbus RTU master over RS-485See the example
- Offline-first MQTT data logging with SD cardSee the example
- NTP-synced hardware RTC for timestampsSee the example
- HTTP client to read machine XML dataSee the example
Before you choose the ESP32 PLC 21
How do I program the ESP32 PLC 21?
With the Arduino IDE (1.8.0 or later). Add the Industrial Shields boards URL in Preferences, install the "industrialshields-esp32" package and select the ESP32 PLC 21. Upload through USB, or remotely over Ethernet.
Does it have relay outputs?
No. Its outputs are optoisolated digital and analog/PWM outputs. If you need relays, look at the ESP32 PLC models with relay outputs, such as the 19R, 38R or 57R.
Can the analog inputs read 4-20 mA sensors?
The analog inputs measure 0-10 V with 11-bit resolution. To read a 4-20 mA loop, add a precision shunt resistor (500 Ω turns 20 mA into 10 V) and scale the reading in your program.
Does it support LoRa, 4G or CAN?
Not in the CORE version, which ships without an expansion board. The FLEX version takes one board: LoRa, 4G LTE-M/NB-IoT or CAN.
Can I expand it with more I/O?
Yes. The ESP32 PLC family connects up to 127 expansion modules over I2C, and you can add remote I/O over Modbus RTU with moduleX.