This model was designed by knickers. I've reposted it as permitted by the Creative Commons Attribution license.
The attached files are for a V-Twin engine. Print each part individually, or an "all parts" model to get the whole thing at once. The engine.scad file can be used to generate new configurations!
Original description: Kinetic visualizer pistons for a more discernibly active extruder, inspired by extruder visualizers from other designers. Reciprocating Engine built to attach to your direct dive extruder motor. Can also attach to any motor which has screw holes in the corners.
The engine block is held in place by circular tabs that press fit into the screw holes of standard NEMA 17 stepper motors. The fit should be tight so the assembly holds itself in place securely. If the mounting tabs don't fit in your motor, edit the tab size in Thingiverse Customizer.
The crankshaft requires a neodymium magnet to hold itself to the stepper motor shaft, 8 mm diameter by 3 mm tall.