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.
Plug-and-play two-motor robot controller using a removable protected 1S 18650, ESP32-C3 Wi-Fi/BLE control, a TB6612FNG dual H-bridge module, and a high-current 5 V boost module. Status: schematic ratings revised; PCB placement prepared; motor-jack rating remains blocked.
Intended Use
Prototype robotics kit on a one-copper-layer CNC-milled through-hole carrier PCB. Modules plug or solder into labeled headers. Motor plugs are changed only with master power OFF.
What the Device Should Do
Charge one protected removable 18650 while robot loads are disconnected.
Run two independent 5 V bidirectional motors under ESP32-C3 control.
Keep motors disabled at reset, communication loss, master-off/charge state, and until explicit enable.
Support onboard USB programming, Wi-Fi, and BLE.
Main Features
TP4056 charger/protection module.
External Pololu U3V70F5 fixed 5 V boost, connected only through large high-current terminal pads/wiring; ordinary 2.54 mm headers prohibited.
ESP32-C3 SuperMini common 16-pin, 4 MB, 22.52 x 18 mm solderable development module with onboard native USB-C Serial/JTAG.
TB6612FNG module with 3.3 V logic and 5 V motor rail.
Two fused mandatory 3.5 mm motor outputs; present SJ1-3524N jacks are provisional and not production-approved above their documented 1 A rating.
Hardware STBY pull-down and accessible RUN/ENABLE control.
System Architecture
See the Block Diagram project file. Power path: protected cell -> master OFF/CHARGE-RUN isolation -> boost -> separate 5V_LOGIC and 5V_MOTOR branches. Grounds are common.
Hardware Subsystems
Battery, Charging, and Isolation
Single protected 1S 18650 and TP4056 module. Charger input and robot RUN state are mutually exclusive operational modes. The master switch disconnects the robot load during charging as far as practical.
Compute
Selected U1 is the ESP32-C3 SuperMini common 16-pin / 4 MB / 22.52 x 18 mm variant (2.54 mm edge-pin pitch) with ceramic antenna and onboard native USB-C Serial/JTAG. 5V_LOGIC feeds its labeled 5V input and all grounds are common. The cited SuperMini board documentation warns against simultaneous external 5 V and USB power, so use USB for programming with the robot 5 V source off unless the purchased board revision is verified to include safe isolation.
Motor Drive
Solderable TB6612FNG module: VCC=3V3, VM=5V_MOTOR. STBY is pulled down in hardware and must be actively enabled by firmware through the RUN/ENABLE chain.
Outputs and Protection
Each motor output uses a separate 3.5 mm through-hole jack and series resettable protection where a suitable library part is available. 100 nF suppression is intended at each motor/plug harness. Provide >=470 uF plus 100 nF at 5V_MOTOR and 100 nF at 3V3 logic.
Interfaces and Connections
GPIO Mapping
Table
Function
ESP32-C3 GPIO
AIN1
GPIO0
AIN2
GPIO1
PWMA
GPIO3
BIN1
GPIO4
BIN2
GPIO5
PWMB
GPIO6
STBY command
GPIO7
GPIO8, GPIO9, and native USB GPIO18/GPIO19 are not used for motor control.
Unused exposed pins GPIO2, GPIO8, GPIO9, GPIO10, GPIO20, and GPIO21 are intentionally no-connect. GPIO18/19 are internally used by native USB and are not in the common 16-pin edge set.
Power and Runtime Expectations
Battery runtime is not specified because cell capacity and measured motor current are unknown. Use a protected high-drain cell and holder/switch/wiring suitable for approximately 7 A peak input current.
Power Tree and Power Budget
Assume 0.75 A typical and 1.5 A brief peak per motor. Total 5 V load is 1.70 A typical and 3.60 A peak. At 3.0 V depleted cell and 85% boost efficiency, input is 3.33 A typical and 7.06 A peak. See Power Budget project file.
Manufacturing and Assembly Expectations
One copper layer, CNC isolation milled, all components on the top assembly side and Bottom copper as the only routed side. No vias or Top-copper traces; use intentional insulated jumpers/0-ohm links for unavoidable crossings. Use wide reinforced high-current paths and generous hand-solder spacing.
Firmware-Relevant Hardware Requirements
Firmware initializes STBY low, configures direction and PWM outputs, then enables motion only after explicit command. Communication timeout stops both motors. Wi-Fi and BLE coexistence are required.
Physical Design Expectations
SuperMini ceramic antenna end at the top board edge facing outward, with the module antenna region overhanging/clear of carrier copper and all high-current modules, battery, wiring, and metal. USB-C must remain accessible at a board edge. Separate noisy motor and logic branch routing with a common source/star ground region.
Important Design Decisions
No false insertion-detect circuit is claimed. Two-conductor 3.5 mm motor plugs may short during insertion; change connectors only while powered off.
Accessible RUN/ENABLE control supplements the STBY pull-down.
Board-side output capacitors are optional/DNP because PWM current spikes may be excessive; install 100 nF at motor terminals or harness.
Assumptions and Unresolved Risks
1.5 A per motor is a brief peak, not sustained. TB6612FNG is unacceptable if 1.5 A is continuous per motor.
Actual motor running and locked-rotor currents require measurement.
3.5 mm motor interface remains a hard blocker: SJ1-3524N is 1 A and no verified >=1.5 A through-hole 3.5 mm alternative was found in the bounded search. Do not claim contact sharing.
Boost selected: Pololu U3V70F5; 2.9-5 V input, 10 A instantaneous/8 A several seconds/7 A prolonged input capability; external wiring through a 16 A terminal interface.
Master switch selected: external Daier KN3A-101, SPST, 20 A at 12 VDC, connected through a 15 A terminal interface.
F1/F2: Bel 0ZRM0125FF1A, 1.25 A hold / 2.50 A trip at 23 C; intended to carry 0.75 A normal load and respond to prolonged stall, not to interrupt a brief 1.5 A peak.
Validation Criteria
Functionally complete wiring; no hidden power pins; safe startup; charger/run isolation; explicit net names; ERC critical errors fixed; exact module and connector ratings documented or visibly flagged.
Change Notes
Replaced ESP32-C3-DEVKITM-1 with the common 16-pin ESP32-C3 SuperMini (4 MB, 22.52 x 18 mm), retained the safe GPIO0/1/3/4/5/6/7 motor map, documented native USB and 5 V power-source caution, and specified antenna/USB edge placement.
Assets are files uploaded to this project which can be used in various ways.
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
Welcome 👋
Flux accelerates your PCB design with AI.
Create your account to start using this component and bring your ideas to life.