by OrdSolutions
This is derived from the grabcab model:
https://grabcad.com/library/3d-printable-v8-engine-desk-toy-1
I changed the pistons so their gudgeon pins are the full width, the connecting rods are now hook snap fit, the crankshaft is one piece, and added a handle to crank the engine over.
1) Just print:
 EngineBlock.stl     1pc
 CrankShaft.stl              1pc (Print the crankshaft on its end with support. Simplify3D recommended)
 PistonArm.stl           8pcs
 PistonHead.stl          8pcs
 Handle              1pc
 CrankshaftClamp     2pcs
2)Drill 4 holes in Engine block for securing the 'Crankshaftclamp'
 3)snap 'PistonArm's to the piston heads
 4)snap 'PistonArm's to the crankshaft (make sure the hook is hidden)
 5)tap the end of the crankshaft M4x0.7mm
 6)use 3x M4 flat washers as spacers between the crankshaft end and the handle
 7)secure the handle to the crank shaft with an 10mm long M4x0.7mm socket cap screw
 8)drop the assembled crankshaft into the engine block
 9)Screw on the clamps with self tapping screws
 10)(optional) using silicone based oil -> lubricate the cylinder walls, piston wrist, and crankshaft bearing surfaces
 11) turn the handle manually or use an electric screwdriver for the best effect.
http://www.ordsolutions.com
https://www.facebook.com/OrdSolutionsInc
https://twitter.com/ordsolutions