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:
Finish wiring the remaining signal/interface blocks.
Correct the myRIO eFuse configuration network.
Organize the schematic into readable functional blocks.
Run ERC/design review and fix real violations before moving to PCB layout.
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
Hardware Subsystems
Battery Input and 12 V Distribution
Connector: XT60 PCB or equivalently rated polarized connector.
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.
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.
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
Connector
Function
Pins
J1
BATTERY_IN
BAT+, BAT-
J2
MD10A_POWER
MD10A_VBAT, GND_POWER
J3
TB6600_POWER
TB6600_VBAT, GND_POWER
J4
MYRIO_POWER
MYRIO_PWR+, MYRIO_GND
J5
TB6600_CONTROL
PUL+, PUL-, DIR+, DIR-, ENA+, ENA-
J6
MYRIO_UART
ESP_TX, ESP_RX, GND, NC/3V3_REF not for power
J7-J10
MIC1-MIC4
3V3_AUDIO, GND/AGND, SIGNAL
J11
MG996R_GRIPPER
GND, 5V_SERVOS, GPIO11 signal
J12
SG90_MARKER
GND, 5V_SERVOS, GPIO12 signal
J13
MARKER_MOTOR
MOTOR_A, MOTOR_B
J14
USB-C
Native ESP32-S3 USB programming/debug
Fixed ESP32 GPIO Map
Table
GPIO
Net / Function
Notes
4
MIC1_ADC
physical microphone angle -135 deg
5
MIC2_ADC
physical microphone angle -45 deg
6
MIC3_ADC
physical microphone angle +45 deg
7
MIC4_ADC
physical microphone angle +135 deg
8
STEPPER_PUL
TB6600 open-drain driver input
9
STEPPER_DIR
TB6600 open-drain driver input
10
STEPPER_ENA
TB6600 open-drain driver input
11
PWM_GRIPPER
MG996R servo
12
PWM_MARKER_SERVO
SG90 servo
19
USB_D-
native USB
20
USB_D+
native USB
38
MARKER_PWM_ENA
no LED/fixed load
39
MARKER_IN1
marker motor logic
40
MARKER_IN2
marker motor logic
43
ESP_TX_TO_MYRIO_RX
dedicated myRIO UART
44
ESP_RX_FROM_MYRIO_TX
dedicated 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 / Branch
Source
Target Current
Notes
BAT_PROTECTED
Battery after protection
TBD total
Must include MD10A + TB6600 + myRIO + 5 V converter input
MD10A_VBAT
BAT_PROTECTED
10 A provisional
External harness required if measured continuous current exceeds PCB capability
TB6600_VBAT
BAT_PROTECTED
5 A provisional
Depends on configured motor current
MYRIO_PWR+
BAT_PROTECTED through eFuse
2.5 A provisional
OVP below 16 V
+5V_MAIN
TPSM63610
8 A continuous / 10 A peak
5 V rail source
+5V_LOGIC
+5V_MAIN branch
1.5 A provisional
Feeds 3.3 V regulators and logic
+5V_SERVOS
+5V_MAIN branch
5 A continuous provisional
Large bulk required for servo peaks
+5V_MARKER
+5V_MAIN branch
3 A provisional
Feeds marker H-bridge
+3V3_DIGITAL
+5V_LOGIC regulator
>=1 A
ESP32 rail
+3V3_AUDIO
+5V_LOGIC LDO
>=300 mA
GY-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
Reviews
Documents
Project Specification
Assets
Assets are files uploaded to this project which can be used in various ways.
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
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.