To celebrate his 10,000th day on this earth Tom Scott held a Ridiculous Mini Golf Party for which I designed and built a hole inspired by a ball bearing Labyrinth toy.
It's a hole in two parts: First a difficult ramped putt up a real turf slope. The ball then drops into a scaled-up labyrinth toy, but rather than tilting it by hand, you use a Wii Nunchuk controlling servos that pitch and roll the course. Success requires subtle movements, which aren't always easy. I've stuck a Labyrinth Photo Album on Flickr.
Here's the video Tom edited together of all the mini golf holes made for the evening, which demonstrates how one would play my hole (and the others).
I made the labyrinth frame out of pine stripwood, assorted wood screws, and a metric shit-ton of wood glue. The maze itself was made from a piece of hardboard with stripwood offcuts glued and screwed on it. I made this to be functional, cheap and easily portable (as I needed to transport it to the party on public transport), rather than for precision, so as you'll see in the pictures, it's not very square.
To allow the course to rotate in two axes, I made three squares (ish), one larger than the other. The largest acts as a frame, with the next attached via a servo and a bolt to two opposite sides, to allow it to rotate. The smallest sits inside this one attached in the same way, with another servo and bolt. Rather than attaching the maze permanently, I stuck a ledge round the inside of the structure for it to sit on to allow new courses to be swapped in.
Four legs are bolted on the sides, and a piece of fabric is stapled to them to guide the ball when it drops through the holes in the maze. I had ideas for a larger and more reliable ball return system, but didn't implement them as they would have made the whole thing a lot more cumbersome to take apart and carry on public transport.
The ramp (amusingly the only bit of the hole that actually qualifies as golf) is a piece of real turf laid on top of an A-shaped frame made from leftover wood. Two bolts at the top end hook into the labyrinth frame to keep it in place.
For the electronics, I used a Wii Nunchuck via an Arduino to control the two servos. I found the Nunchuck quite easy to work with thanks to a WiiChuck Adapter and WiiChuckClass Arduino library. On the night, the Arduion was paowered by a USB phone charger and lead. While testing, I had it plugged into umy macbook via USB to power iut and to see the position information read from the Nunchuck.
You can view my Labryrinth code on Github, and my Labyrinth construction photos on flickr.