I’m teaching a mid-winter break camp this February, and the capstone project will be to create a maze solving program for the mBot. There were several challenges involved in figuring out how best to solve the problem with a stock mBot, but perseverance always pays off (a bit of ingenuity helps too!).
Here’s a video of the hardy little mBot (that could) solving the maze mBot solving a maze.
Granted, it’s not a really optimized maze-solver nor does it solve all mazes equally well, but the code is all written in the mBlock (Scratch) environment. More advanced algorithms will require writing in the Arduino environment, but that’s a task for another course.