ProMarble run tiles
Square track tiles on columns: curves, a switch with a gate, a merge, start and finish.
A tower of tilted trays a ball rolls down, simulated so it runs when you cut it.

In short: A tower of tilted trays: a steel ball rolls down one and drops onto the next. The slope, the drops and where each ball lands are worked out and checked, so it runs.
A tower of tilted trays held between two slotted posts. A steel ball (or a marble) rolls down one tray, drops off its low end onto the next, which slopes the other way, and so on to the bottom.
Marble runs from a template often fail in the same places: the ball overshoots a tray or hops over the back wall. This generator simulates the ball rolling, tipping over each edge and falling, and places every tray so the ball lands on it, with margin for a ball that leaves faster or slower than expected. Stop walls are tall enough to catch a ball that bounces. Layouts that would not work are refused rather than drawn. The 3D preview plays the run in real time.
Add the crank lift and a paddle wheel carries the ball from the bottom back to the top, so it keeps going while someone turns the handle.
You need: plywood, a steel ball of the size you set, glue, and for the lift two 6 mm dowels.
All of these can be changed in the app, and the 3D preview updates as you type. The name under each setting
is its key in a share link, e.g. https://laserpuzzle.app/app/#/marble-run?ball_diameter=…; a link only
needs the settings that differ from the defaults.
| Setting | Default | What it does |
|---|---|---|
Ball diameterball_diameter | 16 mm | Measured diameter of the steel ball or marble. From 6 to 30 mm. |
Traystrays | 5 | Each tray is one run of the ball, back and forth. From 2 to 10. |
Tray lengthtray_length | 160 mm | Length of a tray along its slope. From 60 to 400 mm. |
Slopeslope | 4% | Height lost per 100 mm along the tray. A steel ball needs about 2 to 6 per cent: less and it stalls, more and it flies too far to land cleanly. From 1 to 12 %. |
Channel playchannel_play | 3 mm | Channel width is the ball plus this. Too tight and it jams; too wide and it zigzags. From 1 to 8 mm. |
Gap between traystray_gap | 8 mm | Free space between a tray and the one below it. From 5 to 40 mm. |
| Setting | Default | What it does |
|---|---|---|
Crank liftlift | off | A paddle wheel turned by a crank carries the ball from the last tray back up to the first. Needs an even number of trays. |
Plus the material and machine settings every generator has: material thickness, kerf, slot clearance, sheet width, sheet height, part spacing, engrave part labels, cut line colour, engrave line colour.
ProSquare track tiles on columns: curves, a switch with a gate, a merge, start and finish.
ProAsk for a ratio and get the gears, in a frame with a crank and a dial.
ProTurn the crank and the figures on the box come alive.