ESP32-S3 PLC Architecture Discussion

Completed the final schematic-gate pass and updated Schematic Review Before Layout. D29 is verified, L2 is now a confirmed shielded Sumida inductor, and U8/U9 FAULT is routed to ESP32 GPIO15 with a 10kΩ pull-up; ERC remains clean.
Open items:
  • Layout is still not approved: HR911105A symbol-footprint mapping remains Must Fix because the Flux symbol/footprint readout is ambiguous versus the datasheet.
Suggested next steps:
  1. Replace HR911105A with a clearly numbered MagJack part/footprint, or manually verify its symbol-footprint mapping.
  2. After that, update the approval table to “Pass” and proceed to PCB placement.
HOW TO DOWNLOAD SCHEMATIC AS PDF OR AS A ALTIUM PROJECT?
In Flux, use the Export options from the project UI:
  1. Open your project.
  2. Click Export / download from the top toolbar or project menu.
  3. Choose:
    • PDF for schematic/documentation output.
    • Altium if available in your export list; otherwise export standard manufacturing/interchange formats such as Gerber, ODB++, IPC-2581, BOM, and Pick-and-Place.
If you don’t see an Altium export option, Flux may not support direct Altium project export for this project. For help from Flux support, use: https://docs.flux.ai/Introduction/getting-support.
Export and verify files
Export schematic PDF
Export BOM files
Generate manufacturing files
Create export checklist

Refine this doc
Ask about this doc
ESP32-S3 Industrial PLC Controller — Block-Level Architecture
Scope of this stage
Create the block-level schematic architecture only. Do not place detailed components yet. This document captures the required power tree, isolation boundaries, communication interfaces, I/O sub-blocks, connector strategy, protection strategy, and resolved architecture decisions for human review before detailed schematic capture.
Finalized architecture decision table

Table


Decision areaFinal decisionImplementation notes / constraints
MCUESP32-S3-WROOM-1-N16R8Use module. Verify strapping pins, USB pins, flash/PSRAM constraints, boot behavior, and GPIO allocation before detailed wiring.
Industrial input24 VDC nominal, 18 V to 36 V operating rangeExternal input through 2-pin pluggable terminal block.
EMC / surge design targetIndustrial prototype, designed with IEC targets in mindESD 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 chainConnector → fuse/PTC → reverse-polarity MOSFET → TVS → EMI filter → bulk capacitance → +24V_PROTTVS 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 supplyUse ISO_5V, not ISO_3V3Isolated 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.
EthernetW5500 SPI Ethernet onlyW5500 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.
RS485Isolated industrial RS485 for Modbus RTUESP32 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 inputs8x 24 V PNP/sourcing sensor-compatible opto-isolated inputsEach 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 outputs8x 24 V protected high-side outputs, minimum 0.5 A/channelOutputs 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 powerUSB-C primarily for programming/debug; may power only ESP32-S3 logic section when 24 V is absentUse 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.
ConnectorsPluggable terminal blocks for power, DI, DO, and RS485Ethernet uses RJ45 MagJack or RJ45 + magnetics. USB-C for programming/debug.
Test pointsAdd 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 size0603 minimum normal passivesUse 0805/1206 where voltage, surge, power, or current requires.
User-declared requirements
  • MCU: ESP32-S3-WROOM-1-N16R8 module.
  • Industrial input: 24 VDC nominal, 18 V to 36 V operating range.
  • Protected input chain: 2-pin pluggable terminal block, fuse/PTC, reverse-polarity MOSFET, 33 V / 36 V TVS, EMI filter, bulk capacitor.
  • Rails: +24V_PROT, +5V, +3V3, isolated ISO_5V, and ISO_GND.
  • Ethernet: W5500 SPI Ethernet controller only; no RMII/MII/native-MAC Ethernet PHY.
  • Ethernet protocol target: Modbus TCP.
  • RS485: isolated industrial RS485 for Modbus RTU, with both isolated power and isolated data path.
  • Digital inputs: 8 channels, 24 VDC PNP/sourcing sensor-compatible opto-isolated inputs.
  • Digital outputs: 8 channels, 24 V protected high-side outputs, at least 0.5 A/channel.
  • USB-C: ESP32-S3 programming/debug only, with optional logic-only USB debug power through proper power-path isolation.
  • Connectors: pluggable terminal blocks for power, DI, DO, and RS485.
  • Passives: 0603 minimum for normal passives; 0805/1206 where voltage/current/surge requires.
  • Test points: +24V_PROT, +5V, +3V3, GND, ISO_5V, ISO_GND, UART TX/RX, RS485 A/B, W5500 SPI signals.
  • Important isolation and power-path constraints:
    • Do not connect ISO_GND directly to normal GND.
    • Do not connect isolated DC-DC output to the normal 3.3 V logic regulator.
    • USB must not back-feed +24V_PROT, field I/O, isolated supply, RS485 field side, or digital output drivers.
    • With USB only connected, field I/O and 24 V outputs must remain inactive.
Architecture overview

Diagram


"24 VDC Input Connector" "Fuse/PTC + Reverse MOSFET + TVS + EMI + Bulk" "+24V_PROT" "24 V to +5V Buck" "+5V to +3V3 Regulator" "Isolated DC-DC Converter" "ISO_5V / ISO_GND" "USB-C Programming/Debug" "ESD + CC Rd + Logic-Only Power Path" "ESP32-S3-WROOM-1-N16R8" "W5500 SPI Ethernet" "MagJack / Ethernet Connector + ESD" ISO_COMM "Isolated RS485 Transceiver" "RS485 Terminal + TVS/ESD" "8x 24 V PNP DI Terminals + TVS/ESD" "Reverse Protection + Current Limit + RC Filter + LEDs" "8x Opto-Isolated Inputs" "2x Quad Smart High-Side Drivers Preferred" "8x 24 V DO Terminals + TVS/ESD + LEDs"
Power tree and grounding
Input protection and protected 24 V rail
  • External input enters through a 2-pin pluggable terminal block.
  • Recommended chain: connector → fuse/PTC → reverse-polarity MOSFET stage → TVS diode to power return → EMI/common-mode or differential filtering → bulk capacitance → +24V_PROT.
  • Use +24V_PROT for high-side digital output supply and as the upstream source for all converters.
  • Design with industrial prototype targets in mind:
    • ESD: IEC 61000-4-2 ±8 kV contact / ±15 kV air on external connectors.
    • EFT/Burst: IEC 61000-4-4 ±2 kV on 24 V power and field I/O lines.
    • Surge: IEC 61000-4-5 minimum ±1 kV line-to-line on 24 V input and RS485/field wiring where practical.
  • TVS selection remains a detailed component-selection task. Because the supply must tolerate 36 V continuous input, a 36 V standoff TVS is the current default direction over a 33 V standoff part unless detailed surge calculations prove the 33 V option acceptable.
Non-isolated logic rails
  • +24V_PROT → synchronous buck → +5V.
  • +5V → regulator/LDO or buck/LDO → +3V3 for ESP32-S3, W5500, logic-side isolators, and low-power digital logic.
  • Add test points for +24V_PROT, +5V, +3V3, and GND.
Isolated field rail
  • Generate 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.
  • Do not feed isolated DC-DC output into the normal 3.3 V logic regulator.
USB-C logic-only debug power path
  • USB-C is primarily for ESP32-S3 programming/debug.
  • USB-C may power only the ESP32-S3 logic section for programming when 24 V is not connected.
  • Use proper power-path / ideal-diode protection so USB does not back-feed +24V_PROT, field I/O, isolated supply, RS485 field side, or digital output drivers.
  • When only USB is connected, field I/O and 24 V outputs must remain inactive.
ESP32-S3 core block
  • Use ESP32-S3-WROOM-1-N16R8.
  • Provide required module power decoupling, enable/reset support, boot/programming strapping, and UART programming path.
  • Reserve GPIOs for:
    • W5500 SPI: SCLK, MOSI, MISO, CS, INT, RESET.
    • RS485 UART: TX, RX, DE, RE or combined DE/RE.
    • 8 isolated digital inputs.
    • 8 digital output control signals.
    • Optional high-side output diagnostics/fault inputs.
    • USB D+/D- for programming/debug, if using native ESP32-S3 USB.
  • GPIO assignment should be done only after checking ESP32-S3 strapping pins, USB pins, flash/PSRAM constraints, boot mode behavior, and W5500/RS485 interrupt needs.
Ethernet block — W5500 only
  • Use W5500 connected to ESP32-S3 over SPI.
  • Required signals: SCLK, MOSI, MISO, CS, INT, RESET.
  • Include W5500 3.3 V supply decoupling, reference crystal/clock circuit per datasheet, Ethernet magnetics / MagJack, termination, and ESD protection near the connector.
  • Do not use LAN8720, KSZ8091, DP83848, RMII PHY, MII PHY, or any PHY requiring ESP32 native Ethernet MAC.
  • Modbus TCP is a firmware/application function and is supported by the ESP32-S3 + W5500 architecture.
Isolated RS485 block — Modbus RTU
  • ESP32-S3 UART connects to a logic-side digital isolator.
  • Isolator field side connects to an isolated RS485 transceiver powered from ISO_5V / ISO_GND.
  • RS485 connector uses pluggable terminal block, typically A/B plus optional shield/reference terminal depending on final EMC strategy.
  • Add RS485 bus TVS/ESD protection near connector, termination option, biasing option, and test points for A/B and UART TX/RX.
  • Design RS485/field wiring protection with IEC 61000-4-2 ESD and IEC 61000-4-5 surge target in mind where practical.
  • Keep isolation barrier clear in layout; no direct GND to ISO_GND short.
Digital inputs — 8 channels
  • Create 8 identical 24 V PNP/sourcing sensor-compatible opto-isolated input channels.
  • Each DI turns ON when +24 V is applied to the DI input with respect to field 0 V/common.
  • Per-channel required sub-block: terminal input → connector-side ESD/TVS protection → reverse protection → current-limit resistor network → RC filtering/debounce → input status LED with resistor → optocoupler LED → logic-side optocoupler output/pull-up to ESP32 GPIO.
  • Add connector-level protection near terminal block.
  • Final resistor and filter values depend on selected optocoupler CTR, target input current, debounce time, and any IEC 61131-2 input type target.
Digital outputs — 8 channels
  • Create 8 protected high-side 24 V outputs, minimum 0.5 A/channel.
  • Outputs source +24 V to the load; load return goes to 0 V.
  • Use smart high-side driver ICs. Prefer two quad-channel high-side drivers if suitable after component selection.
  • Required features: short-circuit protection, thermal shutdown, inductive load/transient protection, LED indication, and fault/diagnostic output if supported by selected driver.
  • +24V_PROT is the output power source.
  • Add ESD/TVS/transient protection near output connector appropriate for industrial field wiring.
USB-C programming/debug block
  • USB-C is for ESP32-S3 programming/debug.
  • Include USB-C receptacle with CC pull-down resistors, ESD protection on D+/D-, and routing to ESP32-S3 native USB pins or a USB-UART bridge if native USB is not selected.
  • Provide logic-only USB power through power-path / ideal-diode protection for programming when 24 V is not connected.
  • Do not back-power industrial 24 V input, field I/O, isolated supply, RS485 field side, or digital output drivers from USB.
Connectors and test points
  • Power: 2-pin pluggable terminal block.
  • Digital inputs: pluggable terminal block(s), 8 DI channels plus field 0 V/common terminals as required by PNP/sourcing input topology.
  • Digital outputs: pluggable terminal block(s), 8 high-side outputs plus load return / 0 V wiring as required.
  • RS485: pluggable terminal block, A/B and optional ISO_GND/shield depending on isolation/EMC decision.
  • Ethernet: RJ45 MagJack or RJ45 + magnetics.
  • USB-C: programming/debug connector.
  • Test points required:
    • +24V_PROT, +5V, +3V3, GND.
    • ISO_5V, ISO_GND.
    • UART TX/RX and RS485 A/B.
    • W5500 SCLK, MOSI, MISO, CS, INT, RESET.
  1. Power_Input_Protection
  2. Power_Conversion_Logic_Rails
  3. Isolated_Field_Power
  4. ESP32S3_Core_USB_Debug
  5. Ethernet_W5500
  6. RS485_Isolated_Modbus_RTU
  7. Digital_Inputs_8ch
  8. Digital_Outputs_8ch
  9. Connectors_Testpoints_EMC
Remaining detailed design decisions before component placement
  • Select exact 24 V input TVS, fuse/PTC, reverse MOSFET, EMI filter, and bulk capacitor values against the declared surge/EFT/ESD targets.
  • Calculate total +5 V / +3V3 load budget and thermal limits before regulator selection.
  • Select isolated DC-DC converter rating for ISO_5V load and isolation voltage.
  • Select RS485 isolator/transceiver architecture: separate digital isolator + transceiver vs integrated isolated RS485 transceiver.
  • Select DI optocoupler family and final input current/filter values.
  • Select high-side driver ICs; verify 0.5 A/channel, total package thermal dissipation, diagnostics, clamp capability, and logic compatibility.
  • Decide RS485 connector pinout and shield/chassis ground strategy. Any reference network across the isolation barrier must not be a direct GND-to-ISO_GND short.
  • Decide whether native ESP32-S3 USB or USB-UART bridge is preferred for debug/programming workflow.
Human review checklist for this stage
  • Confirm W5500-only Ethernet architecture.
  • Confirm ISO_5V / ISO_GND isolated RS485 field supply and no direct GND/ISO_GND connection.
  • Confirm all 8 DI and all 8 DO channels will be implemented, not sample-only.
  • Confirm IEC-oriented protection targets for prototype design.
  • Confirm 24 V PNP/sourcing DI convention.
  • Confirm 24 V sourcing high-side DO convention with smart drivers.
  • Confirm USB-C logic-only debug power path and no USB back-feed into 24 V/field/isolated domains.
  • 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

Documents

  • ESP32-S3 Industrial PLC Controller — Block-Level Architecture

  • ESP32-S3 Industrial PLC Controller — Candidate IC Selection

  • ESP32-S3 Industrial PLC Controller — Cost-Optimized IC Selection

  • ESP32-S3 Industrial PLC Controller — Final Power Budget Before Schematic Capture

  • ESP32-S3 Industrial PLC Controller — GPIO Map

  • ESP32-S3 Industrial PLC Controller — Digital Input Design Notes

  • Schematic Review Before Layout

Assets

Assets are files uploaded to this project which can be used in various ways.

ESP32-S3 Industrial PLC Controller thumbnail
ESP32-S3 Industrial PLC Controller schematic architecture for a 24 V industrial PLC with W5500 Ethernet, isolated RS485, 8 opto-isolated digital inputs, and 8 protected high-side outputs.

Properties

V

Pricing & Availability

Distributor

Qty 1

Arrow

$27.29–$349.66

Digi-Key

$38.43–$837.70

HQonline

$26.87–$28.42

LCSC

$47.20–$57.07

Mouser

$68.31–$89.37

TME

$8.90

Verical

$14.47–$152.56

Controls