Servo Controlled Marble Maze




About: A Maker since childhood with all the classic symptoms, a robot builder, and an Internet software CTO by day.

This is version of the classic marble maze (there are choices in the path), where the pan and tilt are controlled by hobby servos. With the servos, you can work the maze with an R/C controller or a PC etc.

We built this one to be used with TeleToyland, and you can try it out live at the TeleToyland Marble Maze, and a second bigger one, the TeleToyland Marble Maze 2.

To make setting up and changing the maze easy, we used a Lego plate and bricks.

This Instructable has an easier and nicer build of this Marble Maze.

Step 1: Materials

The materials for this one are pretty easy - should all be available at your local home store (except the servos).

Metal - for the following, we used about 5 feet of each:
1" wide x 1/8" thick aluminum bar for the X axis
1 1/2" wide 1/8" thick aluminum bar for the Y axis
1 1/2" wide by 1/16" Aluminum angle

1x4 pine for the base - need about 34"

#6 nuts/bolts - a few lengths, a couple 1" ones, and the rest 3/4 and 0.5 inches long
#6 washers and #6 split lock washers

We used Hitec HS-625MG servos. Even though the mechanism is well balanced, standard hobby servos tended to jitter a bit. Note that for TeleToyland, we also turn the servos off when they are not moving.

The right size marble for two Lego studs is 9/16" (14mm), which is common on board games. Land of Marbles has many colors and styles available in this size.

Step 2: X Axis

We are calling the inner ring the "X Axis".

We basically man-handled this together on the bench vise. If you have a bending brake, then we are envious :-)

The X axis needs to be the size of the Lego plate you will be using, so for the Lego Large Green Baseplate (item #626), it should be 10 inches x 10 inches. For the Lego X-Large Gray Baseplate (Item #628), it should be 15 inches by 15 inches. For the rest of this Instructable, we'll use the green baseplate measurements.

We cut the 1" aluminum bar it to length, then marked where the bends should go. Then we clamped the bar in a bench vise to bend it. Note the connection is in the middle of one side rather than the corner. This made sense to us since we get the extra thickness for the axle, and it seemed like it would be easier to join it on a side rather than a corner.

Once it was bent into shape, we used a smaller piece to join the ends, and used 4 #6 bolts to hold it with nuts and split lock washers.

In the middle where we used the small plate to join the ends, we placed a 1" #6 bolt pointing out of the ring. This will be the pivot for the X Axis.

On the opposite side, we placed a servo horn. We drilled a large hole to fit the plastic ridge around the center (on the other side of where the servo attaches), then used a couple #6 screws to mount the servo horn. the horn is mounted on the outside of the ring. The large hole in the center allows the servo set screw to be tightened from the inside.

Step 3: Y Axis

We are calling the middle ring the "Y Axis".

The width is the most critical dimension - needs to fit the X Axis with just enough clearance for the servo and for the axle. The length needs to leave enough clearance for the X Axis to move freely as it rotates. Ours is about 11 1/4 inches x 12 inches.

As with the X Axis, we used a small plate to join the YAxis, added an axle, and a servo horn.

The main difference is that we need to mount the servo that actuates the Z Axis, and we inset it at the point that centered the X Axis inside the Y Axis. Once we lined that up, we also drilled the hole for the X Axis axle/pivot to fit in to.

Step 4: The Maze

The outer ring just needs to hold the Y Axis servo and the pivot hole. We chose to use some 1 1/2 inch angle aluminum around it, but you could do this a lot of ways - now that we look at it, maybe even with just a wood frame and a couple brackets.

The construction was as before, though we needed to cut the angle aluminum to bend it at the corners (see picture). We used some 1x4 inch pine to get it off the ground.

Ours is about 14 1/2 inches x 13 1/2 inches. Again, the width is critical, and the length needed to allow for the X Axis servo to swing freely.

The Lego plate was taped on to the inner ring with some packing tape. For the bigger Marble Maze, we added two 1x3 inch boards across the X Axis to help support the Lego plate.

The marble size is key - we tried a few to find the right size, and even found some UV reactive ones.

Step 5: Comments

- There are several marble maze projects out there. Some use servos on the traditional game. We chose to do one without the holes to avoid building a ball return system

- RoboRealm did an automatic vision based solver for the 2008 Maker Faire.

- On the large one, we ended up adding some counterweights to keep it more balanced when being used.

- Check out this separate Instructable on how the Marble Maze was setup for local control at a show using just an Arduino and some push buttons.



    • Build a Tool Contest

      Build a Tool Contest
    • Remix Contest

      Remix Contest
    • Pocket Sized Contest

      Pocket Sized Contest

    14 Discussions


    Reply 4 years ago on Introduction

    This is an old thread, but just a note that there are some choices in the paths, so it's technically a maze AFAIK.


    6 years ago on Introduction

    Would buying servos from the hobby shop be already programmed to use a mouse of some sort?

    1 reply

    Reply 6 years ago on Introduction

    Hobby servos use pulse width modulation for control - a standard created by the R/C industry long ago. There are a lot of web pages on how that works, so I won't repeat it here. So, for robotics etc., we use separate electronics to connect the controlling device to the servos. Since hobby servos are so popular, there are a lot of ways to do this. If you search the web for something like "mouse servo control", you will find some examples.

    Good luck!

    This is an awesome adaptation of a great classic toy.

    I'm curious how difficult it would be to fully automate it. If the base (that the marble rolls around on) was grounded metal, connectors could be placed on the walls of the corners (2 makeshift "switches" per corner). If you used a known layout of the maze, would it be feasible to have an arduino solve it (by changing the slope based on the switches closed)?

    1 reply
    CarlShuck alexander

    Reply 6 years ago on Introduction


    Since this one has no holes, it would be fairly easy to solve it with an Arduino. You'd want to know the starting position, or with one sensor switch it may be possible to have a series of moves that guarantees it will get to one location. For TeleToyland, I removed extra maze pieces that were not needed to catch the ball to make it seem less obvious from looking at it, but adding those back may make the automatic solution easier. This one is web controlled, but it's just two servos, so an Arduino can easily manage that.

    FYI, RoboRealm did a solution using vision, and demoed that at the MakerFaire a few years ago:


    9 years ago on Introduction

    I did a project just like this, only more elaborate. My setup also included a microcontroller, wiimote nun-chuck, and tilt-angle indicating LEDs. You can see a video of mine in action here:

    2 replies

    yours is insane and nice idea to have interchangable layouts! But a problem i see in video of yours is that its not sensitive enough and i seen some parts where you slowly and slighty tilt the controller and it would give alittle jerk.


    9 years ago on Introduction

    hey can we use  electromagnets.............
    for making this.....


    just went on the website, what about a live action camera and controlling the movement with the arrow keys. I don't know programming, so i don't know how easy/hard this would be, but it would definitely improve the playability of it. that said, it is still amazingly cool and better than anything i could ever do! :D


    9 years ago on Introduction

    Awesome, but in my opinion, the best bit is the website and live control of it! It's awesome! Well done.