Just a quick and dirty hack on MakerBlock's chattering teeth gears. I did switch to the MCAD version of the involute_gear library since I had it installed already.

There is now a module called gear_box() which takes an positive integer as input (I called it 'stages') and replicates a pair of those same gears between the gear holding the spring, and the gear holding the cam.

I also changed the gear ratios slightly to get an even 2 rather than 1.57 and change.

By my math, each gear-to-gear contact adds another factor of 2 to the total gear ratio of the gear train. You get one for free between the spring and the cam gears, and you get another two per stage... so unless I'm shaming my math teachers here are some values you can get:

stages=1 total ratio=2x2x2=8
stages=2 total ratio=2x2x2x2x2=32
stages=3 total ratio=pow(2,1+2x3)=128

And so on, each successive value of stages gets you an additional factor of 4.

The generalized formula, using the parameter names from the script is:
total ratio = pow(n1/n2,1+2*stages)

Discuss this model in the 3D-Printing-Community