Finally, after five tries, I have made a working lego engine! Its quite small; the piston is 2x2. Sorry for the low-res pics.
About this creation
This is my first lego engine. It runs reasonably effeciently of a vacume cleaner, but doesn't produce much power. I am now working on a two cylinder version. The valving works by having the cylinder moving.