This is called a free piston Stirling engine. It runs on the resonant frequency of 2 springs in this case celluloid spring and air. I might have the equations some where... It might be easier to build it and play with different spring constants.
cheers