ESP32-S3 Firmware Refinement

I’ll adjust the placement as requested, then remove stale/cut/dead-end traces caused by moving parts and rerun routing/review. I’ll keep J2 and the top-edge parts about 7.3 mm from the top edge, and move RST_SW/BOOT_SW down between the ESP32 and J1.
I’m out of execution credits, so I had to stop after the placement step.
Completed:
  • Moved J2 to the top-left edge area with about 7.3 mm clearance from the board edge.
  • Adjusted the other top-edge components so they keep that same top-edge clearance.
  • Moved RST_SW and BOOT_SW down between the ESP32-S3 module and USB-C connector J1.
  • Preserved the ESP32 antenna orientation facing the bottom edge.
  • Placement now has no overlap or out-of-bounds issues.
Still to do:
  • Delete stale/dead-end traces created by moving components.
  • Re-route the affected nets.
  • Clean up trace paths so they don’t run awkwardly over/through component areas.
  • Rerun review and fix the remaining routing errors, including the USB D+/D− airwires.
Clean reroute traces
Run DRC review
Route USB pair
Check trace crossings

Refine this doc
Ask about this doc
Project Specification — ESP32 Relay Controller
Project Overview
  • Status: Draft schematic implementation
  • Device: 12V-powered ESP32-S3 relay controller with one isolated dry-contact relay output.
  • Primary requirement: USB-C is for data/programming only; the board is powered from a separate 12V input.
Intended Use
  • Hobbyist/prototype control board for switching a single external dry contact.
  • External system provides 12V DC input power.
  • USB-C connects to a computer for firmware flashing/debugging, not for powering the board.
What the Device Should Do
  • Power the ESP32 from the 12V input through an onboard 3.3V regulator.
  • Let the ESP32 control one 12V relay coil.
  • Expose relay COM/NO/NC contacts as an isolated dry-contact terminal.
  • Provide USB-C D+/D- data connection to the ESP32-S3 native USB interface.
  • Provide BOOT and RESET buttons for ESP32 bring-up.
Main Features
  • ESP32-S3-WROOM module with WiFi/BLE available.
  • 12V input screw terminal.
  • 3.3V, 2A fixed buck regulator.
  • 12V relay with SPDT dry-contact output.
  • MOSFET low-side relay driver with flyback diode.
  • USB-C data-only port with CC pull-downs and USB data ESD protection.
System Architecture

Diagram


12V Input Terminal 12V to 3.3V Buck Regulator ESP32-S3 Module USB-C Data Only USB ESD Protection MOSFET Relay Driver 12V Relay Coil COM NO NC Dry Contact Terminal
Hardware Subsystems
Power
  • 12V input enters at J2.
  • AP63203WU-7 generates the 3.3V ESP32 rail.
  • Regulator support parts follow the AP63203 datasheet: 10uF input cap, 3.9uH inductor, 2x22uF output caps, 100nF bootstrap cap.
Compute and USB
  • ESP32-S3-WROOM-1-N16R8 is used so USB-C D+/D- can connect directly to native USB pins IO20/IO19.
  • EN has 10k pull-up and 1uF delay capacitor.
  • GPIO0 has a boot pull-up and BOOT button to ground.
Relay Output
  • 12V relay coil is driven by a logic-level N-channel MOSFET from ESP32 GPIO4.
  • Flyback diode protects the MOSFET from relay coil inductive kick.
  • COM, NO, and NC are exposed at the 3-pin terminal as isolated dry-contact outputs.
Interfaces and Connections

Table


InterfaceConnector/NetNotes
12V inputJ2Pin 1 = +12V, pin 2 = GND assumption
USB dataJ1D+/D- only to ESP32 native USB; VBUS is not tied to board power
Relay dry contactJ3Pin 1 = COM, Pin 2 = NO, Pin 3 = NC
Relay control GPIOESP32 IO4Drives MOSFET gate through 100 ohm resistor
BootESP32 IO0BOOT button pulls low
Reset/enableESP32 ENRESET button pulls low
Power and Runtime Expectations
  • No battery or runtime target specified.
  • Board runs whenever external 12V is present.
  • USB-C VBUS is treated only as connector-side USB voltage for ESD/reference, not as a power source.
Power Tree and Power Budget

Table


RailLoadEstimated Current
3.3VESP32-S3 WiFi peaks500mA design peak
12VRelay coil ACNM111253.3mA rated
12VBuck input for 3.3V railAbout 162mA at 3.3V/500mA, 85% efficiency
12VTotal design peakAbout 216mA plus margin
Manufacturing and Assembly Expectations
  • SMD design by default, with through-hole screw terminals and relay.
  • Relay and terminals are larger through-hole parts suitable for easier wiring.
  • ESP32 antenna must be placed at the PCB edge with copper keepout during layout.
Firmware-Relevant Hardware Requirements
  • ESP32-S3 native USB Serial/JTAG on IO19/IO20.
  • Relay control output on GPIO4.
  • BOOT button on GPIO0 and RESET button on EN.
  • Firmware should default relay off at boot.
Physical Design Expectations
  • Place USB-C at board edge.
  • Place 12V input and relay contact terminals at board edges for wiring access.
  • Place ESP32 antenna at an outside edge with keepout.
  • Keep relay contact routing isolated from logic/power where practical.
Important Design Decisions
  • Used ESP32-S3 module instead of bare ESP32 chip to avoid RF matching complexity.
  • Used buck regulator instead of LDO because 12V to 3.3V at ESP32 current would waste significant heat.
  • USB-C does not power the board, matching the user's requirement.
  • Relay contacts are dry and isolated from the ESP32 logic supply.
Assumptions
  • 12V input supply can provide at least 0.5A.
  • Relay contact rating is more than enough for the intended dry-contact signal, but the external load voltage/current was not specified.
  • USB-C is device/UFP data connection to a computer, not USB host mode.
  • Default PCB style is compact SMD unless the user requests hand-solder-only parts.
Change Notes
  • Initial schematic architecture created from the user's requirements.
  • Added ESP32-S3, USB-C data-only, 12V buck regulator, relay driver, and dry-contact output blocks.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • Power

  • Compute and USB

  • Relay Output

  • Interfaces and Connections

  • Power and Runtime Expectations

  • Power Tree and Power Budget

  • Manufacturing and Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Physical Design Expectations

  • Important Design Decisions

  • Assumptions

  • Change Notes

Assets

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

ESP32 Relay Controller thumbnail
12V-powered ESP32 relay dry-contact controller with USB-C data-only programming/debug and an onboard 3.3V rail for the ESP32.

Properties

Pricing & Availability

Distributor

Qty 1

Arrow

$4.97–$6.48

Digi-Key

$10.80–$25.53

HQonline

$2.06–$2.17

LCSC

$12.92–$13.40

Mouser

$16.78–$17.24

TME

$3.81

Verical

$3.83–$96.32

Controls