Computers add binary numbers constantly, but we never see how. This elegant machine does the math using glass marbles.

I started building marble track machines years ago using Lego. I experimented with all sorts of crazy ways for the marbles to descend. One was a rocker that shunted a stream of dropping marbles one-by-one to alternating sides. If you cascade three of these toggles down to the left, every marble flips the rightmost toggle, every second marble flips the middle toggle, and every fourth flips the leftmost. Interpret each toggle’s state as left = 0 and right = 1, and you have a binary counter. Add more toggles, and it can count more.

I realized I could turn the counter into an adder by dropping marbles onto toggles other than the rightmost. I added a marble hold-and-release shelf up top to act as an input buffer, another underneath as an output buffer, and a clear-register mechanism to reset all toggles. I moved from Lego to wood, and refined the design a few times. Here’s the latest edition.