Introduction: Marble Clock
EDIT:
This Instructable was featured on,
Note:
I have a twitter account where I share the progress of my projects before I publish them. You can follow me and give feedback on my projects. I think this will eliminate many problems of the project before it's published.
--------------------------------------------
Marble Clock is a 3D printed rolling ball clock that tells the time by the location of marbles/balls. It consists of 3 main rails, where,
- The 5-minute rail with 1-minute intervals
- The 60-minute rail with 5-minute intervals
- The 12-hour rail with 1-hour intervals
add up and tell the time.
Outline
In the first step, I will give you a little bit of history of rolling ball clocks and ball clocks in general. Next, I will explain the Idea behind this project. Then I will give you an insight into the design process of this clock, so you'll be able to design your own clock. I'll give you a 3d print guide so you can easily print the required pieces and arrange them. After giving you a step by step assembly guide and show you how to sync your clock, I'll end the instructable with a troubleshooting guide. So, if you encounter any problems during your build you can solve them easily.
The purpose of this instructable is not just to give you a cookbook. I'll show you the way I built this project and provide you with open-ended questions, so you can add your own ideas, and take this project even further. Many parts I've designed are not connected. This way you can change the design to your own liking and then glue them together.
I strongly encourage you to share your build when it's done!
Let's get started.
Step 1: A Short History of Marble Clocks
This instructable is based on the design called "rolling ball clock" that was invented by Harley Mayenschein in the 1970s. He patented his invention and started a company which began to manufacture these clocks from solid hardwoods in the 1980s.[1]
The original rolling ball clock had 3 main rails, 2 for minutes and 1 for the hour. by adding the two rails one can get the total minute. This way the time was shown.[1]
There were many varieties of these clocks ... for example the kineticlock (more info: kineticlock.ca)which had 10 minutes intervals instead of 4, or the Chronomeans Clock which was built with anodized aluminium.
Other rolling ball clock varieties:
- Pendulum rolling ball clock
- Wall mounted ball clock
- Celebration rolling ball clock
- About time ball clock
Source:
[1] https://en.wikipedia.org/wiki/Rolling_ball_clock
Further Reading:
Step 2: The Idea
I've been a long time fan of ball clocks. I've seen one when I was a kid in a novelty store. And I just stood there watching it endlessly. The movement of the balls with time was magic to me. After I heard about the clock contest on Instructables. It gave me the Idea to try to design and build a ball clock from scratch. So I started to sketch on paper.
What I wanted to do was to design a different lifting mechanism instead of the traditional rotating scoop type design. So then it hit me. I was going to use a rotary to linear motion mechanism so while the mechanism was rotated by a motor the ball would be moving in a line, up and down. Creating a little illusion.
The rails were mostly inspired from other ball clocks but I had an idea to create a bell mechanism so everytime one hour passes there would be a sound. Unfortunately, I could not build this into the project.
Step 3: Tools & Parts
Note: these are the Tools&Parts I had available. You can use any other part for your needs.
Tools:
- 3D printer - min 25*25*15cm area
- exacto knife (to cut sharp edges)
- drill/dremel with 3mm tip
- Tack-it (or any other reusable & removable adhesive)
Parts:
- 9 x 40mm M3 bolts and nuts
- 7 x 30mm M3 bolts and nuts
- 2 x 20mm M3 bolts and nuts
- 4 x 15mm M3 bolts and nuts
- 8 x 10mm M3 bolts and nuts
- 16 x 6mm M3 bolts and nuts
- 7 x (3mm*6mm*2.5mm) ball bearing
- 1 x (F6-14M 6mm x 14mm x 5mm) Thrust Bearing
- 1 x 28byj-48 stepper
- 1 x Arduino uno (or any other microcontroller to drive the stepper motor)
- 100 x 11mm Steel Ball (you only need 30 but they get lost quite easy)
- 290x130x3mm wood plate
3D Printed Parts :
all parts are on step 5 I recommend you to read read step5 before printing them.
Step 4: Design Process
You can skip this step if you just want to print the project. This step is for people who want to design their own ball clocks or want to add new features to this project. It gives an insight on how the ball rails were designed in Fusion 360.
If you are new to the Fusion 360 environment I suggest you take a look at a few tutorials.
You can enroll in this class: https://www.instructables.com/class/3D-Design-Clas...
also, this youtube series gives a good beginner tutorial: https://www.youtube.com/watch?v=A5bc9c3S12g
I suggest you to read this step after you've seen the tutorials.
Details on the design process are noted on the images.
Base Structure & Rails
The base structure is basically 6 rails holding 4 rods. The rods(8mmx8mm) were designed to be sturdy. They are held by bolts to a wood plate. The rails were inspired by the original rolling ball clock. But the dimensions are different due to different ball sizes and weight distribution.
Elevator
The elevator design was inspired by this mechanism. User mgg942 used this design and created a rotary to linear drive on Thingiverse . I tweaked and re-designed this to create an elevator mechanism.
Step 5: 3D Print
There are two seperate .zip files you can download.
The 3d parts.zip folder contains all the parts for the clock separately.
The 3d_parts_sets.zip contains 5 sets. each set is designed for a 25x25cm print area.
If you have a large print area you can print these like I arranged them in sets. Or you can print them separately.
I suggest you to finish printing before the assembly of any pieces. It's much easier if you lay them on a table in an arrangement. Like a LEGO set.
Each part is given a number and a letter. these will be useful while following the building instructions next step.
Step 6: Base Assembly
you can use the pdf template to drill holes on the wood.
Parts used in this step:
- [3d printed] 1a-3f (28 parts)
- 5 x 40mm M3 bolts & nuts
- 6 x 30mm M3 bolts & nuts
- 3 x 15mm M3 bolts & nuts
- 6 x 10mm M3 bolts & nuts
- 10 x 6mm M3 bolts & nuts
4 x (3mm*6mm*2.5mm) ball bearing
Tools used:
- Tack-it
- philips head screwdriver
- pliers
Estimated Time:
- 15-20 minutes
Note: Assembly instructions are noted on the images.
Attachments
Step 7: Center of Gravity
This is the most important part of this project. I did not design the rail pieces connected to the joints. This way everyone can adjust them to their needs. The rails and the connectors under them are not attached. You have to figure out the center of gravity and glue it when you are certain. Let's begin,
The 5min rail:
Slowly put 4 balls on the minute rail. And position the connector piece accordingly so it doesn't tip over. It should tip over when the 5th ball comes. This takes a bit of time to adjust. When you're satisfied go to the 15min rail.
The 15min rail:
Slowly put 11 balls on the rail. again it shouldn't tip over while 11 balls are on it. When the 12th ball arrives it should tip over.
The Hour rail:
This is the same as the 15min rail. wherever you glued the connector on the 15min rail you can glue it on the same place on the hour rail.
Lastly, to test them all at once put 11 balls on the hour and 15min rails and 4 balls on the 5 min rail. then drop one ball to the 5 min rail. They all should go smoothly and leave the rails
Step 8: Elevator Assembly
Parts used in this step:
- [3d printed] 4a-5d (9 parts)
- 1 x 25byj-48 Stepper
- 4 x (3mm*6mm*2.5mm) ball bearing
- 1 x (F6-14M 6mm x 14mm x 5mm) Thrust Bearing
- 2 x 10mm M3 Bolts & Nuts
- 2 x 25mm M3 Bolts & Nuts
- 2 x 6mm M3 Bolts & Nuts
- 4 x 40mm M3 Bolts & Nuts
Tools used:
- Tack-it
- philips head screwdriver
- pliers
Estimated Time:
5-10 minutes
Note: Assembly instructions are noted on the images.
Step 9: Driving the Motor & Timing
How to drive the motor
To drive the 28byj-48 stepper motor with a constant speed I've used an Arduino Uno with the AccelStepper library. you can download the library here . If you don't have experience with Arduino or don't know how to install libraries you can check this site.
Connect the pins on the stepper motor to the Arduino like this:
Stepper---Arduino
- IN1 ----> 2
- IN2 ----> 3
- IN3 ----> 4
- IN4 ----> 5
After uploading the code you are good to go!
Timing
The most important thing about a clock is precision. We want this clock to be as precise as any other wall clock/ watch so it works without any error. To do this we have to change the speed of the motor so the elevator completes 1 revolution in 60 seconds precisely.
Now get a stopwatch in your hand and run the motor. Start the stopwatch when the elevator gear crosses a specified point. And stop your watch when it crosses the point again. Take a note at the time. now let's calculate the required speed
T = time on your stopwatch
t = 60s (time you want it to complete 1 revolution)
M = old motor speed("stepper.setSpeed()" in code)
m = new motor speed("stepper.setSpeed()" in code)
new motor speed(m) =(T*M) / t
Insert this into the code and check your stopwatch again, repeat this until you are satisfied with the result
Attachments
Step 10: First Test
You're done with the build now it's time to test this clock!
Check your watch and put the balls according to the time. And start the motor when you are ready. It's really fun to watch time go by with this clock. Go and put yourself some tea and enjoy the sound off balls clicking. Now while doing that you should check a few things to be sure that this clock can run for 7/24 straight.
Things to look for:
- Can the elevator bring a ball without dropping it each minute?
- Are balls not getting stuck on the rails after 2-3 hours?
- Is the clock on time after several hours?
If your answer is no for at least one of those questions, you can check the Troubleshooting step!
If your answer is yes, then congratulations you've built a precise ball clock!
Step 11: Troubleshooting
- Balls are not moving easily on the rails
Sometimes filament residue blocks the balls. use a sandpaper to sand the pieces.
- The motor is stopping after a few hours.
Try to connect external power to the motor.
-the balls are falling even though I set them not to fall
The surface the clock is on can effect this try to change the location of the clock
-The clock is not on time
Repeat the timing step as much as you can until you are satisfied
Step 12: What's Next
There are lots of things that can be improved on this clock. Here are a few that I have in mind.
- Adding an am-pm rail.
- Adding a bell so it makes a sound every hour.
- Creating a more stylish ball descent system. instead of the ball tower that just drops the balls.
- Make a bigger version with different kind of balls
I hope you enjoyed this instructable.
If you have any questions ask away! & tell me about your build!

First Prize in the
Clocks Contest
120 Comments
Question 7 months ago
Ciao, sto costruendo questo fantastico orologio, ma non capisco se i pezzi 5b1 e 5b2 vanno incollati insieme, inoltre non capisco la sequenza dei cuscinetti in tutto il movimento centrale ho fatto diverse prove, grazie
Answer 4 weeks ago
Buonpomeriggio Claudio, anche io sto costruendo questo orologio e ho le stesse difficoltà riguardo la sequenza di inserimento dei cuscinetti. Per i pezzi 5b1 e 5b2 dal filmato all'inizio dell'instructable si vede che le due parti non ruotano tra loro e quindi credo siano solidali (incollate). Volevo inoltre chiederti se per caso hai un piano di foratura accurato, qualcuno nei commenti dice che è errato..
Grazie Felix
Reply 4 weeks ago
Buongiorno Felix, purtroppo per motivi personali ho momentaneamente parcheggiato il progetto, stavo pensando di disegnare di nuovo quella parte del meccanismo, ho provato in diversi modi il montaggio ma nessuno mi soddisfaceva, per quanto riguarda il piano di foratura, se non ricordo male, qualcuno lo aveva aggiunto corretto, io purtroppo non lo ho, non sono arrivato a quel punto, ma penso che con tutti i pezzi stampati e montati non sia un problema ricavare fori perfetti, a breve riprenderò il progetto e sarò lieto di condividere i progressi se vorrai.
Reply 21 days ago
Buongiorno Claudio,
certo puoi condividere i progressi del progetto con me. Intanto ti invio uno scketch di come ho istallato i cuscinetti (e il resto). Per me funziona bene, puoi provare se va anche per te. Attendo nuove
Reply 19 days ago
Buonasera ho potuto vedere solo ora il disegno e intanto grazie mille, a questo punto riprendo in mano il progetto e proseguo con il montaggio per trovare la soluzione migliore grazie ancora a presto
Reply 19 days ago
ok aspetto di sapere se riesci a fare funzionare bene le 3 "altalene", io ho qualche difficoltà ma la parte "ascensore" funziona correttamente.
Reply 4 weeks ago
Buongiorno Felix, ho risposto al tuo messaggio, ma non capisco se hai ricevuto la risposta, replico brevemente di seguito, ho momentaneamente parcheggiato il progetto, pensavo di disegnare di nuovo la parte critica, per il piano fori se non ricordo male qualcuno lo ha aggiunto corretto, ma non penso sia difficile ricavarne uno corretto con i pezzi stampati e montati, sarò felice di condividere l'avanzamento lavori futuro se lo vorrai.
Reply 4 weeks ago
Buongiorno Claudio,
grazie per la sollecita risposta, si mi sono arrivate entrambe le due mail che hai inviato.
Per il piano di foratura andrò a rivedere i commenti ma non mi pare di aver trovato, comunque è risolvibile.
Ho trovato difficoltà nel montaggio della guide mobili perchè queste devono rispondere a due requisiti, ruotare quando il numero di sfere è quello previsto, ma anche stare ad una distanza precisa per appoggiarsi ai "baffi" delle guide fisse che ricevono e poi scaricano le sfere.
Soddisfatto il primo requisito mi trovo che la guida mobile dei 5 minuti si trova troppo lontano dalla guida fissa che dovrebbe ricevere la sfere.
Forse il contrappeso (la sfera che sta all'inizio delle 3 guide mobili) dovrebbe avere un meccanismo di spostamento della sfera (anzichè essere un foro fisso) così da poter facilmente aggiustarne la posizione per trovare il punto giusto in cui la guida rilascia le sfere stando a distanza corretta dalle guide fisse.
Question 4 weeks ago
Hi, thanks for nice instructable, i have printed all parts and collected almost all metal parts.
I do have two questions:
a) in the parts list you mentioned 7x Miniature-Bearings-3X6X2-5mm, than in your Step 6 (parts used in this step) you list 4 of these bearing and later in Step 8 (Elevetor assembly) you mention again 4 bearings. Thus are needed 7 or 8 items?
b) somebody in comments reported that the layout for Base Wood Template is wrong. Do you have a revised template?
Thanks for clarifications you'd provide.
Felix
4 months ago on Step 12
Hi, Thanks for the Instructable and all the time you put into it's design.
I'm eager to get started and have printed all the parts but cannot find the balancing trunnions for the holding rails (1d,e,f etc.), ie the small pieces in set 3. Also rails 2b & c do not incorporate bearing capture brackets.
I could print a 1a tower and cut the trunnions off, but do you have a stl file for these.
I can make things which have a design but lack the imagination to create a design, so I really admire the effort you make.
Steve
Question 7 months ago on Step 3
Well into printing but cannot find a plan of hole positions on the base, hope you can guide me.
Brian.
Answer 7 months ago
Ciao, provo a risponderti io, alla fine del passaggio n°6 trovi un file chiamato modello base in legno.pdf, se lo scarichi trovi quello di cui hai bisogno.
1 year ago on Step 9
I have a wooden one, bought not made by me. It originally has a very poor quality 1rpm synchronous motor that I replaced with a step motor and Arduino. In my case, the Arduino makes one turn per minute, at a speed greater than 1 RPM, controlled by an RTC. That is, every minute the Arduino receives the signal to raise a marble and waits for the next signal.
1 year ago on Introduction
Wow! Terrific interpretation of the original clock. Nicely done.
2 years ago
Thank you for the idea. I printed 44 parts based on the ZIP file. Is that all or are there any other parts that needs to be printed multiple times? Like 4b, does that needs to be printed 4 times?
4 years ago
Good day, Thanks for the cool clock - I worked with my 5yr old to build one, the first one didn't go well, but with some tweaks the second one went well, he wanted one made in all the different colour filament that we had. I ended up creating my own ramp as the three piece one wasn't working for us, there just wasn't enough drop for the length and the balls kept getting hung up on it, we created posts to hold the ramp that concealed the screws. Also changed the mount for the large rotating gear off the arm as the other didn't seem stable enough. The large stationary gear was way to "wobbly" so we made some mounts that went off the top of the two towers which helped with the wobble of the large gear and the rail tower that just had as single tower. Frequently the ball would fall out of the "cup" on the large gear about 1 1/2" from the top rail so I created a guide - just a piece that hangs off the top rail so that the ball can't fall out. Made some mounts for the top rail as well. We used Arduino nano's that we could just solder directly to the stepper driver and made a little box to hold them. Fun project. On the second one we only printed the rails with 15% infill and this messed up our balance more than expected - We just drilled a hold in the end of the rail and put an M3 screw in the end - adjusted length as needed to get the balance correct.
Reply 2 years ago
Hi, behind your clock i see some different iron cylinders and i suppose you use them to make rolling ball sculptures ... if yes could you tell me where did you buy them except of course if you did them yourself. Thank you for answer. Kind regards. Serge.
Reply 4 years ago
Hi Rob, nice job! Could you please share the 3d parts you design?
2 years ago
This is so cool o)
Question 2 years ago
THE HOLE ON THE TEMPLE ARE WORNG