Skip to the content
2 layers100 × 70 mmRobotDog Controller, the printed circuit board in 3D

Double-layer PCB controller for a robotic dog using ESP32, with four servo outputs, sensor interface, and power management.

Size
100 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
9
Pads
54
Tracks, vias
35, 0
Pours
1
Routed
Yes
KiCad
KiCad 2.0 (file 20240108)
Created
21 Aug 2026
Updated
21 Aug 2026

Overview

RobotDog Controller is an open-source printed circuit board by wafa7k-dotcom, from the wafa7k-dotcom/ESP32-Robot-Dog-Controller-PCB repository on GitHub. It is a 2-layer board of 100 × 70 mm with 12 parts on 9 nets, routed with 35 tracks and 0 vias.

Its parts include 6 connectors, 1 capacitor and 1 IC. It belongs with the ESP32 boards of this library.

README

README.md

ESP32-Robot-Dog-Controller-PCB

Double-layer PCB controller for a robotic dog using ESP32, with four servo outputs, sensor interface, and power management.

Overview

This project presents the design of a custom double-layer PCB controller for a robotic dog based on the ESP32.

The board was designed to organize the electronic connections of the robotic dog into a single PCB, including four servo motor outputs, a sensor interface, and a dedicated power input.

The project started with an initial design sketch to determine the placement of the main components. The design was then implemented and routed using KiCad PCB Editor.


Project Objectives

The main objectives of this project were to:

  • Design a custom PCB for a robotic dog.
  • Use an ESP32 as the main controller.
  • Provide four dedicated servo motor ports.
  • Add a sensor interface.
  • Add a 5V power input.
  • Organize the power and signal connections.
  • Design the PCB using two copper layers.
  • Clearly label the ports and components.
  • Validate the PCB layout using KiCad Design Rules Checker.

Initial Design

The first stage was creating a simple concept sketch to define the location of:

  • ESP32 controller
  • Servo motor connectors
  • Sensor connector
  • Battery/power input
  • Filtering capacitor
  • Mounting holes

This stage helped organize the PCB before implementing it digitally.

Initial Design Sketch

initial-design-sketch

PCB Implementation

After completing the initial concept, the PCB was implemented using KiCad.

The final design uses a double-layer PCB:

  • F.Cu — Top Copper Layer
  • B.Cu — Bottom Copper Layer

The two layers were used to organize the signal, power, and ground routing while keeping the board compact.

PCB Layout

PCB-layout 3D

Main Controller

The board is designed around an ESP32 development board.

The ESP32 provides the GPIO signals required for controlling the servo motors and communicating with the external sensor.


Servo Motor Interfaces

The PCB contains four dedicated 3-pin servo connectors.

Each connector provides:

  • Signal
  • 5V
  • GND

Servo GPIO Assignment

ServoESP32 GPIO
Servo 1GPIO18
Servo 2GPIO19
Servo 3GPIO25
Servo 4GPIO26

This arrangement allows the robotic dog's servo motors to connect directly to the PCB.


Sensor Interface

A separate sensor connector was included for future expansion.

The interface provides:

ConnectionESP32
VCC3.3V
GNDGND
SDAGPIO21
SCLGPIO22

This interface can be used with compatible I2C sensors.


Power Section

The PCB includes a dedicated power section for the controller and servo connections.

Main power features include:

  • 5V power input
  • Common GND
  • Servo power distribution
  • Filtering capacitor
  • Organized power routing

A large capacitor is included to help stabilize the power supply when the servo motors operate.


Pinout Summary

FunctionConnection
Servo 1 SignalGPIO18
Servo 2 SignalGPIO19
Servo 3 SignalGPIO25
Servo 4 SignalGPIO26
Sensor SDAGPIO21
Sensor SCLGPIO22
Sensor Power3.3V
Servo Power5V
GroundGND

Main Components

  • ESP32 development board
  • 4 × 3-pin servo connectors
  • Sensor connector
  • 5V power input
  • Filtering capacitor
  • 4 mounting holes
  • Double-layer PCB

Design Validation

The PCB layout was checked using KiCad Design Rules Checker (DRC).

Final validation results:

  • DRC Errors: 0
  • Unconnected Items: 0

The validation process was used to identify and correct issues such as track crossings, shorts between power nets, and incomplete connections during the development process.

A final fabrication review of footprints, dimensions, and manufacturer-specific design rules should still be performed before physical PCB manufacturing.


Application

The PCB is intended to be used as the main electronic connection board inside a quadruped robotic dog.

Instead of using multiple independent wires between the ESP32, servo motors, sensor, and power supply, the PCB provides a centralized interface.

This improves:

  • Wiring organization
  • Reliability
  • Maintainability
  • Hardware integration
  • Expandability
  • Overall electronic system organization

Design Workflow

text
Project Requirements
        ↓
Initial Design Sketch
        ↓
Component Selection
        ↓
GPIO Assignment
        ↓
PCB Component Placement
        ↓
Signal & Power Routing
        ↓
Double-Layer PCB Design
        ↓
DRC Validation
        ↓
Final PCB Layout

Repository Structure

text
ESP32-Robot-Dog-Controller-PCB/
│
├── README.md
├── RobotDog_Controller.kicad_pcb
├── RobotDog_Controller_BOM.csv
├── RobotDog_Controller_Pinout.csv
├── fp-lib-table
│
├── RobotDog.pretty/
│   └── Custom Footprints
│
└── images/
    ├── initial-design-sketch.png
    ├── pcb-layout.png
    └── pcb-3d-view.png

Tools Used

  • KiCad — PCB design and routing
  • ESP32 — Main microcontroller
  • KiCad DRC — PCB design validation

Future Improvements

Future versions of the board could include:

  • Integrated voltage regulation
  • Additional sensor interfaces
  • Dedicated servo power protection
  • Additional filtering capacitors
  • Battery monitoring
  • Improved 3D component models
  • Smaller PCB dimensions
  • Manufacturing-ready Gerber files

References

  • KiCad PCB Editor Documentation
  • Espressif ESP32 Hardware Design Guidelines

Project Categories

ESP32 PCB Design KiCad Robotics Embedded Systems Robot Dog Servo Motors

Parts

12
QtyValueFootprintReferences
4—RobotDog:MountingHole_3.2mmH1, H2, H3, H4
11000uF / 16VRobotDog:Radial_Cap_1000uFC1
15V POWER INRobotDog:Battery_1x02J5
1ESP32 DEVKIT V1RobotDog:ESP32_DevKit_30PinU1
1I2C SENSORRobotDog:I2C_1x04J6
1SERVO1 GPIO18RobotDog:Servo_1x03_VerticalJ1
1SERVO2 GPIO19RobotDog:Servo_1x03_VerticalJ2
1SERVO3 GPIO25RobotDog:Servo_1x03_VerticalJ3
1SERVO4 GPIO26RobotDog:Servo_1x03_VerticalJ4

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696

Questions

How big is the RobotDog Controller PCB?

It measures 100 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RobotDog Controller use?

12 parts. 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.

Where can I download the RobotDog Controller KiCad files?

From the wafa7k-dotcom/ESP32-Robot-Dog-Controller-PCB repository on GitHub, at the commit this page was made from: the board is ESP32-Robot-Dog-Controller-PCB/KiCad/RobotDog_Controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the RobotDog Controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask wafa7k-dotcom before reusing the design.