When I was browsing 9gag one day, I have found a picture of a really difficult maze, which I was too lazy to attempt solving. Since I am a programmer I immediatelly though, that this would be so much easier for a computer. In a couple of hours I've managed to turn the idea into a working application. You can see an example of an input and output maze below.

MazeSolver solves mazes, which are automatically read and interpreted from jpg images. As input it takes a jpg image and the coordinates of the beginning and end of the maze. It outputs a file called “output.jpg” with the path through the maze drawn on top of the input maze image.

The maze images need to fulfill some conditions:

  • the walls need to be black or at least darker than the background,
  • there cen be no “tunnels” or “overpassess” in the maze.

The code of the application is available as open source on GitHub here, the binaries can be downloaded here.

Electronic puzzle box

I came up with an idea of building an electronic puzzle box when I wanted to gift my girlfriend with a personal hand-made present. I unfortunatelly have no artistic skills so all drawings, painting etc. were out of the question, it had to be something requiring electronic/IT skills.

The electronic puzzle box that I made contained:
  • a gift (obviously)
  • an arduino UNO microcontroller
  • a GPS receiver
  • a screen
  • a button

The idea is that the box will only open at a specified location which the gifted person does not know. When the button on the lid is pressed the screen shows a distance in meters to the opening location (at first over 90 kilometers).
As you can see on the images below the box contains a separate compartment for electronics and for the gift. The electronics part contained the microcontroller, a battery pack and the GPS unit (which is removed in the photo). The microcontroller controls the GPS, the screen output and the locking mechanism. The locking mechanism is very simple, it uses a chopstick that is pushed by a servomotor.

The most difficult part of the project was keeping all this a surprise as I was increadibly excited by it. I encourage everybody to try making this for someone, as it is a great surprise and a lot of fun to solve. The inspiration for this project came from the Reverse Geocache Puzzle.