Skip to the content
PCBKitNew board
2 layers120 × 100 mmMaze solver 4wd, the printed circuit board in 3D

Maze solver 4wd

SamehHakim23/RoboMaze

Embedded Project Maze Solver

Size
120 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
32
Pads
200
Tracks, vias
508, 40
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
16 Apr 2026
Updated
4 May 2026

Overview

Maze solver 4wd is an open-source printed circuit board by SamehHakim23, from the SamehHakim23/RoboMaze repository on GitHub. It is a 2-layer board of 120 × 100 mm with 31 parts on 32 nets, routed with 508 tracks and 40 vias.

It is built around the ESP32-WROOM-32E and AMS1117-3.3. Its parts include 9 capacitors, 9 connectors, 4 ICs, 3 switches and 2 resistors. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

RoboMaze — Autonomous Maze-Solving Robot

ECNG 4504 — Embedded Systems for Wireless Communications
AUC Spring 2026 | Team 2


Team Members

NameStudent IDEmail
Sameh Ahmed900211681samehahmedhakim@aucegypt.edu
Hamza El Meadawy900211560hamzaelmeadwy@aucegypt.edu
Mariam Moataz900213249mariammoataz@aucegypt.edu
Menna AbdelHamed900212035mennnaa12@aucegypt.edu

Project Overview

RoboMaze is a fully autonomous maze-solving robot built on the ESP32 microcontroller. It uses a 5-sensor infrared array to follow black lines and navigate a maze autonomously across four sequential runs with no human intervention after the initial start command:

  1. LHR (Run 1) — Explores the maze using the Left-Hand Rule, recording all junctions and decisions
  2. Back (Run 2) — Returns to start along a simplified reverse path
  3. Run 2 (Run 3) — Re-navigates the maze on the shortest discovered path using Manhattan distance heuristic
  4. Back 2 (Run 4) — Returns to start along the optimized path

A live web application visualizes the maze map in real time and allows full wireless control via WiFi or Bluetooth BLE.


Repository Structure

RoboMaze/ ├── Firmware/ # ESP32 C++ source code (PlatformIO + Arduino) ├── Hardware(KiCad)/ # KiCad hardware schematic ├── Webapp/ # React + TypeScript web application └── Docs/ # Architecture diagrams, contribution docs, team details


Hardware

ComponentModelRole
MicrocontrollerESP32 DevKit V1Main compute, WiFi 802.11, BLE 4.2
IR SensorsTCRT5000 × 5Line detection array
Motor DriverL298NDual H-bridge PWM motor control
DC Motors25GA370 130RPM × 2Differential drive
Wheel EncodersHall-effect × 2Corridor distance measurement

Firmware

Platform: PlatformIO + Arduino Framework
Language: C++

Key features:

  • Left-Hand Rule maze exploration with junction recording
  • Triplet path simplification algorithm
  • Run 2 Manhattan distance navigation with axis-priority selection
  • WebSocket server on port 81 with full JSON telemetry protocol
  • BLE GATT server with TX notify and RX write characteristics
  • Encoder-based corridor distance measurement with auto-calibration
ini
lib_deps =
    links2004/WebSockets@^2.4.0
    bblanchon/ArduinoJson@^6.21.0
board_build.partitions = huge_app.csv

Web Application

Stack: React + TypeScript + Vite (frontend), Express (backend)
URL: robomaze.net

Features:

  • Live maze map with proportional corridor rendering
  • Real-time sensor display and robot state indicator
  • Full robot control panel (start, back, run2, back2, pause, e-stop)
  • WiFi mode: direct browser → ws://172.20.10.9:81
  • BLE mode: Web Bluetooth API (Chrome desktop)

Wireless Communication

ChannelDetails
WiFiStatic IP 172.20.10.9 · WebSocket port 81
BLEDevice: RoboMaze · Service UUID: 12345678-1234-1234-1234-123456789abc
TelnetPort 23 · Raw log streaming

Parts

31
QtyValueFootprintReferences
4100nFCapacitor_SMD:C_0805_2012MetricC8, C10, C11, C13
410uFCapacitor_SMD:C_0805_2012MetricC7, C9, C12, C14
4MountingHole_3.2mm_M3_PadMountingHole:MountingHole_3.2mm_M3_PadMH1, MH2, MH3, MH4
210kResistor_SMD:R_0805_2012MetricR1, R2
2TB6612FNGPackage_SO:SSOP-24_5.3x8.2mm_P0.65mmU3, U4
1100uFCapacitor_SMD:C_0805_2012MetricC1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1BOOTButton_Switch_SMD:SW_SPST_TL3342SW3
1Battery_7.4VConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ1
1ESP32-WROOM-32ERF_Module:ESP32-WROOM-32U1
1Encoder_LeftConnector_JST:JST_PH_S4B-PH-SM4-TB_1x04-1MP_P2.00mm_HorizontalJ3
1Encoder_RightConnector_JST:JST_PH_S4B-PH-SM4-TB_1x04-1MP_P2.00mm_HorizontalJ4
1IR_Sensor_5CHConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical_SMD_Pin1LeftJ2
1Motor_FLConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ5
1Motor_FRConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ6
1Motor_RLConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ8
1Motor_RRConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ9
1Power_SwitchButton_Switch_SMD:SW_SPDT_PCM12SW1
1RESETButton_Switch_SMD:SW_SPST_TL3342SW2
1UART_PROGConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical_SMD_Pin1LeftJ7

Questions

How big is the Maze solver 4wd PCB?

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

What parts does the Maze solver 4wd use?

31 parts, built around the ESP32-WROOM-32E and AMS1117-3.3. 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 Maze solver 4wd KiCad files?

From the SamehHakim23/RoboMaze repository on GitHub, at the commit this page was made from: the board is Phase2/Kicad with PCB/maze_solver_4wd.kicad_pcb and its schematic Hardware(KiCad)/maze_solver_4wd.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Maze solver 4wd design in my own project?

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

Similar boards

  • 2 layers90.2 × 90 mmSra dev board 2026, the printed circuit board in 3D

    Sra dev board 2026

    SRA-VJTI/sra-board-hardware-design

    ESP32-based Development Board for Robotics and Embedded Applications

    219 parts81MIT
  • 4 layers62.5 × 60 mmUnijoysticle2 c64, the printed circuit board in 3D

    Unijoysticle2 c64

    ricardoquesada/unijoysticle2

    Bluetooth gamepad support for the Commodore 64 / Atari / Amiga, etc.

    58 parts62
  • 2 layers54.2 × 75.2 mmKiCAD Design, the printed circuit board in 3D

    KiCAD Design

    Brobiwann/ESP-spider

    The ESP-Spider is a quadruped robot inspired by the miniKame (https://github.com/JavierIH/miniKame) . Like the miniKame, it uses sinusoidal functions to control servo positions, but the design and code were developed…

    70 parts44
  • 4 layers65.9 × 52.9 mmEX CSB1, the printed circuit board in 3D

    EX CSB1

    DCC-EX/EX-CSB1

    Open source EX-CSB1 CommandStation / Booster

    103 parts13
  • 2 layers100 × 55 mmPCBTriatlonWAY, the printed circuit board in 3D

    PCBTriatlonWAY

    Alejojoa/Triatlon-Alita

    Repositorio dedicado al desarollo de un robot triatlon.

    43 parts6
  • 2 layers21 × 81.2 mmLowpolylight, the printed circuit board in 3D

    Lowpolylight

    bitsandpixels-io/rgb-butterfly

    Butterfly-shaped RGB light panel using ESPHome

    17 parts5MIT
  • 2 layers62 × 72 mmMsx joyblue v2-build2, the printed circuit board in 3D

    Msx joyblue v2-build2

    herraa1/msx-joyblue-v2

    Use bluetooth joysticks with your MSX computer

    64 parts5GPL-3.0
  • 2 layers66 × 143.3 mmWeatherV3-kernelcon2026, the printed circuit board in 3D

    WeatherV3-kernelcon2026

    ZonkSec/kernelcon-2026-badge

    source code for kernelcon 2026 off grid badge

    87 parts4