Case study

Autonomous Maze Vehicle

A compact autonomous vehicle built on an Arduino platform that navigates mazes independently. Using three ultrasonic distance sensors, the vehicle executes a left-wall-following strategy with proportional steering control, detects and avoids obstacles in real time, and maintains a consistent wall offset — all within the tight processing constraints of an Arduino.

RoleEmbedded systems programming, sensor integration, control logic
TimelineFirst year engineering project
FocusEmbedded Systems + Robotics
Embedded programmingSensor fusionAutonomous navigation
Arduino (C++)Platform
3× ultrasonic distance sensorsSensors

The brief

Challenge

Navigate an unknown maze autonomously using only local sensor readings, with no external positioning or mapping — on an Arduino with limited processing power.

Approach

What we made

Implemented a left-wall-following strategy using proportional control to maintain a target wall distance. Median filtering across three consecutive ultrasonic reads reduces noise, and a backup-and-turn maneuver handles dead ends and head-on obstacles.

  • Left-wall-following algorithm with proportional control maintains 14 cm wall offset.
  • Three ultrasonic sensors provide front, left, and right distance readings with median filtering for noise reduction.
  • Obstacle avoidance logic detects objects within 25 cm, reverses, and steers toward the wider opening.
  • 80 ms control loop with 25 ms sensor timeout — tuned for real-time responsiveness on Arduino hardware.

Outcome

Results

A fully functional autonomous vehicle capable of navigating maze environments in real time, demonstrating sensor integration, embedded control logic, and practical robotics on constrained hardware.

ArduinoC++Ultrasonic sensorsPWM motor controlServo steering

Gallery

Visual snapshots

Click any image to expand.

Next project

Connect Four

A browser-based Connect Four game built with vanilla HTML, CSS, and JavaScript — two-player local multiplayer with win detection, draw detection, and full keyboard support.

View next project