
Nrf bga
github-linguist/linguist
Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

Double-layer PCB controller for a robotic dog using ESP32, with four servo outputs, sensor interface, and power management.
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.
Double-layer PCB controller for a robotic dog using ESP32, with four servo outputs, sensor interface, and power management.
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.
The main objectives of this project were to:
The first stage was creating a simple concept sketch to define the location of:
This stage helped organize the PCB before implementing it digitally.
After completing the initial concept, the PCB was implemented using KiCad.
The final design uses a double-layer PCB:
The two layers were used to organize the signal, power, and ground routing while keeping the board compact.
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.
The PCB contains four dedicated 3-pin servo connectors.
Each connector provides:
| Servo | ESP32 GPIO |
|---|---|
| Servo 1 | GPIO18 |
| Servo 2 | GPIO19 |
| Servo 3 | GPIO25 |
| Servo 4 | GPIO26 |
This arrangement allows the robotic dog's servo motors to connect directly to the PCB.
A separate sensor connector was included for future expansion.
The interface provides:
| Connection | ESP32 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
This interface can be used with compatible I2C sensors.
The PCB includes a dedicated power section for the controller and servo connections.
Main power features include:
A large capacitor is included to help stabilize the power supply when the servo motors operate.
| Function | Connection |
|---|---|
| Servo 1 Signal | GPIO18 |
| Servo 2 Signal | GPIO19 |
| Servo 3 Signal | GPIO25 |
| Servo 4 Signal | GPIO26 |
| Sensor SDA | GPIO21 |
| Sensor SCL | GPIO22 |
| Sensor Power | 3.3V |
| Servo Power | 5V |
| Ground | GND |
The PCB layout was checked using KiCad Design Rules Checker (DRC).
Final validation results:
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.
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:
Project Requirements
↓
Initial Design Sketch
↓
Component Selection
↓
GPIO Assignment
↓
PCB Component Placement
↓
Signal & Power Routing
↓
Double-Layer PCB Design
↓
DRC Validation
↓
Final PCB LayoutESP32-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.pngFuture versions of the board could include:
ESP32 PCB Design KiCad Robotics Embedded Systems Robot Dog Servo Motors
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | — | RobotDog:MountingHole_3.2mm | H1, H2, H3, H4 |
| 1 | 1000uF / 16V | RobotDog:Radial_Cap_1000uF | C1 |
| 1 | 5V POWER IN | RobotDog:Battery_1x02 | J5 |
| 1 | ESP32 DEVKIT V1 | RobotDog:ESP32_DevKit_30Pin | U1 |
| 1 | I2C SENSOR | RobotDog:I2C_1x04 | J6 |
| 1 | SERVO1 GPIO18 | RobotDog:Servo_1x03_Vertical | J1 |
| 1 | SERVO2 GPIO19 | RobotDog:Servo_1x03_Vertical | J2 |
| 1 | SERVO3 GPIO25 | RobotDog:Servo_1x03_Vertical | J3 |
| 1 | SERVO4 GPIO26 | RobotDog:Servo_1x03_Vertical | J4 |

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


google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards



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

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:

stacksmashing/pico-tpmsniffer
A simple, very experimental TPM sniffer for LPC bus
It measures 100 × 70 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask wafa7k-dotcom before reusing the design.