# Motion mechanisms: Scotch yoke, swash (wobble) plate, eccentric + strap, Geneva, four-bar links, bell crank, rack

> How do I convert rotary motion to linear motion with 3D printed parts?

- Category: Stirling engines › Drives & mechanisms
- Kind: Hardware
- Basis: Textbook mechanism geometry (Scotch yoke, swash plate stroke = D·sin θ, eccentric stroke = 2e, Geneva with c = R / cos(π/n)); parts sized for Ø5 shafts, Ø3 pins and 623 bearings to match the rest of the shelf
- Page: https://xemstudio.com/objects/motion-mechanisms/ · JSON: https://xemstudio.com/api/geometry?object=motion-mechanisms · Plain text: https://xemstudio.com/objects/motion-mechanisms/sheet.txt
- License: dimension sheet CC BY 4.0 (Xem Studio); linked files under their publishers' licenses

## Notes

- Scotch yoke: pure sinusoidal motion, no con-rod; the crank pin (623 bearing on a Ø3 pin) rides in the yoke slot; stroke = 2 × pin offset. Runs the displacer on a beta Stirling without a wrist pin.
- Swash / wobble plate: a disc tilted θ on the shaft; a follower touching it at radius r reciprocates r·sin θ each side (Ø40 plate at 15° → 10.4 mm stroke at the rim). Several followers around one plate = multi-cylinder from one shaft; the follower here is an 8 mm square pushrod with a ball end.
- Eccentric + strap: a disc offset e on the shaft inside a split ring; stroke 2e, carries load on the whole ring, the quiet way to drive a pump or displacer. Geneva: intermittent motion, n stops per turn; drive-disc radius locks the wheel between indexes.
- Four-bar links (20–100 mm centres, Ø3.2) and the bell crank build crank-rockers, parallel motions and the Ross yoke; rack m1 meshes the module 1 gears for linear drives. All pivots are Ø3 dowel pins, Ø3.2 printed holes, or 623 bearings in Ø10.2 pockets.

## Sizes

| mechanism | parts | input → output | key dimension |
|---|---|---|---|
| Scotch yoke | yoke + crank | rotary → sinusoidal linear | stroke 20 / 30 mm |
| swash plate | plate + follower | rotary → linear, multi-follower | Ø40 at 10 / 15 / 20° |
| eccentric | disc + split strap | rotary → linear, high load | e 3 / 5 / 8 mm (stroke 6 / 10 / 16) |
| Geneva | wheel + drive | continuous → intermittent | 4 / 6 stations, R30 |
| four-bar links | 7 lengths | rockers, parallel motion, Ross yoke | 20–100 mm centres |
| bell crank | 30×30, 20×40 | redirect / lever 90° | Ø3.2 pins |
| rack | m1 100, m2 150 | rotary ↔ linear with the gears | module 1 / 2 |

## Where the files are

- Wikipedia: [Scotch yoke](https://en.wikipedia.org/wiki/Scotch_yoke) — web — CC BY-SA 4.0 (text)
- Wikipedia: [Swashplate](https://en.wikipedia.org/wiki/Swashplate) — web — CC BY-SA 4.0 (text)
- Wikipedia: [Geneva drive](https://en.wikipedia.org/wiki/Geneva_drive) — web — CC BY-SA 4.0 (text)
- Wikipedia: [Four-bar linkage](https://en.wikipedia.org/wiki/Four-bar_linkage) — web — CC BY-SA 4.0 (text)
- Wikipedia: [Eccentric (mechanism)](https://en.wikipedia.org/wiki/Eccentric_(mechanism)) — web — CC BY-SA 4.0 (text)
- Long Earth Society: [Engine and rig builds on extrusion frames](https://longearthsociety.com/engineering/) — web, video — LES site

## Free STEP/STL (27 parts, CC BY 4.0, Xem Studio)

Index: https://xemstudio.com/files/hardware/motion-mechanisms/index.json

- scotch-yoke-20-yoke: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-20-yoke.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-20-yoke.stl) — Scotch yoke slider, 20 mm stroke, 10.4 mm slot for a 623 bearing on the crank pin, 8 mm rod with M3 end
- scotch-yoke-20-crank: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-20-crank.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-20-crank.stl) — Scotch yoke crank disc, pin at 10 mm (20 stroke), Ø5 bore
- scotch-yoke-30-yoke: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-30-yoke.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-30-yoke.stl) — Scotch yoke slider, 30 mm stroke
- scotch-yoke-30-crank: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-30-crank.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/scotch-yoke-30-crank.stl) — Scotch yoke crank disc, pin at 15 mm
- swash-plate-40-10deg: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-10deg.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-10deg.stl) — swash (wobble) plate Ø40, 10° tilt → 6.9 mm stroke at the rim, Ø5 shaft, M3 set screw
- swash-plate-40-15deg: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-15deg.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-15deg.stl) — swash (wobble) plate Ø40, 15° tilt → 10.4 mm stroke at the rim, Ø5 shaft, M3 set screw
- swash-plate-40-20deg: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-20deg.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/swash-plate-40-20deg.stl) — swash (wobble) plate Ø40, 20° tilt → 13.7 mm stroke at the rim, Ø5 shaft, M3 set screw
- swash-follower-8x30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/swash-follower-8x30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/swash-follower-8x30.stl) — swash follower: 8 mm square pushrod with a Ø8 ball end, M3 tapped tail
- eccentric-d30-e3: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e3.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e3.stl) — eccentric Ø30, 3 mm offset (6 mm stroke), Ø5 shaft, set screw
- eccentric-d30-e5: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e5.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e5.stl) — eccentric Ø30, 5 mm offset (10 mm stroke), Ø5 shaft, set screw
- eccentric-d30-e8: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e8.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-d30-e8.stl) — eccentric Ø30, 8 mm offset (16 mm stroke), Ø5 shaft, set screw
- eccentric-strap-d30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-strap-d30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/eccentric-strap-d30.stl) — eccentric strap for the Ø30 eccentrics, split ring, 40 mm rod with M3 eye
- geneva-4-wheel-r30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-4-wheel-r30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-4-wheel-r30.stl) — Geneva wheel, 4 stations, R30, 5.6 mm slots, Ø5 bore
- geneva-4-drive-r30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-4-drive-r30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-4-drive-r30.stl) — Geneva drive disc + arm + Ø5 pin for the 4-station wheel (centre distance 42.4 mm)
- geneva-6-wheel-r30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-6-wheel-r30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-6-wheel-r30.stl) — Geneva wheel, 6 stations, R30, 5.6 mm slots, Ø5 bore
- geneva-6-drive-r30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-6-drive-r30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/geneva-6-drive-r30.stl) — Geneva drive disc + arm + Ø5 pin for the 6-station wheel (centre distance 34.6 mm)
- link-20: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-20.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-20.stl) — four-bar / rocker link, 20 mm centres, Ø3.2 holes, 10 wide × 5
- link-30: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-30.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-30.stl) — four-bar / rocker link, 30 mm centres, Ø3.2 holes, 10 wide × 5
- link-40: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-40.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-40.stl) — four-bar / rocker link, 40 mm centres, Ø3.2 holes, 10 wide × 5
- link-50: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-50.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-50.stl) — four-bar / rocker link, 50 mm centres, Ø3.2 holes, 10 wide × 5
- link-60: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-60.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-60.stl) — four-bar / rocker link, 60 mm centres, Ø3.2 holes, 10 wide × 5
- link-80: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-80.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-80.stl) — four-bar / rocker link, 80 mm centres, Ø3.2 holes, 10 wide × 5
- link-100: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/link-100.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/link-100.stl) — four-bar / rocker link, 100 mm centres, Ø3.2 holes, 10 wide × 5
- bell-crank-30x30-90: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/bell-crank-30x30-90.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/bell-crank-30x30-90.stl) — bell crank 30 × 30 mm arms at 90°, Ø10.2 pocket for a 623 bearing pivot, Ø3.2 arm holes
- bell-crank-20x40-90: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/bell-crank-20x40-90.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/bell-crank-20x40-90.stl) — bell crank 20 × 40 (2:1), 90°
- rack-m1-100: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/rack-m1-100.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/rack-m1-100.stl) — rack, module 1, 100 mm, 8 high × 8 wide, three M3 mounting holes; meshes with the module 1 gears
- rack-m2-150: [STEP](https://xemstudio.com/files/hardware/motion-mechanisms/rack-m2-150.step) · [STL](https://xemstudio.com/files/hardware/motion-mechanisms/rack-m2-150.stl) — rack, module 2, 150 mm

## Questions

**What is a Scotch yoke and when is it better than a con-rod?**

A pin in a slot: the slider moves as a pure sine of crank angle with no connecting rod, so it is shorter and has no angularity; the pin bearing takes side load, so put a 623 on it. Good for displacers and pumps.

**How much stroke does a swash plate give?**

Stroke = 2 × r × sin θ for a follower at radius r on a plate tilted θ: Ø40 plate, follower at r = 18, 15° → 9.3 mm. Several followers around the plate run from one shaft.

**What is the stroke of an eccentric?**

Twice the offset: a 5 mm eccentric gives a 10 mm stroke. The split strap goes over the disc and the rod takes the motion.

**What centre distance does a Geneva mechanism need?**

c = R / cos(π/n): for a 6-station wheel of R30, 34.6 mm; the drive pin sits at R·tan(π/n) = 17.3 mm from the drive centre.

## Fits with

- [Spur gears, involute 20°: module 0.5, 1 and 2, 12–60 teeth](https://xemstudio.com/objects/spur-gears-involute/)
- [Crank discs, connecting rods and flywheels for model engines](https://xemstudio.com/objects/crank-conrod-flywheel-kit/)
- [Ratchet wheels and pawl (anti-reverse / one-way drive)](https://xemstudio.com/objects/ratchet-and-pawl/)
- [Ball bearings, 683 to 6210 and flanged F6xx (ISO 15)](https://xemstudio.com/objects/ball-bearings-metric/)
- [Dowel pins, 2–6 mm (ISO 2338 / DIN 6325)](https://xemstudio.com/objects/dowel-pins-metric/)
- [Flexible shaft couplers, 5–10 mm bores](https://xemstudio.com/objects/shaft-couplers/)
- [T-slot attachments: slide-in and drop-in T-nuts, corner brackets, gussets, end caps, slot covers, feet, hole plates](https://xemstudio.com/objects/t-slot-brackets-and-nuts/)
