In the LEGO realm, CVT (Continuously Variable Transmission) mechanisms are by far outnumbered by standard gearboxes, but some specific systems simply require a CVT. Its most notable real-world usage is in cars ― its popularity has been steadily rising through the past decade, and will likely continue as it allows better fuel economy and, when required, better distribution of power.
Many LEGO implementations of CVT are based on friction, often following concepts such as a variator. However, constrained by LEGO parts' mechanical limits, they are prone to slippage and thus reduce the available torque at the output. This CVT tries to work around the problem by using a chain.
In theory, the concept is really simple: a sprocket with a continuously variable radius can obviously serve as a basis for a CVT. Here, this sprocket is built from four L-shaped beams, each allowed to freely rotate one end around its off-center holes on the underlying 40T gears, and having fixed 16T gears on its other ends. By spreading these four arms outwards or collecting them at the center the entire system works as a sprocket with a variable radius.
Each of the arms' outer ends is connected to a cone pointing sideways. By pushing any suitably-sized round object (in this case, a 2695c01 Model Team wheel) towards and between the cones, they will spread, and thus effectively increase the radius. In this case, the wheel is pushed by two control rods ― there is a slight inconvenience as they need to be controlled from the same area where the motor rotating the entire system is located, but that is easy enough to solve using a frame that slides around the motor. Whether it is a linear actuator, a rack & pinion, pneumatics or something else that actually moves these control rods does not matter much, as long as it can provide sufficient force against the wheel, and in turn, the cones. In this case it is just a simple arm connected off-center to a motor through a worm gear for higher precision.
At the other end, rotation is transmitted to the secondary (receiver) sprocket ― a 24T gear. Since the primary sprocket changes its effective radius and the total chain length remains constant, the secondary sprocket needs to be movable and keep the chain under slight tension to reduce any slack. A simple arm tensioned by a soft spring, as pictured, works well for this purpose and is not much unlike the mechanism employed by many gearbox-equipped bicycles at the rear wheel. It also helps to contract the arms of the primary sprocket when the control rods and the wheels are retracting. Finally, a Schmidt coupling picks up the rotation from a moving axle of the secondary sprocket to a static axle, via three T-shaped beams. (An alternative is to use a separate third sprocket whose only task is keeping the chain tensioned.)
In this configuration, the total input-output ratios are variable within range 1:1.25-1.71. Larger and more finely granulated extents (as the span of employed chain links increases) could be reached by using longer sprocket arms, for the price of significantly larger dimensions.
Torque transmission is acceptable, working pretty reliably in both directions and through a wide range of speeds. It works also in reverse (if the secondary sprocket drives the variable primary), albeit in that case the chain occasionaly doesn't "catch" each fixed gear on the arms.
For more power, a version using dual chains, and even two symmetric cones, wheels and control rods, would work ― the latter, thanks to a more favourable distribution of force and less skewing, perhaps even more reliably.
Since the primary sprocket shape is effectively a square with rounded corners instead of a circle, transmission of angle is not nicely linear. This offset is not as high to cause problems e.g. in car powertrains, but may play a role in some systems that demand high precision.