# Lego Loop Limits

How can we make a circular loop out of lego bricks? For simplicity, we’ll use 2×1 bricks. The dimensions of a 2×1 brick are shown below in millimetres.

We’ll define some variables using these dimensions:
Clearance per brick end: $\epsilon = 0.1$ mm
Distance between pegs: $m = 8.0$ mm
Width: $w = m - 2 \epsilon = 7.8$ mm
Length: $l = 2m - 2 \epsilon = 15.8$ mm

If bricks are assembled in a “running bond” style, two adjacent bricks can rotate maximally by using all the available clearance space. This means that if we build a wall long enough, it can be wrapped around into a loop. The question now is, what is the minimum number of bricks we need to do this? (The figure below exaggerates this rotation.)

For any regular polygon with $n$ sides, angles $A$ and $B$ are already known (see next figure below).
Center angle $A$ is just a circle ($2\pi$) divided by the number of sides.
$A=2\pi/n$
Any triangle’s angles add up to $\pi$.
$\pi = A + 2B$
Combining these equations, inner angle $B$ is then defined in terms of the number of sides:
$B = \pi/2 - \pi/n$

Angle $B$ is related to angle $\theta$ (shown in the figure below) by:
$\pi = B + \pi/4 + \theta$
(The space between $B$ and $\theta$ is $\pi/4$ since the peg is centered such that it’s equidistant from the lengthwise edges and the nearest width-wise edge of the brick.)
Angle $\theta$ can be expressed in terms of brick width $w$ and clearance $\epsilon$.
In the figure below, the distance between the red point and blue point is $w/\sqrt{2}$, and the shortest distance from the blue point to the dashed line of symmetry is $w/2 + \epsilon$. So the angle $\theta$ can be expressed as:
$\text{sin}\theta = \frac{w/2+\epsilon}{w/\sqrt{2}}$
or
$\theta = \text{arcsin}(1/\sqrt{2} + \sqrt{2} \epsilon/w)$

Angle $B$ is then:
$B = 3\pi/4 - \text{arcsin}(1/\sqrt{2} + \sqrt{2} \epsilon/w)$

Plugging the earlier polygon formula into this equation gives a formula for $n$ in terms of brick width and clearance:
$n = \frac{\pi}{\text{arcsin}(1/\sqrt{2} + \sqrt{2} \epsilon/w)-\pi/4}$

Plugging in the dimensions, we get a minimum number of sides to make a loop:
$n \approx 121$
and since at least 3 layers are needed to create a secure running bond, the minimum number of bricks needed is 363.
This has a corresponding angle:
$\theta = 0.81136$
and acute angle between bricks:
$\delta = 2(\theta - \pi/4) = 0.051928$

Trying this in real life, I was able to get a loop with 110 sides (330 bricks).

$n_R = 110$
$\theta_R = 0.81396$
$\delta_R = 0.057120$
The theoretical calculation done above only assumes a perfectly rigid lego brick.
So the difference in $n$ may be accounted for by tolerances on the lego brick (stretching and squashing) and asymmetric angles, allowing for tighter inner angles.