This is my first try to build a (working) Steam Engine out of Lego. It's mostly plain bricks, with as little Technic parts as possible.
It almost works - if I blow with all my power into the air inlet (up left, on the side of the 'cylinder'), and at the same time give the wheel a little push, it can go two or three laps before it stops, but the sound of it is quite perfect - choo-choo-choo!
Holding it vertically, with the wheel up, the gravity helps enough to make it work, but my lungs don't have the capacity to keep it rolling for any length of time. I have not been able to connect any more steady air source yet.
The cylinder and valve mechanism can be studied more in detail in the following pictures:
The model was first built in real life, then modeled with BlockCAD (for the studs-up parts), and finally MLCAD was used to put in the Technic pieces. L3Lab converted the .DAT file to .pov, and POVRay made the picture (The smaller pictures are made directly from BlockCAD).
If you're interested in the model file, here it is: steam.mpd
If you wonder about the 'color scheme', it is because I used exactly these colors in the real version, and wanted the rendering to look as a photo of it.