A long time ago, I created a pneumatic engine with Lego Pneumatic elements.
This system is based upon three pneumatic cylinders, and they will continuously extend and contract in a cycle as long as pressure is supplied. This could be used to drive some interesting activity. You will note that the cylinder heads are each connected to pneumatic valves, which in turn set the extension of the next cylinder in the chain. The last switch is then connected to the first cylinder. The design could be extended for as long as there are parts for it, and enough pressure can be supplied.
This fascinated me, as well as the children who attended the OrionRobots club in 2005, and practically any visitor who started playing with it.
Sadly, it has long been disassembled for parts, however, the LDraw CAD file remains. Find the CAD file in the links below. LSynth has been used to create the tubing, LPub, LGEO and POV were used for rendering it. I have not created a schematic for the engine, and may do so in the future to help explain its operation.