You are on page 1of 23

instructables

Marble Clock

by gocivici

EDIT:
This Instructable was featured on,

Motherboard - VICE

Hackaday

Arduino's official blog

Hackster blog

Digital Trends

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

Marble Clock: Page 1


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.

https://vimeo.com/281662044

Marble Clock: Page 2


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:

http://www.chilton.com/~jimw/ballclks.html

https://www.youtube.com/watch?v=Md9WtLwaODU&t=0s

Step 2: The Idea

I've been a long time fan of ball clocks. I've seen one rotary to linear motion mechanism so while the
when I was a kid in a novelty store. And I just stood mechanism was rotated by a motor the ball would be
there watching it endlessly. The movement of the moving in a line, up and down. Creating a little
balls with time was magic to me. After I heard about illusion.
the clock contest on Instructables. It gave me the
Idea to try to design and build a ball clock from The rails were mostly inspired from other ball clocks
scratch. So I started to sketch on paper. but I had an idea to create a bell mechanism so
everytime one hour passes there would be a sound.
What I wanted to do was to design a different lifting Unfortunately, I could not build this into the project.
mechanism instead of the traditional rotating scoop
type design. So then it hit me. I was going to use a

Marble Clock: Page 3


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.

Marble Clock: Page 4


Step 4: Design Process

You can skip this step if you just want to print the images.
project. This step is for people who want to design
their own ball clocks or want to add new features to Base Structure & Rails
this project. It gives an insight on how the ball rails
were designed in Fusion 360. The base structure is basically 6 rails holding 4 rods.
The rods(8mmx8mm) were designed to be sturdy.
If you are new to the Fusion 360 environment I They are held by bolts to a wood plate. The rails were
suggest you take a look at a few tutorials. inspired by the original rolling ball clock. But the
You can enroll in this class: https://www.instructables. dimensions are different due to different ball sizes
com/class/3D-Design-Clas... and weight distribution.

also, this youtube series gives a good beginner Elevator


tutorial: https://www.youtube.com/watch?v=A5bc9c3
S12g The elevator design was inspired by this mechanism.
User mgg942 used this design and created a rotary to
I suggest you to read this step after you've seen the linear drive on Thingiverse . I tweaked and re-
tutorials. designed this to create an elevator mechanism.

Details on the design process are noted on the

Marble Clock: Page 5


2 1

1. the width of the rail is 14mm while the height is 7mm 1. here the extrude tool is used to create an 3d object
2. the circle diameter is 12mm which is 1mm greater than the steel balls,

1
1

1. to create curve in the rail I used the revolve command 1. to create curvy edges you can use the "fillet" tool. This way the material
usage is minimized and it gives a stylish look

Marble Clock: Page 6


Step 5: 3D Print

There are two seperate .zip files you can download. separately.

The 3d parts.zip folder contains all the parts for the I suggest you to finish printing before the assembly of
clock separately. any pieces. It's much easier if you lay them on a table
in an arrangement. Like a LEGO set.
The 3d_parts_sets.zip contains 5 sets. each set is
designed for a 25x25cm print area. Each part is given a number and a letter. these will be
useful while following the building instructions next
If you have a large print area you can print these like I step.
arranged them in sets. Or you can print them

Download
https://www.instructables.com/ORIG/FUG/FY46/JK2UIQ4P/FUGFY46JK2UIQ4P.zip

Download
https://www.instructables.com/ORIG/F60/3E8K/JK2UIQ73/F603E8KJK2UIQ73.zip

Marble Clock: Page 7


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.

2
1
1

1. 40mm bolts & nuts 1. Use tackit or any other non-permanent glue to stick these. after you complete the setup and test it you
2. 15mm can glue them permanently
3. screwed to the wood by 6mm bolts

Marble Clock: Page 8


1

1. use bolts to make these joints sturdy so


they dont move sideways

1
2

1. use super glue to connect these bearings 1. again used tackit to attach this to the base
2. again use non-permanent-glue or tackit to connect these. it will be a life saver trust me so i can move it when necessary
2. 30mm bolts

Marble Clock: Page 9


1

1. screw these bolts tight so there is no wiggle room 1. 10mm bolts


2. you can put the balls for balance test

1. I used m5 nuts. you can use any weight 1. there should me a little distance aproxx 1-2mm between these two

Download
https://www.instructables.com/ORIG/FIH/S3VZ/JK2UJ343/FIHS3VZJK2UJ343.pdf

Marble Clock: Page 10


Step 7: Center of Gravity

This is the most important part of this project. I did not Slowly put 11 balls on the rail. again it shouldn't tip
design the rail pieces connected to the joints. This over while 11 balls are on it. When the 12th ball
way everyone can adjust them to their needs. The arrives it should tip over.
rails and the connectors under them are not attached.
You have to figure out the center of gravity and glue it The Hour rail:
when you are certain. Let's begin,
This is the same as the 15min rail. wherever you
The 5min rail: glued the connector on the 15min rail you can glue it
on the same place on the hour rail.
Slowly put 4 balls on the minute rail. And position the
connector piece accordingly so it doesn't tip over. It Lastly, to test them all at once put 11 balls on the
should tip over when the 5th ball comes. This takes a hour and 15min rails and 4 balls on the 5 min rail.
bit of time to adjust. When you're satisfied go to the then drop one ball to the 5 min rail. They all should go
15min rail. smoothly and leave the rails

The 15min rail:

Marble Clock: Page 11


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.

Marble Clock: Page 12


1

1. glue the gear to this piece

Marble Clock: Page 13


1

1. Make sure that this piece looks up 1. Lasly attach the numbers. I painted them using black model paint

Marble Clock: Page 14


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

Marble Clock: Page 15


Download
https://www.instructables.com/ORIG/FSD/ZED3/JK2UJ6GQ/FSDZED3JK2UJ6GQ.ino

Marble Clock: Page 16


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 fall

Sometimes filament residue blocks the balls. use a The surface the clock is on can effect this try to
sandpaper to sand the pieces. change the location of the clock

- The motor is stopping after a few hours. -The clock is not on time

Try to connect external power to the motor. Repeat the timing step as much as you can until you
are satisfied
-the balls are falling even though I set them not to

Marble Clock: Page 17


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!

Hi gocivici,
I was surfing the web and came across your ball clock page - very impressive indeed! I especially
like your "elevator" mechanism as opposed to the rotary pick-up method - very clever method.
When I continued to read about your clock, and came across a reference to KinetiClocK, I was
surprised to see that you mentioned the clocks that I make. There is now a website ("kineticlock.ca
" - - - it's still in the early phase of development) where folks can see a bit more about this

Hi Mark,
Thanks for your comment, I'm glad that you created a website for your wooden clocks they are
really a work of art! I edited and Included the kineticlock website on this Instructable. Hopefully
more people will see it.
This project was awesome to build. I am using Ender 3 Pro. Setting at 30% infill. Primary layer
height 0.1400 mm. Works great once I found level.

I am trying to assemble the gear assembly, but from the pictures do not understand how to connect
the gear which picks up the ball. Can anyone assist me or have pictures/video tutorial? Any help is
appreciated.
Hi,
I printed 1 mm and 2 mm thick flakes with the same radius at the center space of the gear and
filled the distance with this flakes between the gears. I used bearings too. But because i completed
the project, i can't send photos for now.
Here is where I'm done, functional, not yet finished. Rails must be assembled at first. I've made a
stronger ladder by doubling posts thickness. Base plate must be rigid to preserve geometry, I
chose 5 mils MDF instead of acryl. Also, I did not choose the bearing version for swivel but I
prefered a 4mm diam brass tube on 3mm screw all along rail width (12mm), a nearly no play assy (
bushing) much easier to align. At second step, the reception part must be built with the same logic
of stiffness. For elevator, I've printed gears out of ABS cause I don't believe in rotating mechanical

Marble Clock: Page 18


parts made of PLA. When ready, I'll make a longrun for reliability check. At last, motor speed,
synchro and precision will be matter of software but peanuts in regards to that mechanical system
made from printed plastics....

Your modifications seem to solve a lot of problems I am having with this build. Would you be able
to attach stl files for the modified pieces? Also could you send a link for the exact type of bushings
you used? A dxf file or exact dimensions for the holes in the baseplate would also be very helpful.
My prototype is fully functional but require some more modification. Unfortunately I've no time to
work on this project for the moment. Here is a link to the sketchup files for parts I've modified.
https://drive.google.com/file/d/1oNHN2iFUccr7xi0ID...
This is not fisnished (a mess ;-)) but could be a starting point for your own design.
About the bushing, this is part I named pivot. In this part I've inserted a piece of 4mm diameter
brass tube. It rotates on 3mm screw with very few play. Major improvements are: 2 pieces storage
rail, bushing pivots, one piece elevator wheels, stiffer minutes/hour rails ladder.
Another major problem is the motor becoming so hot. I have to look for another type and redesign
the elevator accordingly.

For motor heating problem, i advice using a 5 or 6 V power supply.


At 12 V it is incredible hot.
Thanks for sharing your design Vincent, it will be of great help.

Well, to be honest, that looks more stable than my build :D, Thanks for sharing! great work.

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.

Hi Rob, nice job! Could you please share the 3d parts you design?

Marble Clock: Page 19


Rafael Morales lo hizo

Rafael Morales lo hizo

I appreciate all the time and effort you put into this project and taking the time to write this
instructable for the rest of us to enjoy. This was a fun project, thank you very much for sharing it
with us.

Was such a fun project to do. It works and time keeping is accurate.

fantastic! good work, thanks for sharing!!

Awesome project.
Is it possible to use Arduino nano instead of uno?
Probably yes. No special processing connections or requirements ...
Just do the modifications on the doors.
I have not even used my Nano myself, but I intend to use them soon. This project should be one of
them.
I downloaded your ino file, however I don't see any M or m in the code. How would I set the timing.
This is what I see.
// ConstantSpeed.pde
// -*- mode: C++ -*-
//
// Shows how to run AccelStepper in the simplest,
// fixed speed mode with no accelerations
/// \author Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2009 Mike McCauley
// $Id: ConstantSpeed.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $
#include <AccelStepper.h>
#include <Wire.h>
#define HALFSTEP 8
#define motorPin1 2 // IN1 on the ULN2003 driver 1
#define motorPin2 3 // IN2 on the ULN2003 driver 1
#define motorPin3 4 // IN3 on the ULN2003 driver 1
#define motorPin4 5 // IN4 on the ULN2003 driver 1
AccelStepper stepper(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
Marble Clock: Page 20
void setup()
{
stepper.setMaxSpeed(1000);
stepper.setSpeed(127.7);
}
void loop()
{
stepper.runSpeed();
}

thanks
Hi,
stepper.setSpeed(127.7);
The 127.7 here is the m value, you can change the speed directly by changing this value.
Hi - Thank you for this beautiful project. I am doing one too.

You state 10mm bolts for the support legs (part 3D) - however none is mentioned on your BOM.
Thank you!
I added them to the list, thanks for pointing it out.
Similar Clock done.

TODO: add sensor to detect falling ball on upper rail; add GPS module; make adaptive soft

1.Gracias a tu exelente idea del mecanismo de elevacion de la bola es que pude terminar mi
proyecto que hacia tiempo lo tenia suspendido. Hice una mezcla y salio algo bueno! Gracias otra
vez

Great design ! Sharing the stl files would be realy nice !?

Yes, this looks great. Please share the design or write an instructable.

Congratulations ! I love your design. Can you share your CAD or stl files? What kind of motor are
you using?
Wow.....i did make the "clock"...…..wonderfulllllll……..makes a lot of noise, so not for in the
'sleeping room'.....lol.....after some regulations the clock works almost perfect in time....just show
more pictures for the "Elevator Assembly"......the 'following up' for the bolts and bearings and
nuts...
Thank you for sharing this project to us…...

Marble Clock: Page 21


I do have problems with : " Step 8 elevator Assembly" . Can you show or tell me how to fit the parts
together , with the bolts and nuts and the bearings please? (parts 4a-5d ) The pictures are good
but i can't see wich bolts or bearings i have to place first...etc....
Elevator Assembly
I am currently working on this project. I love the design. There are however some areas in the
instructions that could use more clarifications.
First: The joined sets designed for larger print beds are missing the "Hold Pieces" from the
individual parts.
Second: The piece 3dd is included in the Set 3 but only qty:1 and the notes do not indicate you will
need 5 unless you review the picture in step 5 showing 5 of them already assembled.
Third: There is no instruction for assembling the little link pieces labeled as Letter D on the picture
in Step 5.
Thanks for pointing these out. I will edit them ASAP and will let you know.

Great instructable. However I got all the sets printed and only then realised they don't include the
numbers, feet and hold pieces. How many of each hold piece / bearing should be printed? Also,
the base template appears to be missing several holes.
Very nice instructable.
26k views just in a couple of days wow, I hope some of those will also contribute to this project.
Here is just an idea:
metal + plastic doesn't play well on the longrun, if your motor have a small metal/copper gear on it
which will move a bigger PLA gear the metal will "eat" the other gear with time, especially if the
clock operates 24/7.
Also someone could design a proper printable base board.
Great job ! To bad most printer on the market are 200x200... possible To resize /adapt ?

This just fits on my Anet A8 which has a print bed size of 220 x 220

Yes of course!
You can print the parts seperately.
Love the clock! Great Instructable.
As far as timing - wouldn't it be easier and more accurate to use an AC synchronous motor such as
https://www.amazon.com/Turntable-Synchronous-Synch...
Synchronous motors are tied to the AC mains frequency and are very precise. On a 60Hz AC
mains the example motor rotates at exactly 1 RPM and could drive a marble lifting gear directly
with some redesign. Or if you want to keep your existing gear train you could find the appropriate
rated RPM synchronous motor to replace your stepper.
Thanks for suggestion!
I choose to use a stepper motor controlled with a microcontroller for it's possibilities. For example a
simple code could be written on C to check time locally (or from a radio tower maybe?) and sync
the clock every 2 hours. Or even set the clock to the current time after a power outage.(Arduino
bumps up the stepper speed until current time is reached.)
very kewl i had a marble clock like this as a child like 40 years ago. i love it. nice job well done. this
reminds me of it very much i managed to hang on to it until a few years ago.
Could you use standard glass marbles for this? As long as they are the 11mm size?

Marble Clock: Page 22


Yes, you can use glass marbles but you have to adjust the center of mass of the rails according to
the new mass of the marbles.
I went to the link given for the download of the library, but could not find anywhere on that site a
place to download
İt's a bit down on the site. I see why you couldn't find it. Here is the direct link:
http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.58.zip
great thanks, I actually have the retail version of this exact clock. My 3D printer is too small for this,
I would like to try and make one out of wood, but not sure if this little stepper cold handle the extra
weight. Don't know much about arduino yet, but is this library only used for these small stepper or
could it be used on a nema 17
There are various ways to control a nema 17 stepper. But first you'll need a stepper driver. You can
find more about it online and on instructables. Here are a few:
https://www.instructables.com/id/Arduino-Stepper-M...
https://www.instructables.com/id/Control-Nema-Step...
The code on my project can be changed to work with these. If you need help I would be happy to
help!
This is awesome! I voted for you.

Thank you!

Do you think you could print the parts on a printer with a 220mm x 220mm bed? My next printer will
be a Creality Ender-3 and thats its bed size, but I really want to make this.

Marble Clock: Page 23

You might also like