Micromouse: An Autonomous Maze-Solving Robot


A micromouse is a small autonomous maze-solving robot. When put inside a maze, it detects the walls and avoids hitting them, thereby navigating a route in the maze.

The micromouse’s movement is guided by improved PID control with IR sensors and the gyroscope, which determine the robot’s position, orientation and detect obstacles. It is powered by two DC motors, controlled throuh a H-bridge motor controller via a pulse-width modulated signal.

This multifaceted embedded systems project allows students to learn and apply knowledge in micro-controller programming, algorithm analysis, signal processing, feedback control, and circuit design, etc.


  • Hardware: body, motor, motor driver, sensors, wires and the controller.
  • Software: Arduino programming.


  • Robot body design
  • Print circuit board (PCB) design with Eagle
  • Wiring and soldering the sensors, motors,the motor driver, batteries, and wheels
  • Arduino Nano programming (PID controller implementation)
  • Testing

Our Demo

Junhong Shen
Junhong Shen
Undergraduate in Math. of Comp.

My research interests include theories and applications of reinforcement learning and machine learning.