
Robot aio esp32 manuel solder 8 layer
manyetox/Autonomous-Photonics-Carrier
Source-available modular mobile carrier for autonomous photonics experiments using ESP32 control, optical flow, IMU sensing and magnetic wheel encoding.

Compact 8-layer ESP32 robot controller with 4 independent brushed DC motor drivers, onboard power regulation, battery monitoring and expansion GPIO. Designed for RC cars, mobile robots and combat robotics.
Robot aio esp32 manuel solder 8 layer is an open-source printed circuit board by manyetox, from the manyetox/ESP32-Robot-AIO-Controller repository on GitHub. It is an 8-layer board of 50 × 46.2 mm with 59 parts on 58 nets, routed with 443 tracks and 63 vias.
It is built around the ESP32-WROOM-32UE-N4 and TPS56528DDA. Its parts include 24 capacitors, 14 resistors, 6 connectors, 2 ICs and 1 inductor. It belongs with the robots and motor control and power boards and the ESP32 boards of this library.
Compact all-in-one ESP32 controller for RC cars, mobile robots and small combat robots.
This PCB was designed to replace the usual collection of an ESP32 development board, multiple motor-driver modules, voltage regulators and large amounts of wiring with a single compact controller.
The board integrates an ESP32-WROOM-32UE, four independent brushed DC motor drivers, onboard power regulation, battery-voltage monitoring, programming/debug connections and additional GPIO into a 50 × 46.2 mm PCB.
The controller has been manufactured, hand-assembled and fully tested, and the finished board is operational.

Status: Hardware tested and working PCB: 8-layer, 50 × 46.2 mm Controller: ESP32-WROOM-32UE Motor channels: 4 × bidirectional brushed DC Battery: 2S–4S Application: RC cars, mobile robots and small combat robots
Small competition robots often end up containing several separate modules:
This works, but it takes space, adds failure points and makes the electrical system much harder to package cleanly inside a small robot.
The goal of Robot AIO was to integrate the essential electronics of a small mobile robot onto one board.
It was originally designed with Robot Wars / combat robotics and RC-car projects in mind, where compact packaging, fast assembly and simple motor control are particularly useful.
The final PCB shown above has been assembled and tested successfully. The repository also includes the design views below.


A demonstration video is not currently included in this repository. To add one later, place it in the
Mediadirectory and link it here.
The board contains four DRV8231 H-bridge motor-driver stages.
Each channel supports:
This makes the board suitable for configurations such as:
Each motor has its own 2-pin screw terminal.
The main processor is an:
ESP32-WROOM-32UE
This provides:
The 32UE variant also allows an external antenna to be used, which is useful when the controller is mounted inside a robot with significant metal structure around it.
Possible control methods therefore include:
The exact control system is implemented in firmware rather than being locked into the PCB.
2S–4S Battery
│
┌───────────┴───────────┐
│ │
▼ ▼
Motor Supply TPS56528 Buck
│ │
│ 3.3 V
│ │
┌───────┼────────┐ ▼
│ │ │ ESP32-WROOM
│ │ │ │
▼ ▼ ▼ │
DRV1 DRV2 DRV3 DRV4 │
│ │ │ │ │
▼ ▼ ▼ ▼ │
Motor 1 Motor 2 Motor 3 Motor 4 │
│
┌──────────┴─────────┐
│ │
Battery ADC Expansion GPIOThe motor drivers operate directly from the battery rail while the ESP32 and logic circuitry are supplied by the regulated 3.3 V rail.
The four motor drivers are controlled directly by ESP32 GPIO.
| Motor | Input 1 | Input 2 | Output Connector |
|---|---|---|---|
| Motor 1 | GPIO 4 | GPIO 5 | J2 |
| Motor 2 | GPIO 16 | GPIO 17 | J3 |
| Motor 3 | GPIO 25 | GPIO 26 | J6 |
| Motor 4 | GPIO 12 | GPIO 13 | J5 |
Each channel can therefore be independently controlled using the ESP32 PWM peripherals.
For differential-drive robots, for example:
Left Motors → Motor 1 + Motor 2
Right Motors → Motor 3 + Motor 4The assignment can of course be changed entirely in firmware.
Each motor channel uses a DRV8231 integrated H-bridge.
The DRV8231 includes:
The IC is rated for up to 3.7 A peak output current.
Important: 3.7 A is the motor-driver IC's peak rating, not a guaranteed continuous-current rating for the complete PCB. Practical continuous current depends on motor load, PCB temperature, cooling, battery voltage and operating conditions.
Always check the stall current of the motor rather than only its no-load/running current.
Brushed motors can generate significant electrical noise from commutation.
Each motor output therefore includes an RC suppression network consisting of approximately:
47 Ω + 100 nFacross the motor output.
This helps suppress high-frequency switching and brush noise before it propagates through the rest of the robot electronics.
Additional suppression directly across the motor terminals may still be useful for particularly noisy motors.
The PCB was designed for:
2S–4S battery systems
Typical LiPo voltage range:
| Battery | Nominal | Fully Charged |
|---|---|---|
| 2S | 7.4 V | 8.4 V |
| 3S | 11.1 V | 12.6 V |
| 4S | 14.8 V | 16.8 V |
Large solder pads are provided for the main:
VIN
GNDconnections.
This avoids passing the combined robot current through a small PCB connector.
The logic power supply is based around a TPS56528 synchronous buck regulator.
It converts the battery voltage directly to approximately:
3.3 Vfor the ESP32 and logic circuitry.
The regulator allows the controller to operate directly from the robot battery without requiring a separate external buck converter.
Battery voltage is measured directly by the ESP32 through an onboard resistor divider.
The divider uses approximately:
300 kΩ
56 kΩwith filtering before the ADC input.
The approximate relationship is:
Vbattery ≈ Vadc × 6.36For example:
ADC = 2.00 V
Battery ≈ 12.7 VThis allows firmware to implement features such as:
The battery-monitor ADC input is connected internally to the ESP32.
Because the ESP32 ADC is not a precision measurement device, calibration against a multimeter is recommended when accurate voltage readings are required.
A 14-pin 2.00 mm expansion header exposes unused ESP32 connections.
| Pin | Signal |
|---|---|
| 1 | 3.3 V |
| 2 | GPIO 14 |
| 3 | GPIO 15 |
| 4 | GPIO 18 |
| 5 | GPIO 19 |
| 6 | GPIO 21 |
| 7 | GPIO 22 |
| 8 | GPIO 23 |
| 9 | GND |
| 10 | GPIO 27 |
| 11 | GPIO 32 |
| 12 | GPIO 33 |
| 13 | GPIO 35 |
| 14 | Analog ADC |
This makes it possible to add peripherals without modifying the controller PCB.
Examples include:
A dedicated programming/debug header provides:
EN
3.3 V
UART TX
GND
UART RX
GPIO 0This allows the ESP32 to be programmed without permanently adding a USB-to-UART converter to the robot.
Keeping the USB interface off the main board saves both PCB space and components in the finished robot.
The PCB includes two LED functions.
One LED is connected to the 3.3 V supply and provides a visual indication that the logic rail is powered.
A second LED is controlled by:
GPIO 2It can be used for:
The controller uses an 8-layer PCB.
Dimensions:
50.0 mm × 46.2 mmPCB thickness:
1.6 mmThe board includes multiple mounting holes and large ground/power areas to make mechanical installation into a robot easier.
The design was also intentionally created around components that could be assembled manually, allowing prototypes to be built without requiring professional PCBA.
A basic RC vehicle can use:
Gamepad / Phone
│
Bluetooth
│
▼
ESP32
┌──┴──┐
▼ ▼
Left Right
Motor MotorNo external motor-driver module or microcontroller board is required.
All four channels can be used independently:
Motor 1 ─ Front Left
Motor 2 ─ Rear Left
Motor 3 ─ Front Right
Motor 4 ─ Rear RightThis is particularly useful for compact skid-steer robots.
For a small combat robot, the board can combine:
into a single PCB.
High-current weapon motors should normally use a separate appropriately rated ESC or motor controller.
The project was built around several priorities:
Replace several separate modules with one board.
Battery, motors and peripherals connect directly to the controller.
The ESP32 allows the same PCB to be used for many different robot architectures.
The first prototypes were designed with manual assembly and debugging in mind.
The controller is intended for robots where space, weight, reliability and fast repair are important.
The manufactured prototype has been assembled and tested successfully.
Verified functionality includes the core controller hardware, power system and motor-control architecture.
See the assembled working PCB, PCB layout, and schematic included in this repository.
This repository contains the design used to manufacture the working prototype.
The PCB was designed using KiCad 9.
Main project files include:
robot aio esp32 manuel solder 8 layer.kicad_pro
robot aio esp32 manuel solder 8 layer.kicad_sch
robot aio esp32 manuel solder 8 layer.kicad_pcbThe repository therefore contains the editable schematic and PCB rather than only manufacturing outputs.
| Component | Function |
|---|---|
| ESP32-WROOM-32UE | Main processor / wireless controller |
| 4 × DRV8231 | Brushed DC motor H-bridges |
| TPS56528 | 3.3 V synchronous buck regulator |
| 3.3 µH Inductor | Buck-converter power stage |
| Motor screw terminals | Four motor outputs |
| TC2030-style interface | ESP32 programming/debug |
| 14-pin header | GPIO expansion |
| Battery divider | Battery-voltage measurement |
| Status LEDs | Power and firmware indication |
The repository is organised as follows:
ESP32-Robot-AIO-Controller/
│
├── README.md
│
├── Firmware/
│ └── phone_controlled_2servo.ino
│
├── Hardware/
│ └── robot aio esp32/
│ ├── fabrication-toolkit-options.json
│ ├── robot aio esp32 manuel solder 8 layer.kicad_pcb
│ ├── robot aio esp32 manuel solder 8 layer.kicad_prl
│ ├── robot aio esp32 manuel solder 8 layer.kicad_pro
│ └── robot aio esp32 manuel solder 8 layer.kicad_sch
│
└── Media/
├── PCB-Image.png
├── PCB-Layout.png
└── Schematic.pngThis is an experimental robotics controller rather than a certified commercial motor controller.
When reproducing or modifying the design:
For combat robots in particular, the controller should form only one part of the complete electrical safety system.
Working hardware.
The first manufactured controller has been assembled and tested, and the PCB is functional.
Future development can include:
Robot AIO was developed as a compact general-purpose electronics platform for my robotics projects, particularly RC vehicles and combat robotics.
The main idea was simple:
One PCB for the controller, power supply, motor drivers and robot I/O — instead of a box full of development boards and modules.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 0.1u | Capacitor_SMD:C_1206_3216Metric | C6, C15, C17, C19, C25, C26, C33 |
| 4 | 100n | Capacitor_SMD:C_1206_3216Metric | C23, C24, C31, C32 |
| 4 | 100u | Capacitor_THT:C_Radial_D6.3mm_H5.0mm_P2.50mm | C18, C20, C27, C28 |
| 4 | 47 | Resistor_SMD:R_1206_3216Metric | R19, R20, R23, R24 |
| 4 | Screw_Terminal_01x02 | TerminalBlock_4Ucon:TerminalBlock_4Ucon_1x02_P3.50mm_Horizontal | J2, J3, J5, J6 |
| 4 | ~ | Package_SO:HSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.1mm_ThermalVias | DRV8231DSGR2, DRV8231DSGR3, DRV8231DSGR4, DRV8231DSGR5 |
| 3 | 10u | Capacitor_SMD:C_1206_3216Metric | C2, C3, C4 |
| 3 | 1k | Resistor_SMD:R_1206_3216Metric | R10, R12, R27 |
| 3 | 22u | Capacitor_SMD:C_1206_3216Metric | C7, C8, C14 |
| 2 | 20k | Resistor_SMD:R_1206_3216Metric | R16, R17 |
| 2 | LED | LED_THT:LED_D3.0mm | Onboard1, Outer1 |
| 2 | MountingHole4 | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottom | H2, H4 |
| 1 | 0.47u | Capacitor_SMD:C_1206_3216Metric | C9 |
| 1 | 100 Ω @ 100 MHz | Inductor_SMD:L_1206_3216Metric | FB1 |
| 1 | 150k | Resistor_SMD:R_1206_3216Metric | R13 |
| 1 | 1u | Capacitor_SMD:C_1206_3216Metric | C16 |
| 1 | 22p | Capacitor_SMD:C_1206_3216Metric | C5 |
| 1 | 3.3u | Inductor_SMD:L_10.4x10.4_H4.8 | L1 |
| 1 | 300k | Resistor_SMD:R_1206_3216Metric | R25 |
| 1 | 33k | Resistor_SMD:R_1206_3216Metric | R14 |
| 1 | 3k | Resistor_SMD:R_1206_3216Metric | R11 |
| 1 | 56k | Resistor_SMD:R_1206_3216Metric | R26 |
| 1 | ESP32 free gpio pins | Connector_PinHeader_2.00mm:PinHeader_1x14_P2.00mm_Vertical | J7 |
| 1 | ESP32-WROOM-32UE | RF_Module:ESP32-WROOM-32UE | U1 |
| 1 | MountingHole1 | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottom | H3 |
| 1 | MountingHole3 | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottom | H1 |
| 1 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottom | H5 |
| 1 | TC2030 | Connector_PinHeader_1.27mm:PinHeader_2x03_P1.27mm_Vertical | J1 |
| 1 | TPS56528DDA | Package_SO:Texas_HSOP-8-1EP_3.9x4.9mm_P1.27mm_ThermalVias | U3 |
It measures 50 × 46.2 mm and has 8 copper layers, 1.6 mm thick.
59 parts, built around the ESP32-WROOM-32UE-N4 and TPS56528DDA. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the manyetox/ESP32-Robot-AIO-Controller repository on GitHub, at the commit this page was made from: the board is Hardware/robot aio esp32/robot aio esp32 manuel solder 8 layer.kicad_pcb and its schematic Hardware/robot aio esp32/robot aio esp32 manuel solder 8 layer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask manyetox before reusing the design.

manyetox/Autonomous-Photonics-Carrier
Source-available modular mobile carrier for autonomous photonics experiments using ESP32 control, optical flow, IMU sensing and magnetic wheel encoding.

hongtannnn/amr_stm32
AMR Hardware & PCB Design: Low-level controller board and hardware system (STM32 / KiCad) engineered as the foundation for future ROS 2, SLAM, and autonomous navigation integration.

Poent/RC-Snowblower
Working on designing the impeller and auger portion of the snowblower. Switched from using a worm gear assembly to a custom ring and pinion setup using a spiral bevel gear.

codujla/PowerBoard
Power management board that converts a 4S Li-ion battery into multiple regulated voltage rails using integrated DC-DC converters, with built-in protection against overvoltage, overcurrent, and reverse polarity.

Kenneth-Goveas/CARL-Air-Brake-Power-Supply-Hardware
This repository contains the electronic hardware design for the power supply module of the [CARL Air Brake][cab-repo] computer.

manyetox/HUMA-Rocket-Flight-Computer
Unfinished STM32H7-based rocket flight computer with redundant IMUs and barometers, high-g and vibration sensing, microSD black-box logging, 915 MHz LoRa telemetry, analog OSD, expansion I/O, and recovery outputs.

