ESP32-S3 Controller Design

I’m blocked again because the account has no available ACUs, so I can’t continue executing schematic edits right now.
Accomplished in this session:
  • Added the core real components: ESP32-S3-WROOM-1-N16R8, TPSM63610 5 V buck, LMR33630 3.3 V buck, TPS7A2033 audio LDO, TPS259474 eFuse, DRV8874, 74LVC2G08, USB-C, ESD, fuses, connectors, MOSFETs, test points, LEDs, ferrite bead, and support passives.
  • Wired major power architecture: 12 V battery input, input fuse/reverse MOSFET/TVS/bulk, BAT_PROTECTED distribution, MD10A/TB6600/myRIO branches, TPSM63610 +5V_MAIN, fused +5V_LOGIC/+5V_SERVOS/+5V_MARKER, +3V3_DIGITAL, +3V3_AUDIO, ESP32 power/EN/BOOT, and USB-C native USB D+/D− with CC pull-downs and VBUS sense.
  • Used datasheet-backed values for the TPSM63610, LMR33630, TPS7A2033, ESP32-S3 boot/reset, and USB-C sink behavior.
Open items:
  • The schematic is not complete yet: microphones, servos, TB6600 MOSFET sinks, myRIO UART, DRV8874/AND-gate marker motor logic, LEDs, and several test points still need final wiring.
  • The TPS259474 myRIO eFuse configuration pins need proper individual resistor/cap networks; I had flagged the current placeholder approach for correction.
  • Schematic organization/placement and ERC cleanup have not been completed.
  • Final fuse values, battery max voltage, motor/servo stall currents, TB6600 resistor values, and myRIO input limits are still TBD.
Suggested next steps once ACUs are available:
  1. Finish wiring the remaining signal/interface blocks.
  2. Correct the myRIO eFuse configuration network.
  3. Organize the schematic into readable functional blocks.
  4. Run ERC/design review and fix real violations before moving to PCB layout.
Finish and review
Fix eFuse network
Finish signal wiring
Organize schematic
Run ERC review

Refine this doc
Ask about this doc
Project Specification
Project Overview
Status: Draft / requirements captured.
Design a four-layer PCB named DSM ESP32-S3 Sensing & Marking Controller for a robotic leak-detection and pipe-marking system. The board integrates protected 12 V battery distribution, an ESP32-S3-WROOM-1 sensing/marking controller, high-current 5 V conversion, low-noise microphone power, servo outputs, a marker motor H-bridge, TB6600 control, and a 3.3 V UART interface to an NI myRIO-1900.
Intended Use
Prototype/R&D controller board for a mobile robotic platform that detects pipe leaks using four external microphone modules and controls marking/gripping actuators. The board distributes battery power to external motor/stepper/myRIO systems while keeping the ESP32, audio, USB, and logic domains protected and debuggable.
What the Device Should Do
  • Accept nominal 12 V battery input over a polarized high-current connector.
  • Protect against reverse polarity, short circuits, input transients, excessive current, and accidental connector reversal.
  • Provide protected battery-voltage outputs for NI myRIO-1900, MD10A traction driver, and TB6600 driver.
  • Generate +5V_MAIN at 8 A continuous / 10 A peak target using TPSM63610.
  • Split +5V_MAIN into +5V_LOGIC, +5V_SERVOS, and +5V_MARKER protected branches.
  • Generate +3V3_DIGITAL for ESP32 and +3V3_AUDIO for microphones.
  • Interface four GY-MAX4466 microphone modules on ESP32 ADC GPIO4-7.
  • Drive two external servos from GPIO11 and GPIO12.
  • Drive the yellow marker carriage motor using a DRV8874 H-bridge while preserving L298N-style firmware signals.
  • Interface TB6600 PUL/DIR/ENA through protected open-drain/current-sink stages.
  • Communicate with NI myRIO over 3.3 V UART on GPIO43/GPIO44.
  • Use native ESP32-S3 USB on GPIO19/GPIO20 for programming/debugging.
Main Features
  • ESP32-S3-WROOM-1 module with USB-C native USB, BOOT/RESET buttons, EN RC network, antenna edge placement and keepout.
  • Protected 12 V distribution with replaceable fuses, TVS footprint, ideal-diode MOSFET reverse protection, LEDs, and test points.
  • TPSM63610 high-current 5 V buck module with manufacturer reference layout requirements.
  • Dedicated 3.3 V digital regulator and low-noise +3V3_AUDIO LDO.
  • Four identical microphone inputs with 100 ohm series resistors, DNP ADC filter caps, optional low-leakage ESD, and test points.
  • Servo output filtering, pulldowns, ESD options, local bypass, and large servo bulk capacitance.
  • DRV8874 marker motor driver with 74LVC2G08 gating, nFAULT indication, current sense test point, and DNP EMI capacitors.
  • TB6600 common-anode optocoupler interface using MOSFET sinks and configurable resistors/jumpers.
  • myRIO power eFuse/high-side switch branch and separate UART connector that cannot power the myRIO.
System Architecture

Diagram


12 V Battery 9-15 V preliminary Input Fuse + Ideal-Diode MOSFET + TVS + Bulk MD10A Fused VBAT Output TB6600 Fused VBAT Output myRIO TPS25947 eFuse Branch myRIO Power Connector TPSM63610 5 V / 8 A Buck +5V_LOGIC Protected +5V_SERVOS Protected +5V_MARKER Protected +3V3_DIGITAL Regulator TPS7A2033 +3V3_AUDIO LDO ESP32-S3-WROOM-1 4x GY-MAX4466 Connectors MG996R + SG90 Connectors DRV8874 Marker H-Bridge 74LVC2G08 PWM Gating TB6600 Open-Drain Control TB6600 Control Connector myRIO 3.3 V UART Connector USB-C + ESD + CC Rd
Hardware Subsystems
Battery Input and 12 V Distribution
  • Connector: XT60 PCB or equivalently rated polarized connector.
  • Protection: replaceable input fuse footprint, ideal-diode MOSFET reverse protection, bidirectional TVS footprint, gate protection, 100-470 uF bulk >=25 V, 1 uF ceramic, 100 nF ceramic, BATTERY_OK LED.
  • Test points: BAT_RAW, BAT_PROTECTED, GND.
  • Star-like distribution from BAT_PROTECTED.
  • Warning: battery max voltage must remain below NI myRIO-1900 max input voltage.
12 V Branches
  • MD10A branch: independently fused, XT30 or 7.62 mm terminal, provisional 10 A continuous routing, silkscreen "CONTROL FROM myRIO, NOT ESP32".
  • TB6600 branch: independently fused, 5.08/7.62 mm terminal, provisional 5 A target.
  • myRIO branch: TPS25947 or equivalent eFuse/high-side switch, OVP below 16 V, current limit around 2.5 A provisional, inrush control, reverse current blocking, MYRIO_PWR_OK LED.
5 V Power
  • Main buck: TPSM63610 synchronous buck module from BAT_PROTECTED to +5V_MAIN, 8 A continuous / 10 A peak target.
  • Branches: +5V_LOGIC 1.5 A provisional, +5V_SERVOS 5 A provisional, +5V_MARKER 3 A provisional.
  • Do not split ground plane; control return currents by placement/routing.
ESP32-S3 and USB
  • Module: ESP32-S3-WROOM-1 memory suffix to be selected from sourceable library stock without changing GPIO assignments.
  • USB: GPIO19 USB_D-, GPIO20 USB_D+, USB-C sink CC1/CC2 5.1 k pulldowns, ESD, 90 ohm diff pair.
  • Controls: BOOT on GPIO0, RESET/EN button, standard EN RC network.
  • Required test pads: EN, BOOT/GPIO0, 3V3, GND, USB D+, USB D-, every used GPIO.
  • Antenna: module antenna at board edge, keepout on all layers per Espressif reference; no high-current or switching circuitry nearby.
Microphone Analog Section
  • Four external GY-MAX4466 modules powered only from +3V3_AUDIO.
  • +3V3_AUDIO: TPS7A2033 or equivalent 3.3 V low-noise LDO from +5V_LOGIC with ferrite bead and required capacitors.
  • Connectors: identical 3-pin locking connectors: +3V3_AUDIO, AGND/GND, SIGNAL.
  • ADC front-end: 100 ohm series resistor near ESP32, DNP capacitor footprint 1-10 nF option, optional low-leakage ESD, pre/post filter test pads.
Servo Outputs
  • Two 3-pin standard servo connectors in GND, +5V_SERVOS, SIGNAL order.
  • Signals: GPIO11 PWM_GRIPPER, GPIO12 PWM_MARKER_SERVO.
  • Each signal gets 100 ohm series resistor, 100 k pulldown, optional ESD, and local 100 nF near connector.
Marker Motor H-Bridge
  • Preferred driver: DRV8874 thermally enhanced package.
  • Supply: +5V_MARKER.
  • Firmware compatibility: GPIO38 PWM enable, GPIO39 IN1, GPIO40 IN2. No LED or fixed load on GPIO38.
  • Logic: 74LVC2G08 forms DRIVER_IN1 = GPIO38 AND GPIO39; DRIVER_IN2 = GPIO38 AND GPIO40.
  • Includes 100 k pulldowns, 100 ohm series resistors, nFAULT pull-up/LED/TP, current sense TP, nSLEEP bias, optional disable jumper, motor output connector, optional EMI capacitors.
TB6600 Interface
  • GPIO8 PUL, GPIO9 DIR, GPIO10 ENA.
  • Use open-drain/current-sink channels, not direct ESP32 drive.
  • Connector: 6-pin PUL+, PUL-, DIR+, DIR-, ENA+, ENA-.
  • Default common-anode: positives through resistor footprints to +5V_LOGIC, negatives switched to GND by 2N7002 or equivalent.
  • Include jumpers/0 ohm options for bypass/debug/common-anode disconnect.
myRIO UART
  • 3.3 V, 9600 baud, 8N1.
  • GPIO43 ESP_TX_TO_MYRIO_RX, GPIO44 ESP_RX_FROM_MYRIO_TX.
  • 4-pin connector: ESP_TX, ESP_RX, GND, NC/optional 3V3 reference marked not for powering myRIO.
  • Series resistors, low-cap ESD, test points, removable jumpers.
Interfaces and Connections

Table


ConnectorFunctionPins
J1BATTERY_INBAT+, BAT-
J2MD10A_POWERMD10A_VBAT, GND_POWER
J3TB6600_POWERTB6600_VBAT, GND_POWER
J4MYRIO_POWERMYRIO_PWR+, MYRIO_GND
J5TB6600_CONTROLPUL+, PUL-, DIR+, DIR-, ENA+, ENA-
J6MYRIO_UARTESP_TX, ESP_RX, GND, NC/3V3_REF not for power
J7-J10MIC1-MIC43V3_AUDIO, GND/AGND, SIGNAL
J11MG996R_GRIPPERGND, 5V_SERVOS, GPIO11 signal
J12SG90_MARKERGND, 5V_SERVOS, GPIO12 signal
J13MARKER_MOTORMOTOR_A, MOTOR_B
J14USB-CNative ESP32-S3 USB programming/debug
Fixed ESP32 GPIO Map

Table


GPIONet / FunctionNotes
4MIC1_ADCphysical microphone angle -135 deg
5MIC2_ADCphysical microphone angle -45 deg
6MIC3_ADCphysical microphone angle +45 deg
7MIC4_ADCphysical microphone angle +135 deg
8STEPPER_PULTB6600 open-drain driver input
9STEPPER_DIRTB6600 open-drain driver input
10STEPPER_ENATB6600 open-drain driver input
11PWM_GRIPPERMG996R servo
12PWM_MARKER_SERVOSG90 servo
19USB_D-native USB
20USB_D+native USB
38MARKER_PWM_ENAno LED/fixed load
39MARKER_IN1marker motor logic
40MARKER_IN2marker motor logic
43ESP_TX_TO_MYRIO_RXdedicated myRIO UART
44ESP_RX_FROM_MYRIO_TXdedicated myRIO UART
Power and Runtime Expectations
  • Battery is nominal 12 V, preliminary operating range 9-15 V.
  • All battery-connected parts must tolerate at least 18 V; battery-rail capacitors >=25 V preferred.
  • Exact battery chemistry and full-charge voltage are TBD; TVS and fuse values remain provisional.
  • Main design priority is preventing ESP32 brownouts during simultaneous servo/motor startup.
Power Tree and Preliminary Power Budget

Table


Rail / BranchSourceTarget CurrentNotes
BAT_PROTECTEDBattery after protectionTBD totalMust include MD10A + TB6600 + myRIO + 5 V converter input
MD10A_VBATBAT_PROTECTED10 A provisionalExternal harness required if measured continuous current exceeds PCB capability
TB6600_VBATBAT_PROTECTED5 A provisionalDepends on configured motor current
MYRIO_PWR+BAT_PROTECTED through eFuse2.5 A provisionalOVP below 16 V
+5V_MAINTPSM636108 A continuous / 10 A peak5 V rail source
+5V_LOGIC+5V_MAIN branch1.5 A provisionalFeeds 3.3 V regulators and logic
+5V_SERVOS+5V_MAIN branch5 A continuous provisionalLarge bulk required for servo peaks
+5V_MARKER+5V_MAIN branch3 A provisionalFeeds marker H-bridge
+3V3_DIGITAL+5V_LOGIC regulator>=1 AESP32 rail
+3V3_AUDIO+5V_LOGIC LDO>=300 mAGY-MAX4466 modules only
PCB Stackup and Rules
  • Board: target 120 mm x 90 mm or smaller if thermal/routing allow.
  • Layers: 4-layer PCB.
  • L1: components, signals, short high-current pours, switching regulator.
  • L2: unbroken GND plane, not split.
  • L3: power planes/wide distribution for BAT_PROTECTED, +5V_MAIN, branches, +3V3 rails.
  • L4: low-speed signals, additional power pours, ground pours, connector routing.
  • Copper: 2 oz external, at least 1 oz internal, 2 oz internal preferred if cost permits.
  • USB_D+/D-: controlled 90 ohm differential pair, length matched within 0.5 mm.
  • Net classes follow user-provided preliminary widths for SIGNAL, ANALOG, USB_DIFF, POWER_1A, POWER_2P5A, POWER_3A, POWER_5A, POWER_8A, POWER_10A.
Physical Design Expectations
  • Four 3.2 mm mounting holes for M3 screws, 3 mm copper/component keepout.
  • All external connectors at PCB edges.
  • Power connectors on power side; microphones on analog side; USB accessible at edge.
  • ESP32 antenna at board edge with keepout clear of copper/components/metal/cables.
  • Separate placement zones: A power input/distribution, B 5 V/motor/servo, C ESP32/digital/USB/UART/TB6600 logic, D audio/microphone analog.
  • Silkscreen: board name, revision, connector polarity, power warnings, GPIO/function labels.
Manufacturing and Assembly Expectations
  • Four-layer prototype board with adequate copper weight and thermal vias.
  • Use sourceable manufacturer parts for all ICs/connectors/protection components.
  • Use generic passives only where values/ratings/packages are specified.
  • Use manufacturer reference layouts for ESP32-S3-WROOM-1, TPSM63610, TPS25947, DRV8874, TPS7A2033, and selected 3.3 V digital regulator.
Firmware-Relevant Hardware Requirements
  • Native USB programming/debug only; no external USB-UART bridge.
  • GPIO43/GPIO44 reserved exclusively for myRIO UART.
  • Preserve existing L298N-style marker motor firmware signals using AND-gate gating.
  • Add test pads for every used GPIO and key rails.
  • ESP32 user/status LED allowed only on an unused GPIO that is not GPIO38 and not a problematic boot strap pin.
Important Design Decisions
  • Use ESP32-S3-WROOM-1 module rather than bare chip for RF reliability.
  • Use a high-current synchronous buck module TPSM63610 for +5V_MAIN.
  • Use protected/fused 5 V branches to isolate servo and motor transients from logic and audio.
  • Use continuous ground plane; do not split AGND/DGND.
  • Use TB6600 current-sink interface so ESP32 does not directly drive optocoupler inputs.
  • myRIO power is from protected battery through eFuse, not from XL6009 boost and not from UART connector.
  • Do not add ESP32-to-MD10A control connector.
Assumptions and TBD Values
  • Battery chemistry, full-charge voltage, and transient profile are TBD.
  • Final input TVS standoff voltage is TBD until battery maximum is known.
  • Main input fuse and branch fuse values are TBD until measured currents are available.
  • MD10A continuous and peak traction current are TBD.
  • TB6600 configured motor current is TBD.
  • SG90 and MG996R stall currents in this robot are TBD.
  • Yellow marker motor stall current is TBD; DRV8874 current limit provisional.
  • Exact TB6600 module optocoupler input circuit is TBD; resistor values must be confirmed.
  • Exact myRIO-1900 maximum input limits must be verified against NI documentation and final battery voltage.
  • Final USB impedance trace width/spacing depends on selected fabricator stackup.
Warning List Before Fabrication
  • Do not fabricate until battery full-charge voltage is confirmed below the myRIO branch OVP and the myRIO-1900 input maximum.
  • Do not finalize fuse values without measured motor/servo/traction currents.
  • Do not declare USB impedance complete without final stackup from the PCB fabricator.
  • Do not autoroute high-current power stage, TPSM63610 layout, USB differential pair, or microphone ADC traces without manual review.
  • Confirm ESP32-S3-WROOM-1 suffix availability and pin compatibility before BOM lock.
Change Notes
  • Initial requirements imported from pasted user brief on 2026-07-11.
  • Project renamed from draft placeholder to DSM ESP32-S3 Controller.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • Battery Input and 12 V Distribution

  • 12 V Branches

  • 5 V Power

  • ESP32-S3 and USB

  • Microphone Analog Section

  • Servo Outputs

  • Marker Motor H-Bridge

  • TB6600 Interface

  • myRIO UART

  • Interfaces and Connections

  • Fixed ESP32 GPIO Map

  • Power and Runtime Expectations

  • Power Tree and Preliminary Power Budget

  • PCB Stackup and Rules

  • Physical Design Expectations

  • Manufacturing and Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Important Design Decisions

  • Assumptions and TBD Values

  • Warning List Before Fabrication

  • Change Notes

Documents

  • Project Specification

Assets

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

DSM ESP32-S3 Controller thumbnail
Four-layer ESP32-S3 robotic leak-detection and pipe-marking controller with protected 12 V distribution, high-current 5 V power, microphones, servos, marker motor driver, TB6600 control, and myRIO UART.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$24.57–$34.10

Digi-Key

$7.52

HQonline

$11.48–$11.54

LCSC

$19.44–$19.62

Mouser

$57.57–$58.44

TME

$19.49

Verical

$5.22–$177.28

Controls