Infinite Domino Ring

Since building my Domino placing machine a few years ago, I’ve been thinking about ways to build a machine that could run behind a line of falling dominoes and set them back up. Designing a general purpose machine of that sort would be quite challenging, and I eventually settled on a fixed ring of dominoes that can, theoretically, run forever.

You can see how it is built, and how it works, in the video below. Continue reading for a detailed discussion of the design and programming, as well as a link to the building instructions on Rebrickable.

Model Overview

To achieve the ring shape, the model is built on standard plastic LEGO train track.

The dominoes are brick-built and fixed to the stands on hinges. This was an early design choice, as doing something like this with freestanding dominoes would be exponentially more complex. My goal was to make the lifting system as simple and reliable as possible.

Toppling the dominoes is started by hand, and it then behaves like any standard domino run, with each falling domino toppling the next.

A ramp runs on the train track, opposite the falling dominoes, which pushes up on a series of levers as it passes beneath them. Each lever lifts the domino above it back to standing.

Speed Regulation

The ramp is driven by two EV3 motors in the central hub. The speed of the ramp is controlled by the EV3 hub, which monitors the state of a single domino using the IR sensor. It essentially monitors the time that domino is in the up position and the time it is in the down position, then adjusts the speed of the ramp to try and make those times equal. The speed is constantly being adjusted as the model operates.

My goal for this version of the model was to use stock LEGO components, which is why I ended up using the EV3. I considered using the newer Robot Inventor system, but all the components of that system have tethered cables of fixed length, which are not long enough to span the radius of the ring. EV3 components have interchangeable cables, and the EV3 kit comes with cables of various lengths up to 50 cm.

If you are comfortable using third party components, or doing some DIY work, there are a number of things that could be done differently for the control system. I may experiment with some of these in the future.

Build Notes

It’s a fairly large model, both in part count (4512 pieces) and dimensions (32 inches / 81 cm in diameter). It is also fairly loud, though not really any louder than a typical GBC module. It can be made a bit quieter by sitting the entire model on sound dampening foam.

You can expect a lot of repetition in the build, as most of the 64 dominoes, along with the supports below, are built identically.

The bulk of the model uses pretty common parts, with a few exceptions.

For the train wheels running under the ramp, I’m using the older complete wheel sets, with metal axle, which have become quite expensive on the secondary market. I haven’t tried the newer style, with pinned wheels, so I don’t know how they will perform.

Of course, the EV3 hub, motors and IR sensor will be the bulk of the cost if you don’t already own them.

Program

The program is written in the EV3 Classroom Application, and isn’t all that complicated. Half of the program is just for updating and writing the ongoing stats on the display.

When the program starts, the motors are set to a nominal speed. It then waits until you start the falling dominoes manually.

The speed control loop starts when it first detects the IR monitored domino falling down. It then repeatedly measures the times between the domino falling down, being lifted back up and falling down again. The motor speeds are then adjusted appropriately.

Experiments

Since posting the original build video a few months ago, I received quite a few comments suggesting different things to try with it. I created another video trying some of these experiments, which you can watch below.

Instructions

I don’t see this model being all that appealing for personal display at home, for example, but it makes an interesting model for public display. I recently had it running at a single day event, and I think it could handle a multi day event without any major issues.

The speed control may also be of interest to those interested in programming control systems, though it is a very simple implementation in that regard, and you can see how the program works without building the model.

Regardless, the building instructions are available on Rebrickable, and if anyone does build it, I would love to hear how it goes.

6 thoughts on “Infinite Domino Ring

  1. Could you give more hints as to what the initial velocity is before the IR picks up the domino falling. I was trying to program the control PID and wanted to know some of the initial values to start my integration

    • I set the initial speed to 22 percent. The entire program I’m using is available with the instructions.

      • Thank you so much! I was wondering if the build instructions also included the PID program setup. Ill purchase the instructions.

        • Just so you know, the control algorithm is very rudimentary. It is not a full PID algorithm.

  2. I wonder if it could be geared to not require the Ev3 or any programming? For instance, using a PowerFunctions XL motor would bring the pricetag down, and let me feel better about leaving it unattended in public displays.

    • It would be a real challenge to get the speed correct. You will likely need some sort of feedback mechanism.

Leave a Reply

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

*
*
Website