ESP32 C3 Robotics Controller

Worked for 43 mins 15 sec
Thought for a moment — Adjusting task dimensions
1/3 Resize the hexagonal outline to the smallest practical compact size

Resize the hexagonal outline to the smallest practical compact size

Place all components for single-layer CNC routing

Verify board fit, antenna keepout, and placement DRC

Thought for 18 sec
Thought for 6 sec — Inspecting layout and skills
Referenced guidance.
Thought for 4 sec
Getting a layout overview.
Reading schematic details.
Thought for 11 sec
Editing board size.
Thought for 16 sec — Planning placement constraints
Placed footprints of C1, C2, C4 and 1 more
Baking PCB layout data.
Placing 18 footprints.
Thought for 1 sec
Placing footprints of C2, C3, C1 and 1 more.
Thought for 3 mins 19 sec — Continuing tasks
Placing footprints of J1, J2, F1 and 10 more.
Thought for 1 min 36 sec — Evaluating clamping issue
Placing footprints of J1, J2, F1 and 7 more.
Thought for 44 sec — Evaluating F1 and J1 overlaps
Placing footprints of J1, J2, F1 and 9 more.
Thought for 29 sec — Clarifying positioning constraints
Placing footprints of J1, J2, U3.
Thought for 39 sec — Evaluating packing constraints
Placing footprints of J1, J2, F1 and 9 more.
Thought for 18 sec — Adjusting spacing and positions
Placing footprints of SW1, J3, C5 and 1 more.
Thought for 1 min 52 sec — Adjusting placement of J3
Placing footprints of J1, J2, F1 and 10 more.
Thought for 56 sec — Evaluating overlap and clamping
Placing footprints of J1, F1, C5 and 10 more.
Thought for 22 sec — Considering J2 movement
Placing footprints of J1, F1, C5 and 4 more.
Thought for 30 sec
Placing footprints of J1, J2, F1 and 9 more.
Thought for 30 sec — Fixing overlaps in layout
Placing footprints of BT1, J3, SW2 and 2 more.
Thought for 26 sec
Placing footprints of J3, SW1, SW2 and 1 more.
Thought for 15 sec
Placing footprints of J3, C5, SW1 and 1 more.
Thought for 9 sec
Placing footprints of SW2, C6, J3.
Thought for 6 sec
Placing footprint of SW1.
Thought for 10 sec
Placing footprint of SW1.
Thought for 6 sec
Placing footprint of SW1.
Thought for 7 sec
Placing footprint of SW1.
Thought for 8 sec — Setting initial values
Placing footprint of SW1.
Footprint placement stopped early.
Applying placement changes.
Thought for 5 sec — Calculating increments
Editing board size.
Thought for 15 sec
Placed footprints of J2, U2, BT1 and 15 more
Baking PCB layout data.
Placing 18 footprints.
Thought for 1 sec
Placing footprints of C2, C3, C1 and 1 more.
Thought for 1 min 16 sec — Continuing with skills retrieval
Placing footprints of J1, J2, U3 and 9 more.
Thought for 24 sec
Placing footprints of J1, F1, C5 and 4 more.
Thought for 14 sec — Analyzing clamp overlaps
Placing footprints of J1, F1, C5 and 6 more.
Thought for 1 min 2 sec
Placing footprints of U1, U2, C1 and 15 more.
Thought for 24 sec
Placing footprints of J2, BT1, U3 and 10 more.
Thought for 1 min 14 sec — Checking overlaps and parameters
Placing footprints of J3, C1, C2 and 6 more.
Thought for 28 sec
Placing footprints of C3, F1, C4 and 2 more.
Thought for 22 sec
Placing footprints of C1, C2, C3 and 3 more.
Thought for 1 min 3 sec — Evaluating boundaries
Placing footprints of J1, J2, F1 and 13 more.
Thought for 17 sec — Troubleshooting movement issues
Placing footprints of J1, F1, C5 and 3 more.
Thought for 58 sec — Analyzing board constraints
Placing footprints of U2, J1, F1 and 13 more.
Thought for 41 sec
Placing footprints of U1, C4, U2 and 14 more.
Thought for 52 sec — Checking positions and overlaps
Placing footprints of U1, C4, U2 and 13 more.
Thought for 29 sec
Placing footprints of F2, C1, C2 and 3 more.
Thought for 12 sec — Adjusting positions
Placing footprints of C6, SW2, R1.
Thought for 15 sec
Placing footprints of C6, SW2, R1 and 2 more.
Thought for 13 sec — Evaluating coordinate placements
Placing footprints of F2, C6.
Footprint placement stopped early.
Applying placement changes.
Thought for 5 sec
Editing board size.
Thought for 22 sec
Placed footprints of J2, BT1, J1 and 11 more
Baking PCB layout data.
Placing 18 footprints.
Thought for 2 sec
Placing footprints of C2, C3, C1 and 1 more.
Thought for 1 min 36 sec — Planning skill retrieval
Placing footprints of BT1, U3, J3 and 13 more.
Thought for 1 min 32 sec — Evaluating placement and gaps
Placing footprints of J1, J2, F1 and 4 more.
Thought for 8 sec — Testing adjustments
Placing footprints of J1, J2, F1 and 4 more.
Thought for 7 sec
Placing footprints of J2, F2, C6 and 2 more.
Thought for 23 sec — Adjusting positioning
Placing footprints of J1, F1, C5 and 4 more.
Thought for 17 sec
Placing footprints of J1, F1, C5 and 2 more.
Thought for 19 sec — Calculating adjustments for batches
Placing footprints of J2, BT1, F2 and 2 more.
Thought for 23 sec
Placing footprints of C5, F2, C6.
Thought for 25 sec — Fixing overlaps in positioning
Placing footprints of C6, F2, C5 and 1 more.
Thought for 11 sec
Placing footprints of F2, F1.
Thought for 37 sec — Examining routing criteria
Footprint placement complete.
Applying placement changes.
Thought for 7 sec
Checking routing progress.
Completed 6 design checks — found 31 issues.
Getting a layout overview.
Thought for 7 sec — Addressing design issues
Placed footprints of J2, J1, C5 and 5 more
Baking PCB layout data.
Placing 18 footprints.
Thought for 3 sec
Placing footprints of J2, U3.
Thought for 1 min 35 sec — Inspecting physical placements
Placing footprints of SW1, J3, F2 and 1 more.
Thought for 22 sec — Adjusting parameters
Placing footprints of J1, F2.
Thought for 22 sec — Checking fuse positions
Placing footprints of F2, J1.
Thought for 40 sec
Placing footprints of F2, F1, C5.
Thought for 9 sec
Placing footprints of F2, F1.
Thought for 5 sec
Placing footprint of F2.
Thought for 22 sec
Placing footprint of F2.
Thought for 11 sec
Placing footprint of F2.
Thought for 37 sec — Evaluating positioning and gaps
Placing footprints of J1, F2.
Footprint placement stopped early.
Applying placement changes.
Thought for 5 sec
Placed footprints of J1, F2
Baking PCB layout data.
Placing 18 footprints.
Thought for 3 sec
Placing footprint of F2.
Thought for 29 sec — Clarifying positioning constraints
Placing footprint of F2.
Thought for 35 sec
Placing footprint of F2.
Thought for 6 sec
Placing footprint of F2.
Thought for 4 sec
Placing footprint of F2.
Thought for 8 sec
Placing footprint of F2.
Thought for 3 sec
Placing footprint of F2.
Thought for 8 sec — Checking dimensions and movement
Placing footprint of F2.
Thought for 36 sec — Planning the move
Placing footprint of J1.
Thought for 11 sec — Clarifying completion criteria
Footprint placement complete.
Applying placement changes.
Thought for 3 sec
Checking routing progress.
Completed 6 design checks — found 31 issues.
Getting a layout overview.
Thought for a moment
DONT WORRY ABOUT THE SIZE
Got it—I’ll prioritize a clean, CNC-routeable single-layer placement over compactness, enlarging the hexagon and spreading the ESP32/driver signal corridor before routing.
The PCB currently has a 110 × 105 mm hexagonal outline with all 18 footprints placed on top, no overlaps, and the single bottom-copper CNC stackup preserved.
Remaining
  • Enlarge and re-place to eliminate the congested ESP32-to-TB6612FNG corridor.
  • Recheck single-layer routability and antenna keepout.
  • Routing has not started; 23 airwires remain.
Execution stopped because no ACUs are currently available.
Enlarge and re-place
Protect antenna keepout
CNC-friendly placement
U2
SW1
SW1 2 - J3 ~
U1 IO5 - U2 BIN2
U1 IO4 - U2 BIN1
J3 Pin_3 - U1 5V
U1 IO1 - U2 AIN2
U2 BO2 - J2 ~
F2 P2 - J2 ~
J3 Pin_4 - U2 VMOT
BT1 POSITIVE - U3 BAT+
U2 BO2 - J2 ~
U1 3V3 - U2 VCC
F2 P2 - J2 ~
U1 IO4 - U2 BIN1
U1 IO6 - U2 PWMB
U1 3V3 - U2 VCC
U1 3V3 - U2 VCC
U2 AO2 - J1 ~
U1 IO0 - U2 AIN1
U3 OUT+ - SW1 1
F1 P2 - J1 ~
SW2 2-2 - U2 STBY
U1 IO3 - U2 PWMA
J3 Pin_4 - U2 VMOT
J3 Pin_4 - U2 VMOT
U1 IO3 - U2 PWMA
U2 AO1 - F1 P1
U1 IO7 - SW2 1-1
U1 IO0 - U2 AIN1
U1 IO7 - SW2 1-1
SW2 2-2 - U2 STBY
F2 P2 - J2 ~
U1 3V3 - U2 VCC
U1 IO5 - U2 BIN2
BT1 POSITIVE - U3 BAT+
BT1 NEGATIVE - U3 BAT-
U2 AO2 - J1 ~
U3 OUT+ - SW1 1
U2 BO1 - F2 P1
J3 Pin_4 - U2 VMOT
SW2 2-2 - U2 STBY
U1 IO1 - U2 AIN2
U1 IO6 - U2 PWMB
U2 AO2 - J1 ~
U2 AO1 - F1 P1
U2 BO1 - F2 P1
U2 BO2 - J2 ~
J3 Pin_3 - U1 5V
F1 P2 - J1 ~
F1 P2 - J1 ~
SW1 2 - J3 ~
BT1 NEGATIVE - U3 BAT-
J2
BT1
C3 P2 - C4 P2
J1
GND
GND
GND
C1
Capacitance
470uF
C5
Capacitance
100nF
C3 P2 - C4 P2
F1
F2
C2
Capacitance
100nF
GND
GND
C4
Capacitance
100nF
C3
Capacitance
100nF
GND
GND
C6
Capacitance
100nF
U1 GND - U2 GND
R1
Resistance
10kΩ
U1
U3
SW2
J3

Refine this doc
Ask about this doc
Block Diagram
System Architecture

Text


USB 5 V
   |
[TP4056 charger/protection module]
   | BAT+/BAT-
[Protected removable 1S 18650]
   |
[Master OFF/CHARGE - RUN switch / load isolation]
   |
   +--> [High-current 5 V boost module, >=4 A transient output]
             |
             +--> 5V_LOGIC branch --> ESP32-C3 dev module 5V/VBUS (only if module supports it)
             |
             +--> 5V_MOTOR branch --> 470 uF + 100 nF --> TB6612FNG VM
                                                   |
ESP32-C3 3V3 --> TB6612FNG VCC + 100 nF
ESP32 GPIOs --> AIN1/AIN2/PWMA/BIN1/BIN2/PWMB
ESP32 GPIO + RUN/ENABLE hardware chain --> STBY (10 kOhm pull-down)
TB6612 A01/A02 --> per-motor series protection --> 3.5 mm jack M1 --> motor 1
TB6612 B01/B02 --> per-motor series protection --> 3.5 mm jack M2 --> motor 2
All grounds common; motor and logic branches remain physically distinct until the source/star region.
Safety State Model
  • OFF/CHARGE: robot load disconnected; boost, ESP32 and motor driver unpowered; charging allowed.
  • RUN: charger input must be absent; switched battery feeds boost. Motors still disabled until the accessible RUN/ENABLE control is asserted and firmware drives STBY high.
  • STBY has a hardware pull-down, so reset, unpowered MCU, or open enable chain disables the H-bridge.
  • The two motor conductors cannot reliably double as insertion detection without risking shorting or false-safe behavior. Motor plugs must only be changed while master power is OFF.
Reference Matching Decision
No suitable standalone projects were found in the flux-reference-design organization for ESP32, motor driver, battery charger, or boost-converter blocks. All blocks are therefore classified none / from scratch, using real library modules or clearly labeled header representations where exact module parts are unavailable.
  • System Architecture

  • Safety State Model

  • Reference Matching Decision

Assets

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

Plug-and-Play ESP32 Robot Controller thumbnail
Single-layer CNC-millable ESP32-C3 robot controller for two bidirectional 5 V DC motors, using solderable modules, protected 18650 charging, Wi-Fi/BLE control, and protected 3.5 mm motor connections.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$1.78–$2.01

Digi-Key

$0.16

LCSC

$4.57

Mouser

$5.23

TME

$0.20

Verical

$2.00–$3.47

Controls