Feb 10, 2019

Weekend Project – 3D Printed Marble Clock

Want to tell the time using marbles? In this project, Görkem Bozkurt teaches us how to use a smart rail system, marbles, and 3D printed parts to make an ingenious timepiece.

The Ingenious Time-Keeper

Marble Clock Idea Source: gocivici / Instructables

This 3D printed marble clock, created by Görkem Bozkurt, is an extremely badass timepiece that shows the time based on the position of the marbles. It has three rows of marbles that keep track of time: one row is for minute intervals (marked 1-4); another row is for five-minute intervals (marked 5-55), and the last row is for hour intervals (labeled 1-12). As the marbles get dumped from one row to the next, the number of balls on each row will help you figure out the time using basic math.

You can learn more about how to read time on this peculiar clock type here.

This 3D printed time-keeper uses the weight of the marbles to determine when a row needs to be reset. For example, after the fifth marble has dropped on the minute row, the extra weight causes the row to tilt and to send all the marbles – but one – down to the bottom of the clock. The marble that was responsible for the tilt is sent down to the row below and causes a cascade of marbles down to the bottom.

The clock is based on a design from the ’70s by Harley Mayenschein, using marbles on three different rails to give a readout and to track time. However, Bozkurt’s model is a nifty reimagining of this original version. Bozkurt wanted to improvise the lifting mechanism to replace the traditional design. That is why he opted for the rotary to linear motion system.

Let’s learn how to build this magnificent masterpiece on our own.

3D Printed Marble Clock: How It Works

The Marble clock uses a stepper-driven gear mechanism to lift the marbles to the top. The stepper motor drives the main wheel, which is an ‘elevator’ that grabs a marble from a collection of marbles at the bottom of the mechanism and raises it to the top before rolling it down to the topmost rail (the minute interval rail).

When the top rail is filled, the mechanism makes the rail tilt and drops one ball on the lower rail marked in five-minute intervals. Once the 5-55 rail is full, a similar chain of reaction releases one ball on the hour rail and lets you read the time as you get mesmerized by the movements.

It may seem complicated at first to read the time on this timepiece, but it’s fun once you get used to it.

3D Printed Marble Clock: Parts & Tools

Parts Source: gocivici / Instructables

According to the Instructables project page, a 3D printer with a build volume of at least 250 x 250 x 150mm is required to produce the parts. The 3D printable parts are available on Instructables as well.

Bozkurt suggests that you finish the printing process first before you start assembly. In fact, if you can, complete all the parts and arrange them on the table. Your work will be so much easier. You can even number or letter each piece for easy recognition.

Main parts:

You can find the last few supplies at a local hardware store, while the M3 nuts and bolts can also be found on Amazon.

Extras & Tools:

3D Printed Marble Clock: Design Process

Rotary to Linear Drive Source: mgg942 / Thingiverse

Even though the 3D files are provided, understanding the design process is crucial if you are aspiring to design your own ball clock or to customize the clock.

The rails were designed using Fusion 360.

For the Elevator

The design was inspired by this mechanism. One Thingiverse user named mgg942 adapted the design and created a rotary to linear drive, which Bozkurt tweaked to build the elevator mechanism for his 3D printed marble clock.

Base Structure and Rails

The inspiration for the rails came from the original ball clock. The printed parts will be held to the wooden plate using bolts. The wooden plate will be the main base structure.

3D Printed Marble Clock: Base Assembly

Base Assembly Source: gocivici / Instructables

Bozkurt has provided a pdf template for drilling the holes into the wooden plate.

Besides the 3D printed parts (which there are 28 of), you are going to need the bolts and nuts (5x40mm, 6x30mm, 3x15mm, 6x10mm, and 10x6mm), and four ball bearings.

Bozkurt approximates that the assembly process will last 15-20minutes.

3D Printed Marble Clock: Center of Gravity

Locate the CoG Source: gocivici / Instructables

According to the creator of this project, the most crucial part is figuring out the Center of Gravity (CoG). He is not responsible for the rail pieces that make contact with the joints because he wanted everyone to have the freedom to make adjustments to these pieces. Also, note that the rails are not attached to the connectors under them.

Let’s learn how to locate the CoG.

The Minute Interval Rail

Gently place four balls on the topmost rail. Also, position the rail connectors such that the rail does not tilt. The connector piece should only tip over after the fifth ball is added. This process may require some time and patience before you achieve the optimal position. Once you are satisfied, move to the next rail (the 5-minute interval rail).

The 5-minute Interval Rail

Gently place eleven balls on the second rail while ensuring the rail does not tip over. Find the point where the rail tips over after adding the twelfth ball and glue the connector.

The Hour Rail

The test for the hour rail will be the same as that of the 5-minute interval rail.

Finally, test all the rails by placing eleven balls on the bottommost rail and the middle rail; and four balls on the topmost. Drop a single ball on the topmost rail and make observations. All of the balls should smoothly slide off of their rails.

3D Printed Marble Clock: Elevator Assembly

Elevator Assembly Source: gocivici / Instructables

For the elevator assembly, you will need nine 3D printed parts, the stepper, four ball bearings, one thrust bearing, and bolts (2x10mm, 2x25mm, 2x6mm, 4x40mm) + nuts. You will still need the adhesive, a screwdriver, and pliers.

Bozkurt estimates that this process should take around 5-10 minutes.

3D Printed Marble Clock: Driving the Motor and Timing

Motor Assembly Source: gocivici / Instructables

Driving the Motor

Bozkurt used an Arduino Uno to drive the motor. The PCB had the AccelStepper library, which is available here. The pins from the stepper motor should be connected to the right ports on the Arduino before you upload the code.


You want an accurate clock, and achieving this means changing the motor speed so that the elevator can finish a single revolution in precisely 60 seconds.

This task requires a stopwatch.

Turn on the motor and start the watch once the elevator gear touches a given point. Stop the watch when the gear passes this point again. Observe the time and calculate the needed speed.

T = the time on your spare watch

t = 60 seconds (the time required for the elevator to complete one revolution)

M = initial speed of the motor

m = new speed of the motor

new speed of motor (m) = (T*M)/t

Input this equation into your code and recheck the watch. Repeat the process until you get satisfactory results.

3D Printed Marble Clock: Testing and Troubleshooting

Marbles on Rail Source: Chuckteg / Instructables

Check your spare watch and place the balls in the right places to indicate the time. Once you are done, turn on the motor. Watch as the balls move and look out for the following:

  • Are the balls getting stuck on their pathway?
  • Is the elevator able to lift the ball without dropping it every minute?
  • Can the clock remain accurate for several hours?

Bozkurt has a troubleshooting guide if you experience any of these problems. However, if you do not experience these issues, you have successfully built an accurate ball clock. Kudos!


  • Balls not moving smoothly. Solution: smoothen the rails using sandpaper to remove any filament residue
  • The motor keeps stopping after some hours. Solution: Try using an external power source
  • The clock is not accurate. Solution: Repeat the timing process until you get the desired results
  • Balls keep falling over. Solution: Try changing the surface the clock has been placed on

3D Printed Marble Clock: Customizations

Customized Design Source: IsaacN5 / Instructables

Several customizations can be made on this 3D printed marble clock, but it’s up to you. Here are some examples:

  • You can incorporate a bell so that a sound is made after every hour
  • You can tweak the ball movement system to make it more stylish if you don’t like the current design where the balls drop from one rail to the next
  • You can add an AM-PM rail
  • You can 3D print a bigger clock and you can use different balls

License: The text of "Weekend Project – 3D Printed Marble Clock" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Subscribe to updates from All3DP

You are subscribed to updates from All3DP

You can’t subscribe to updates from All3DP. Learn more…Subscribe

You can’t subscribe to updates from All3DP. Learn more…