ESP32-S3 PLC Architecture Discussion
Table
| Decision area | Final decision | Implementation notes / constraints |
|---|---|---|
| MCU | ESP32-S3-WROOM-1-N16R8 | Use module. Verify strapping pins, USB pins, flash/PSRAM constraints, boot behavior, and GPIO allocation before detailed wiring. |
| Industrial input | 24 VDC nominal, 18 V to 36 V operating range | External input through 2-pin pluggable terminal block. |
| EMC / surge design target | Industrial prototype, designed with IEC targets in mind | ESD IEC 61000-4-2 ±8 kV contact / ±15 kV air on external connectors; EFT IEC 61000-4-4 ±2 kV on 24 V power and field I/O; surge IEC 61000-4-5 minimum ±1 kV line-to-line on 24 V input and RS485/field wiring where practical. Use connector-side TVS/ESD, filtering, and surge-rated protection. |
| 24 V protection chain | Connector → fuse/PTC → reverse-polarity MOSFET → TVS → EMI filter → bulk capacitance → +24V_PROT | TVS standoff and clamp voltage must be selected against 36 V continuous operation, surge target, and downstream device absolute maximum ratings. A 36 V standoff TVS is the current default candidate unless detailed surge calculations show otherwise. |
| Non-isolated rails | +24V_PROT → +5V buck → +3V3 logic regulator | +3V3 powers ESP32-S3, W5500, logic-side isolators, and low-power logic. Add test points for +24V_PROT, +5V, +3V3, and GND. |
| Isolated supply | Use ISO_5V, not ISO_3V3 | Isolated DC-DC output is ISO_5V / ISO_GND for isolated RS485 field side. Do not connect ISO_GND directly to normal GND. Do not connect isolated output to the normal 3.3 V regulator. |
| Ethernet | W5500 SPI Ethernet only | W5500 connects to ESP32-S3 over SCLK, MOSI, MISO, CS, INT, RESET. Do not use LAN8720, KSZ8091, DP83848, RMII PHY, MII PHY, or native-MAC Ethernet PHY. Modbus TCP is firmware/application layer. |
| RS485 | Isolated industrial RS485 for Modbus RTU | ESP32 UART → digital isolator → isolated RS485 transceiver powered by ISO_5V/ISO_GND. Add RS485 TVS/ESD near terminal, termination option, biasing option, and test points for UART TX/RX and RS485 A/B. |
| Digital inputs | 8x 24 V PNP/sourcing sensor-compatible opto-isolated inputs | Each DI turns ON when +24 V is applied to DI input with respect to field 0 V/common. Each channel requires current limiting, reverse protection, RC filtering, opto-isolation, and LED indication. Add connector-side protection. |
| Digital outputs | 8x 24 V protected high-side outputs, minimum 0.5 A/channel | Outputs source +24 V to load; load return goes to 0 V. Use smart high-side driver ICs; prefer two quad-channel drivers if suitable. Include short-circuit protection, thermal shutdown, inductive load/transient protection, LED indication, and fault/diagnostic output if supported by selected driver. |
| USB-C debug power | USB-C primarily for programming/debug; may power only ESP32-S3 logic section when 24 V is absent | Use proper power-path / ideal-diode protection. USB must not back-feed +24V_PROT, field I/O, isolated supply, RS485 field side, or digital output drivers. With USB only, field I/O and 24 V outputs remain inactive. |
| Connectors | Pluggable terminal blocks for power, DI, DO, and RS485 | Ethernet uses RJ45 MagJack or RJ45 + magnetics. USB-C for programming/debug. |
| Test points | Add required rail and signal test points | +24V_PROT, +5V, +3V3, GND, ISO_5V, ISO_GND, UART TX/RX, RS485 A/B, W5500 SCLK/MOSI/MISO/CS/INT/RESET. |
| Passive size | 0603 minimum normal passives | Use 0805/1206 where voltage, surge, power, or current requires. |
+24V_PROT, +5V, +3V3, isolated ISO_5V, and ISO_GND.+24V_PROT, +5V, +3V3, GND, ISO_5V, ISO_GND, UART TX/RX, RS485 A/B, W5500 SPI signals.ISO_GND directly to normal GND.+24V_PROT, field I/O, isolated supply, RS485 field side, or digital output drivers.Diagram
+24V_PROT.+24V_PROT for high-side digital output supply and as the upstream source for all converters.+24V_PROT → synchronous buck → +5V.+5V → regulator/LDO or buck/LDO → +3V3 for ESP32-S3, W5500, logic-side isolators, and low-power digital logic.+24V_PROT, +5V, +3V3, and GND.ISO_5V from +24V_PROT using an isolated DC-DC converter.ISO_5V return is ISO_GND.ISO_GND must remain isolated from normal GND; no direct copper short.ISO_5V shall power the isolated RS485 field side.+24V_PROT, field I/O, isolated supply, RS485 field side, or digital output drivers.ISO_5V / ISO_GND.GND to ISO_GND short.+24V_PROT is the output power source.ISO_GND/shield depending on isolation/EMC decision.+24V_PROT, +5V, +3V3, GND.ISO_5V, ISO_GND.Power_Input_ProtectionPower_Conversion_Logic_RailsIsolated_Field_PowerESP32S3_Core_USB_DebugEthernet_W5500RS485_Isolated_Modbus_RTUDigital_Inputs_8chDigital_Outputs_8chConnectors_Testpoints_EMCISO_5V load and isolation voltage.GND-to-ISO_GND short.ISO_5V / ISO_GND isolated RS485 field supply and no direct GND/ISO_GND connection.Scope of this stage
Finalized architecture decision table
User-declared requirements
Architecture overview
Power tree and grounding
Input protection and protected 24 V rail
Non-isolated logic rails
Isolated field rail
USB-C logic-only debug power path
ESP32-S3 core block
Ethernet block — W5500 only
Isolated RS485 block — Modbus RTU
Digital inputs — 8 channels
Digital outputs — 8 channels
USB-C programming/debug block
Connectors and test points
Recommended schematic sheets / sub-blocks
Remaining detailed design decisions before component placement
Human review checklist for this stage