Two identical satellite gear drives are connected together by a parallelogram mechanism.
Z2 = 2.Z1
Z2 and Z1 are tooth numbers of grey and green gears, respectively.
Lengths of pink and yellow conrods are equal to center distance of grey gears. The mechanism is set so as to get when the piston is at its highest or lowest positions, orange and green cranks are in line.
Pink piston fixed to the pink conrod vertically linearly translates and does not apply lateral force to its cylinder (not shown).
The yellow conrod mounted on eccentrics of green gears helps the parallelogram mechanism to overcome dead positions.