Kinematic synthesis is a set of mathematical techniques to calculate the dimensions of a mechanism or robot to achieve a desired task. Since the time of James Watt, whose “parallel motion generator” made the double-acting steam engine practical, engineers and mathematicians have studied curve-drawing linkages for practical as well as theoretical purposes. Recent mathematical results prove that such linkages exist for every algebraic curve, and this talk presents an overview of a variety of techniques to design these linkages. One interesting result is that the equations for kinematic synthesis rapidly expand beyond the ability of current computers to solve completely. On the other hand, because Bezier curves can be written as parameterized trigonometric curves, there is a way to design relatively simple linkage systems that draw Bezier approximations to arbitrary curves. Applications include leg mechanisms for walking and jumping robots and flapping wing mechanisms.