Great Ball Contraption Module: Akiyuki’s Ball Factory    Send article as PDF   

Author: Blakbird’s Technicopedia

Posted 01 April 2015 – 11:57 PM

Although I find the whole concept of the Great Ball Contraption fascinating, I have to admit that I have not been particularly tempted to build one myself in the past. I can’t say for certain why this was so, save perhaps that I saw too many versions of the standard conveyor built with tracks. Then Akiyuki started creating modules and posting YouTube videos and I was blown away. He has not only created some of the most mechanically complex LEGO creations ever, but he has managed to make them beautiful and mesmerizing at the same time. My favorite of these is the Ball Factory, a stunningly complicated mechanical creation powered by only a single motor. This model not only performs the standard GBC function of moving balls from left to right, but also integrates a similar system of moving buckets which is seamlessly integrated with the ball functions. See for yourself.

Akiyuki’s original video:

I was enthralled by the video but figured I had a nearly 0% chance of ever reproducing this model without full instructions. Enter “The Rebricker”, an AFOL who spent 2+ years reverse engineering this model and then creating a series of 14 construction videos showing how to put it together. Beginning with his excellent videos, I spent about a month recreating the model in LDraw. This process of placing each part one by one resulted in my understanding of how the model works so that it was actually a reasonably simply model to build it in real life.

After completing the LDraw file I made a parts list and started putting together a bin of the required parts. While waiting for them to arrive, I made the cutaway render below in an effort to show how the model works. While this type of image may work with a typical model, you don’t have to look at this image for very long to realize that this model is far too complex to understand with only a single image. Therefore, I’ll divide the model into modules and go through the function of each of them one by one.

The image below shows each of the modules color coded. Even with this level of subdivision, it is still difficult to see what is going on.

  • Black = Main Power Distribution
  • Green = Ball Spiral Lift
  • Purple = Ball Lifter
  • Gray = Ball Picker
  • Lime = Ball Return Conveyor
  • Brown = Ball Output Selector
  • Blue = Bucket Wheel
  • White = Bucket Loader
  • Orange = Bucket Unloader
  • Yellow = Bucket Conveyor
  • Red = Bucket Shifter
  • Tan = Bucket Dumper

Balls start the journey at the input hopper and then are helically lifted by the spiral lift. After rolling down a small ramp, they are pushed onto a couple of pin joiners and then lifted and pushed into a 5 finger claw. The claw translates to the right and drops a pair of balls into a waiting bucket. The entire bucket wheel then rotates until it reaches a point that the bucket unloader lifts the bucket off the wheel and places it on a conveyer. The bucket is enqueued in the bucket shifter and shuffles along until it is dumped out. Depending on the position of the output selector, the balls are either passed to the next module or recirculated back to the input hopper via another conveyor. The empty bucket continues its journey by being lifted and placed back on the wheel. Like a wheel, the whole thing repeats and the cycle continues.

To further simplify the functions, I’ve subdivided the model into three basic systems. The black parts are the motor (or crank) input and the main power distribution. The yellow parts deal with moving balls around, and the red parts deal with moving buckets around.

The first module we’ll discuss is also the simplest: main power distribution. The entire model is powered by only a single motor or crank. While driving the whole thing off one motor may seem unnecessarily difficult, it is actually the opposite. Because every module must be precisely synchronized with every other, a mechanical interconnection is required. The only alternative would be a maze of Mindstorms controllers and sensors, and it probably wouldn’t work as well. Amazingly, when properly tuned the whole thing works with minimal effort at the input crank, and it is quite enjoyable to operate manually. If motorized, even an M motor is adequate. However, care must be taken to only rotate the input crank clockwise. Driving in the wrong direction will result in some disconnection and loss of synchronization at best, and at worst LEGO shrapnel all over the room.

In my image below the input is shown in red and rotates at 1:1 with the motor. After passing the yellow idler gear, all the blue axles rotate at 1/2 speed. For ease of explanation, I’m going to assume that the input rotates at 600 rpm and make all my other calculations accordingly. (I know this is faster than a real M motor can turn, but this number makes the other calculations convenient for reasons that will become clear later.) This is 10 rotations per second. The blue axles therefore turn at 300 rpm. In every location where you see a green pinion gear, a function is driven from the backbone. You can see that all the bevel gears are braced by brackets and never skip. A skipping gear would be death since it would destroy synchronization.

The most prominent feature of the model is the bucket wheel. This large wheel rests on a Technic turntable and consists of 16 platforms connected by #3 connectors (22.5 deg x 16 = 360 deg). It is very important that the movement of this module be intermittent. It cannot simply be geared to rotate at a constant speed. Rather, in must rotate 22.5 degrees and then stop, waiting for a bucket to be loaded or unloaded. This movement is achieved with the mechanism shown in orange. The 40 tooth gear connects to the backbone. The vertical axle rotates the disc. For 3/4 of the rotation, the 4×4 round corner bricks ride against the 3L blue pins on the bucket wheel and prevent the wheel from moving. The 1×2 panel then initiates motion and the end face of the corner brick completes 1/16 rotation of the wheel.

Since the backbone is turning at 300 rpm here, after the 5:1 reduction of the 40 tooth gear the orange disc is turning at 60 rpm. Since the load wheel rotates 1/16 turn for each revolution of the disc, the load wheel is turning at 3.75 rpm. This means a complete revolution of the wheel happens every 16 seconds. Therefore, each bucket remains in position for exactly 1 second before moving on. (Now you can see why I chose 600 rpm for the input speed.)

Some tidbits about this module:

  • Because there is 4L axle between each connector, this is not a perfect 16 sided polygon and there is a small bit of stress in the connectors.
  • The orange disc in one key part that cannot be rotated backward or it will jam against the load wheel.
  • I took apart my turntable and added some silicon spray to make it turn more smoothly.
  • At any given time there are only 12 buckets on the wheel; the other 4 positions lie between the bucket unloader and the bucket loader.
  • The wheel rotates counterclockwise.


When a filled bucket reaches approximately the 3 o’clock position, it is lifted from the bucket wheel by the bucket unloader and placed on the bucket conveyor.  This is much easier said than done.  The claw which grasps the bucket must perform a carefully choreographed dance in which it translates radially inward to grab a bucket, then lifts it, then translates in radially outward to lie over the conveyor, then sets it down.  This means that both a radial and a vertical motion are required, and they must be synchronized perfectly.

The claw is shown in blue.  The spacing of the jaws must be adjusted such than they just grasp the tapered sides of the bucket.  The entire claw moves radially on the yellow carriage.  The yellow carriage also translates up and down when pushed by the orange lift assembly.

Vertical motion is driven by the orange lift assembly. The 40 tooth gear is driven by the backbone and turns a 3×3 crank. This crank pushes against a 7L lever. Note that the crank holds the lever in position for 1/4 revolution before releasing it. This lever drives a pushrod which turns a 4×5 L-shaped crank. The crank then pushes against the yellow beam to lift the carriage. The maximum height of the lift can be adjusted by changing the length of the pushrod.

The yellow carriage slides up and down on the vertical axles, and carries the blue claw with it. Only gravity returns the carriage back down when the orange crank moves out of the way. Sometimes the axles can be sticky and the carriage does not go down right away.

The red gear system controls radial motion of the claw. The 40 tooth gear is driven by the backbone and turns a 3L liftarm crank. This crank uses a pushrod and lever to rotate a 36 tooth gear. The 36 tooth gear drives a 12 tooth gear which is connected to a crank driving the vertical red axle. This red axle drags the blue claw along the yellow carriage. The goal is to move the crank +/- 90 degrees which is why the 3:1 reduction of the double bevel gears was needed. Although the purpose of the red mechanism is only to move radially, it also moves up and down as the crank swings through its arc. For this reason, the vertical 8L axle must be able to slide through the holes on the blue claw.

Some tidbits about this module:

  • The 40 tooth gears each rotate at 60 rpm which means the unloader cycles at once per second, perfectly synchronized with the bucket wheel.
  • It must be carefully tuned to pick up a bucket only when the wheel is stopped, and to be out of the way before the wheel starts moving again.
  • It must also deposit the bucket on the conveyor and allow the conveyor to whisk it away before moving back toward the wheel.

The bucket conveyor is among the simplest mechanisms in the machine. It is not driven off the main backbone, but actually off one of the bucket shifter axles which has already been reduced 5:1, therefore the long drive axles turn at 120 rpm. The bucket unloader deposits the buckets on the yellow conveyor which then moves them to the green conveyor. At the far end of the green conveyor, the bucket shifter grabs the buckets and moves them off.

While this module doesn’t need to be synchronized to be in a particular phase with the other modules, its speed is very important. It needs to deliver exactly one bucket to the bucket shifter each time the shifter moves or a queue of buckets will develop. The speed of the conveyor and overall number of links is therefore critical.

Some tidbits about this module:

  • It is important that the yellow u-joints be clocked in phase with each other so that the movement of the yellow conveyor is smooth.
  • The yellow conveyor is 1 plate higher than the green conveyor to help with transferring a bucket from one to the other. A small guide had to be added above the transition (visible in the render) to prevent the corner of a bucket from getting stuck in between.
  • At any given time there are usually 3 buckets on the conveyor.

The bucket shifter takes buckets from the conveyor and moves them toward the bucket dumper, eventually driving them into the arms of the waiting bucket loader to go back on the wheel. The spacer shown in black has slots for 5 buckets, and there is often also a bucket to the left of the leftmost slot. This mechanism needs a complex motion consisting of both side-to-side and front-to-back movement.It must move the buckets to the side, then shift back out of the way and translate back to its starting position without touching any buckets to start again.

The whole things is driven by the apparatus shown in yellow. The 40 tooth gears are driven by input backbone and therefore rotate at 120 rpm. Each drive a chain system consisting of 23 chain links and a single tread link. When they get to the right point in their cycle, the tread links push the red and blue carriages in and out via the vertical 5L beams. The red carriage controls front-to-back movement of the spacer and the blue carriage controls side-to-side motion.

As the red slider shifts back forth, it drives a pushrod moving a Z-linkage (the pink pin is ground). This Z linkage slides the red carriage front-to-back on the blue carriage. The black spacer is supported on the red carriage. Note the axle on the red carriage which must be able to slide through the top part of the Z-linkage. This all has to be kept perfectly square to avoid friction.

As the blue slider shift back and forth, it drives a pushrod moving an L-shaped crank (the light blue connector is grounded). The side-to-side motion of the output of the crank translates the entire blue carriage side-to-side on fixed axle supports (not shown).

Some tidbits about this module:

  • Because 24-tooth gears drive the chain, and because the chains have 24 links, you might think that this would make the bucket shifter operate at 120 rpm. This would be a problem because it would deliver 2 buckets every second instead of one. However, remember that each chain link is actually made up of two cross braces (or teeth), and therefore this extra factor of 2 gives us 60 rpm (one per second).
  • The placement of the track links on each chain must be precisely synchronized. If a link were trying to move a slider left and the same time as another link were trying to move it right, the mechanism would destroy itself.
  • This mechanism cannot be run backward. The track links jam against the sliders.
  • The bucket shifter must be timed to align perfectly with the bucket dumper and the bucket loader or buckets will be thrown on the floor or, worse, down into a mechanism.
  • At any given time there are 5 buckets in the bucket shifter.

The bucket dumper picks up a bucket from the 3rd position of the bucket shifter and dumps the balls into a waiting hopper. It then deposits the bucket back into the bucket shifter. It must accomplish all of this during the tiny amount of time that the bucket shifter is stopped, about 3/4 of a second.

The white 40 tooth gear is driven by the backbone. It turns a 3L crank which drives a vertical pushrod driving a 4L crank. This is connected to an inverted V-shaped linkage. Two different motions are possible when the V-shaped linkage is rotated. Since the far end of the links is attached to the green carriage, the green carriage can be driven along the purple sliders. However, if the green carriage encounters an obstacle (like a bucket) or if the green carriage bottoms on the end of the track, then motion of the white linkage rotates the whole purple assembly up around the exposed axle on the right. This whole system results in a 4 stage motion. First the green carriage moves to the right to grab a bucket, then the purple assembly lifts and tilts, then it comes back down, then the green carriage releases the bucket. All of this motion occurs in response to the continuous rotation of the lower white crank.

Some tidbits about this module:

  • Because the white gear rotates at 60 rpm, one bucket is dumped per second.
  • The bucket dumper must accomplish its job during the tiny amount of time that the bucket shifter is stopped, about 3/4 of a second.
  • The purple 3L axle sticking out at the left of the image is a down stop to prevent the purple mechanism from pushing down on the bucket shifter and jamming it.

The final part of the bucket system is the bucket loader which accepts buckets from the bucket shifter and places them back on the wheel. This module has the most complex motion of any of the bucket system because it must translate, lift, and rotate all in a synchronized fashion. The claw starts by facing the bucket shifter which pushes a bucket into the empty claw. The claw then simultaneously lifts, rotates 90 degrees to face the wheel, and translates toward the wheel. When it reaches the wheel, it moves down to deposit the bucket and then pulls back out the way to begin again.

The first part of the system is the “quick return mechanism” shown in orange on the lower right. The 40 tooth gear is driven from the backbone and drives a crank arm made from cams. This crank arm moves a 9L lever back and forth. A long pushord then connects to a 4L crank arm at the other end. This crank is geared up 2:1 to allow a +/- 90 degree movement of the vertical orange arm. This arm drives the white carriage toward or away from the bucket wheel. The white carriage slides on a pair of fixed axles (not shown).

When the carriage is away from the bucket wheel, it needs to rotate 90 degrees to point towards the bucket shifter. This rotation happens passively without an active mechanism. The L-shaped 3L black liftarms at the bottom of the claw contact the curved dark gray brick and drive the rotation at the right point in the cycle.

The brown mechanism controls vertical motion. The 40 tooth gear is driven by the backbone and drives a 3×3 crank. This crank presses a lever for 1/4 of its revolution. The lever lifts a pedal which is under the black claw, lifting the whole thing. Note that the black claw must be able to slide through the white carriage as it raises and lowers.

Some tidbits about this module:

  • When the orange quick return cam connection is at the bottom of the lever, near the pivot, the lever moves slowly. When the cam connection is at the top of the lever, away from the pivot, the lever moves quickly. This allows for slow movement of the claw when a bucket is held, preventing dropping the bucket. But return of the claw when empty happens quickly. If the speed were made uniform over the whole cycle, the claw would move too fast when holding a bucket and drop it.
  • The jaws of the claw can be adjusted to provide exactly the right spacing to lift the buckets.
  • The bushings at the end of the orange pushrod can be adjusted to give exactly the right rotation of the crank.
  • Every portion of this mechanism has to be perfectly timed to synch with both the wheel motion and the bucket shifter motion.
  • The whole module runs at 1 cycle per second, just like the other major assemblies.

Now we’ll move on to the ball systems. The balls start the cycle in one of two hoppers, either coming from an upstream module or being recirculated from the ball factory. Both hoppers feed the bottom of the spiral lift. The spiral lift functions very simply by rotating against a set of fixed ribbed hoses. The lift drum has 6 flutes each of which can trap a ball and roll it up the spiral. When a ball gets to the top of the spiral, it bumps against a slope which knocks the ball into a nearby ramp.

At first it might seem that this module does not need careful synchronization like the other modules, but this is not the case. The module must deliver balls at the same rate as the machine consumes them or it will either form a queue (disastrous) or fall behind (annoying). Unlike the other modules, this one is not driven by a 40 tooth gear from the backbone but by a 24 tooth gear. This means the input axle rotates 3 times slower than the backbone or 100 rpm. A further 5:1 reduction means the drum is rotating at 20 rpm. Singe the drum has 6 flutes, it is delivering 6 balls per revolution for a total of 120 balls per minute, 2 per second. Every bucket takes two balls, so this works out perfectly.

The ball lifter accept balls from the spiral lift and pushes them up into the waiting jaws of the ball picker. It operates on two balls at a time. A pair of balls roll down a ramp and drop in front of the blue pusher. The pusher moves them forward and they drop into the recesses of inverted Technic engine cylinders (not shown), a unique parts usage if ever there was one. The white pin joiners, now centered under the balls, then push them up.

The red 40 tooth gear is powered from the backbone. The attached 3L crank pushes down on the red pedal which pivots on the central pin axis. The other end lifts the white ball lifter. The white lifter motion is very simple, moving in a guided vertical direction.

The blue 4 bar linkage is slaved to the same 40 tooth drive gear. A 2L crank pulls down on the vertical blue axle which pivots the ball pusher forward while it remains level. Note that it does not return via the red powered input, rather a counterweight pulls the ball pusher back to starting position.

Some tidbits about this module:

  • The ball pusher could work without the counterweight, but then the system would have to lift the balls and move the blue pusher at the same time. By using a weighted return, the drive system doesn’t have to lift two things at once. This reduces power demands on the system.

  • The red gear turns at 60 rpm which means this whole system operates at one cycle per second (two balls per cycle).

  • The lifting and pushing functions have to be perfectly synchronized.

The ball picker is a fascinating contraption. It receives balls from the lifter and moves them over to the wheel and drops them into a bucket. the yellow and orange system control horizontal motion and dropping, and are interconnected.

The yellow system is driven from the orange 40 tooth gear off the backbone. The 3L crank drives a horizontal pushrod which in turn rotates a 2×4 crank. A connected 4L crank lifts the vertical yellow beam which turns the 36 tooth gear. This is then geared down 3:1 to achieve a +/- 90 degree motion in the final crank. This crank slides the claw along a track made from 12L axles (not shown). Because the crank also goes up and down, it needs to be able to slide along the vertical claw axle.

The orange system drops the balls. The claw is spring loaded shut via a rubber band. When the balls are pushed up by the lifter, it drives the jaws apart slightly which then grip and hold the balls. The light gray arm at the bottom right of the claw must be pushed to open the 2 forward jaws and drop the balls. The orange 3×5 L-shaped beam provides this pushing motion. It is driven through a fairly complex linkage by the input 40 tooth gear. There is a towball on the gear which pushes a lever, bumping the 3×5 beam to open the jaws.

Some tidbits about this module:

  • The length of the final yellow crank can be adjusted to control the endpoints of the claw.
  • The claw deposits 2 balls per second into a bucket.
  • A large counterweight is used to make sure the ball dumper is never engaged while the claw is translating or the system would jam. It is also needed because the towball can only push and not pull so there is no other return mechanism for the orange parts.

The simplest of all modules in the ball output selector. This is not part of Akiyuki’s original design but was added by The Rebricker. When the balls are dumped out of the buckets they hit this angled plate and can go either left or right. Tilting the plate right rolls the balls down a ramp and dumps them overboard to a downstream GBC module. tilting the plate left rolls the balls down another ramp to the return conveyor. Having this selection available allows use of the ball factory either in a larger GBC setup or in recirculation mode as a self contained module.

I don’t know the function of the Plinko style pins on the platform, but they look kind of cool.

The ball return conveyor was added by The Rebricker to allow use of the ball factory in recirculation mode. It accepts balls from the bucket dumper and returns them to the input hopper. Because it travels up a significant slope, it cannot just use tread links because the balls will slide down to the bottom. A series of 7 cleats are made from 1×3 plates and tiles and affixed to every 11th tread. Each cleat carries 2 balls, and the timing works out nicely such that no queue of balls is produced.

Now that you know how the whole thing works, what is it like to actually build this thing? I found it a real joy. None of the building techniques are very complicated in and of themselves, so the actual assembly is pretty simple if you are following the videos. The timing, on the other hand, is another matter. In some cases, being off by a single gear tooth is a problem, so every module has to be synchronized with every other. I found this process enjoyable, but others may find it frustrating. You won’t see an official LEGO set anything like this.

Let’s take a look at the massive pile of parts. There are about 3100 parts here, but note that no motors are technically required so the cost does not have to be super high. Although this is a technical model, most of the parts are still standard bricks and plates.

Here are all the modules built and arrayed on a table. At this point I had already completed the build and run the factory for a few days, but I found that sometimes a ball would drop down inside. The studs of the base plate would hold the ball and make it very hard to extract since the access is so limited. To combat this problem and also to improve appearance, I added 1200 tiles to make a tile floor. It worked great on both fronts.

In all I spent a couple of months building the LDraw file, collecting parts, building, and troubleshooting. My family has never been so fascinated in watching a LEGO creation, and that’s exactly the reaction I was going for when I decided to build this. The build is not for the faint of heart, so I recommend it only for those who feel the technical achievement is worth the effort. But if you are one of those people, this is as good as it gets. 

Instructions for each part:

Part 01 – Battery Box:

Part 02 – Initial Drive:

Part 03 – Load Turner:

Part 04 – Main Load Wheel:

Part 05 – Empty Bucket Mover:

Part 05b – Timing Setup (Important):

Part 06 – Load Shifter:

Part 07 – Bucket Unloader:

Part 08 – Dumper:
Part 09 – Ball Lifter:

Part 10 – Ball Loader:

Part 11 – Spiral Lift:

Part 12 – Return Conveyor and Hoppers:


Short URL: Generating...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Do NOT follow this link or you will be banned from the site!