Mechanical Ball Clock

Apr - Jul 2019

Many years ago, I was working on another mechanical project when I suddenly came up with an idea for a mechanical clock. For context, common escapement designs like watch escapements experience deviations in their period when the energy source (e.g., a mainspring) supplies different amounts of torque/force to the rest of the clock. This is why some mechanical watches use a fusee mechanism in combination with their mainspring. The idea I had was to create a second escapement that was insulated from the varying levels of torque/force supplied by the energy source. One year after this idea came to me, I decided to pursue it by designing and building this mechanical clock.

Powered by steel balls, this clock is purely mechanical and has five sections:

Storage

Timestamp: 0:03

This is where all the balls within the clock are initially stored. When filled to capacity, the clock can run for about 11.5 minutes. However, if the storage is replenished at regular intervals so that it never becomes empty, the clock could theoretically run indefinitely.

jammed container
jammed container
First iterations of the storage module. Without careful design, jams can form over an outlet multiple times the ball's diameter.

I realized pretty quickly that creating the storage module was not as straightforward as adding a hole to the bottom of a container. I was surprised by how frequently the steel balls formed jams at the outlet. This problem remained persistent across so many iterations of my design that I came close to adding a user-operated unjamming tool. Fortunately, I eventually figured out some strategies for reducing jamming:

  • Reduce the number of directions from which the steel balls can approach the outlet. For example, an outlet that only allows balls to approach from the top tends to jam less often than an outlet that allows balls to approach from the top and the sides.
  • Reduce the pressure exerted by the steel balls onto the outlet. For example, a container with three layers of balls is less likely to jam compared to a container with ten layers of balls.
storage module of mechanical ball clock

This is why my final design uses a gentle horizontal taper. The gentle taper makes sure the steel balls can only approach the outlet from one direction, and the horizontal wedge’s perpendicular orientation to gravity reduces the pressure the steel balls in the taper can exert towards the outlet. The roof of the horizontal taper also insulates the outlet from the pressure applied from balls above the horizontal taper. After adding this horizontal taper to the storage module, it finally stopped jamming.

Timekeeping

Timestamp: 0:17

timekeeping module of mechanical ball clock

The clock consists of 2 escapement mechanisms. The period of the smaller escapement to the right is the time it takes for a ball to roll from the top of the escapement to the bottom of the escapement, and this directly sets the clock’s period. I designed the clock period to be around 4 seconds, and I can fine tune this period by adjusting the position of the black slider on the track. The period of the larger escapement does not need to be precise because it just needs to supply a new ball to the smaller escapement at some point during the smaller escapement’s clock cycle. I used two escapements because I wanted to insulate the smaller escapement from the pressure and friction applied from the balls in the storage module. Ironically, I later learned that rolling ball clocks are notoriously inaccurate at timekeeping compared to other clocks because of their sensitivity to dust on the tracks. However, that was acceptable to me because I realized early on in this project that I was more interested in the opportunity to design ball-based mechanisms than I was in making an accurate clock.

Display

Timestamp: 0:21

display module of mechanical ball clock

The top green lever represents seconds, and the bottom green lever represents minutes. A ball on the top lever represents 4 seconds, and a ball on the bottom lever represents 1 minute. Once 15 balls have accumulated on the top lever, the lever tips over and dumps out all but one of the balls. This remaining ball then rolls to the bottom lever. To make the display easier to read, I printed some paper labels and inserted them into the display levers while I was 3D printing them.

Regulator

Timestamp: 0:28

regulator module of mechanical ball clock

The regulator’s purpose is to absorb the sudden surge of steel balls coming out of the display levers and release them one at a time into the collector module below. This is necessary because the collector module can only process one ball at a time.

Collector

Timestamp: 0:32

collector module of mechanical ball clock

This is where all the balls collect after they have expended their potential energy going through the clock. The containers are designed so that balls go into the first non-full tank they encounter. In other words, balls will fill up the top tank by default, and they will only begin filling the bottom tank once the top tank becomes full. I designed the containers this way because filling from bottom to top would have caused the bottom container to overflow or collect balls in a dead zone between the bottom and top container. To maximize storage efficiency, the containers store the balls in a hexagonal packing arrangement.

Other Thoughts
iterations of the mechanical ball clock

It took me an unusually high number of iterations to design the mechanisms in this project compared to my other projects. In this project, it was typical for me to design over ten iterations of a mechanism before it began to work reliably. This was especially true of the storage and timekeeping modules.

Years later, I decided to continue exploring ball-based mechanisms by beginning work on a mechanical computer run by steel balls and a second mechanical ball clock. I realized that I could perform complex operations such as adding, bit shifting, timekeeping, and displaying using no moving parts other than the steel balls. However, it seems like designing ball-based mechanisms is deceptively challenging. Some of the mechanisms I designed for my mechanical computer and second clock took over 100 iterations to get right, and I still have many more mechanisms to design for those projects.