3pi maze software

My dad just bought me a 3pi robot and I would like to load in a program like in the video to solve a maze. Can anyone tell me where to find this program and how to load it in? I want to take it to school and show my class for show and tell.


Hi Calvin
There is some example code in the 3pi user’s guide:

This thread may help you also:

Hope this helps.

Hello Calvin.

All of our example 3pi programs can be downloaded as part of the Pololu AVR library. If you just want to load our existing maze-solving demo program, you can download and extract the precompiled binary distribution and program your 3pi with the file:


This example produces a decent maze solver, but not one that’s as fast as what you saw in the video. Our example code was written to be as easy to understand (and build off of) as possible, and we intentionally left room for improvement so that you can have the fun of watching it perform better as you modify it. If you want to tweak the code, the maze-solving section of the 3pi user’s guide that Nor_Viking linked to should help you get started by explaining how the example works.

Also, if you haven’t already, you will need to build your own line maze course for the 3pi to run on. You might find this guide helpful.

Good luck with your show and tell. I hope your classmates enjoy it!

- Ben

Thanks Ben! You’re the best! Also thanx toeveryone who posted a reply, I’m sure it will help :exclamation: :smiley:

Hi Ben!

May i know what algorithm u used in this video?


The code is a modified version of the sample maze solving code we provide as part of the Pololu AVR library. You can find more information about it in the 3pi user’s guide. I think my exact code is unlikely to be helpful to you; it is very messy, so you will not be able to easily understand what is going on, and it is highly customized for a particular style of course (e.g. 3/4" black lines on a whiteboard-like surface, a 6" grid spacing, etc).

- Ben

Ben, Thanks for replying!

Btw, may i know the code in

is Flood Fill or Dijkstra?

I think it must at least be pretty close to Djikstra’s algorithm, but I not really sure. I wasn’t specifically trying to implement one or the other, and I’m not familiar enough with those algorithms to know which one I might have used. It’s possible I have some bastardized combination of both.

- Ben

Hi Ben,

Thanks a lot for your kind reply! Have a great day ahead!