The complete schematic is built: 136 components, 109 named nets, dual high-current regulators, four DRV8874 motor channels, Pi/ESP32 interfaces, sensors, servo bus, and protected power distribution. Independent ERC, passive-component, and availability checks report no open errors or warnings.
Open items before PCB layout
Confirm the exact DOIT ESP32 DevKit V1 30-pin orientation.
Verify encoder outputs are 3.3 V-compatible.
Confirm servo connector and status-beacon current ratings.
Six simultaneous servo stalls remain outside the 7.4 V regulator envelope.
I reviewed the confirmations and existing PCB: it is currently 160 × 100 mm, 4-layer, with all 136 components present, but placement has several congested/unroutable regions. No layout mutations were made because the account ran out of available ACUs.
Remaining work:
Apply confirmed ESP32 pinout and encoder-power changes.
Add four corner M3 mounting holes with 5 mm keepouts.
Re-place components into thermal/functional zones.
Configure power-plane and ≥2 mm motor-routing rules.
I couldn’t analyze or modify the PCB because no ACUs are currently available, so AI layout features cannot run.
The board remains 160 × 100 mm, 4-layer, with 136 components present. Based on the last verified state, both component placement and trace routing are needed, followed by DRC cleanup. No new changes were applied.
Integrated carrier motherboard for a 4-wheel mecanum autonomous inspection robot.
Replaces loose wiring and L298N modules with onboard power conversion, four protected H-bridges, compute-module sockets, and keyed peripheral connectors.
Intended Use
Prototype AMR powered by a 3S 5200 mAh LiPo, carrying a Raspberry Pi 5 with Hailo-8L AI HAT, an ESP32 development board, four 12 V encoder motors, six Feetech STS3215 serial servos, LD19 LiDAR, ultrasonic sensors, cameras, and a status beacon.
What the Device Should Do
Distribute protected battery power to motors and two regulated high-current rails.
Power and interconnect the Raspberry Pi 5 and ESP32 without loose Dupont wiring.
Independently control four mecanum motors and read their quadrature encoders.
Provide a half-duplex serial interface and 7.4 V supply for six bus servos.
Connect LiDAR, two ultrasonic sensors, I2C sensors, and a switched status beacon.
Provide diagnostic LEDs and driver current/fault feedback.
Main Features
3S LiPo input, reverse-polarity protection, main and branch fusing.
5.1 V / 6 A synchronous buck for Pi 5, Hailo, ESP32, LiDAR, and logic.
7.4 V / 8 A continuous synchronous buck with 10–12 A transient target for servos.
Four DRV8874-class single-channel motor drivers, each supporting at least 18 V and 3.5 A peak.
Raspberry Pi 40-pin socket and narrow 30-pin ESP32 DevKit socket.
Four combined motor/encoder connectors.
Two parallel STS3215 bus connectors.
System Architecture
Diagram
Hardware Subsystems
Input Protection and Distribution
Use a high-current battery connector appropriate for at least 30 A peak; an XT60-class connector is preferred over a 10–15 A screw terminal.
Main fuse target approximately 30 A, with separately fused motor, servo, and logic branches.
Reverse-polarity protection must have low loss; use a suitably rated P-channel MOSFET or ideal-diode controller rather than a series Schottky for the full system current.
5.1 V Compute Rail
Synchronous buck, 9–12.6 V input, 5.1 V nominal output, at least 6 A continuous.
Supplies both Pi 5V header pins, ESP32 VIN, LD19, ultrasonic modules, and logic loads.
Include input/output bulk capacitance, local decoupling, enable configuration, feedback network, compensation if required, and power-good/test access.
7.4 V Servo Rail
Synchronous buck, 9–12.6 V input, 7.4 V nominal output, at least 8 A continuous and 10–12 A transient design target.
Supplies two parallel 3-pin servo bus connectors.
Include substantial low-ESR polymer and ceramic output capacitance for torque transients.
Six servos have a theoretical simultaneous stall demand of 18 A; firmware must limit simultaneous high-torque events because the requested regulator is not sized for six-way stall.
Motor Control
Four independent DRV8874-class H-bridges on the fused battery rail.
Each motor: 0.8–1.2 A continuous, 2.5–3.0 A stall.
Route IN/PH/EN control, current-sense analog output, and fault output to ESP32 pins.
Include local bulk and ceramic VM decoupling and datasheet-selected current-limit components.
Compute and Control
Raspberry Pi 5: 2x20 socket; pins 2 and 4 to 5V1 and all standard ground pins to GND.
ESP32: two 1x15 sockets for a narrow 30-pin DevKit; VIN to 5V1 and all GND pins to GND.
Pi UART and ESP32 UART use crossed TX/RX at 3.3 V logic; no level shifter is required when both sides are 3.3 V.
Servo Interface
Half-duplex single-wire UART transceiver using a 74LVC2G241/74HC126-class tri-state buffer arrangement.
Provide direction control and selectable Pi or ESP32 UART ownership without directly tying two push-pull transmitters together.
Sensors and External Interfaces
Four 6-pin JST-XH motor/encoder connectors: motor outputs, 5V1, GND, encoder A, encoder B.
Two 4-pin ultrasonic headers with 1 kΩ / 2 kΩ echo dividers.
One 4-pin 3.3 V I2C/Qwiic-compatible header.
One 4-pin LD19 connector: 5V1, GND, Pi UART TX, Pi UART RX.
One status-beacon connector with power, ground, and two low-side MOSFET control channels.
Interfaces and Connections
Main power: protected VBAT_FUSED.
Regulated rails: 5V1_SYS, 7V4_SERVO, 3V3_LOGIC, and GND.
UART nets must be named by source and destination to make TX/RX crossing explicit.