A Small Line Maze Solving Robot

For two years I’ve been working on a small maze solving robot. I started with McCabe’s design from 2011.

(Maze Solving Robot V3)

Robot size is 9cm x 8.5cm. It successfully completes a maze, without loops, 100% of the time. It also makes a second optimized run. The maze is based on a 6 inch grid using 3/4th inch wide electrical tape. All junctions are at right angles.
MY Maze Solver

This is not the end of the project. I’m now experimenting with ‘breadth first’ and ‘depth first’ tree search techniques working toward loop maze solving algorithms.

All the main components, except for the Adruino Nano, were purchased from Pololu: To ensure steady power the #2562 regulator ensures a steady 5 volts to the robot, even as battery power wanes. The motors are driven by the #2135 dual motor drivers. Power is provided by 3-AAA batteries from a switched box, #1147. It should work with a 2-AA box with switch, #1160.

Motors are #1097, 90 RPM, with #1088 wheels. Motor brackets are #1089. The robot must be made wider if you want to add motors with encoders. The ball caster is #950.

Maze sensing is performed using four of six sensors on a #960 sensor unit. Two center sensors follow the line and two outer sensors search for junctions. These sensors provide analog output that makes for simple line centering using only proportional error control. These sensors have 3/8th inch sensor spacing. I prefer this pitch to the black sensor 8 mm pitch for two sensor line centering.

The robot was designed going back to first principles. The Arduino IDE was used for programming with no include files, or libraries. After years of experimenting with large “floor sized” robots I selected this design to allow for table top sized mazes. But as robots get smaller parts tend to cost more.

I’m retired so my hobby is intended to fill free time. (If you are under time constraints a 3PI might be a better choice.) This is my third version of the bot. My first used a PIC microcontroller using assembler language. The last two versions used the Nano. Unseen in the photo are four LED’s, behind the battery, for program feedback.

If there is interest I will provide schematic, PCB layout and software. Two versions of software exist. In the first, all turns are made like a “zero turn” lawnmower. In the second version, left and right turns are made with stopped inner wheel as the radius center.


Hello, Bob.

Thank you for sharing your robot. Your write-up is very thorough, and the robot looks great! If you have any video of it in action, I would love to see it!

Looped maze solving sounds like a really fun next step; personally, I found it really rewarding to problem solve. I look forward to seeing how it progresses for you. Good luck!


The blog only accepted a 5meg file which was just a few seconds.

I have attached three files:

2-2023MazeB.ino is the Arduino sketch file for the fixed wheel rotation robot.
2-2023MazeB.ino (12.4 KB)

GreenBot.pcb is the circuit board.
GreenBot.pcb (11.6 KB)

Green Robot.sch is the schematic diagram.
Geen Robot.sch (14.0 KB)

The PCB and schematic were written in ExpressPCB software. I use the green layer of the PCB software to make my own single sided boards using toner transfer. This may be a bit dated technology but I have a computer system for electronic design and analysis that meets all my needs:

1 Like