A computer-controlled pump for use both in the study of vascular haemodynamics and in the calibration of clinical devices which measure blood flow is designed. The novel design of this pump incorporates two rack-mounted pistons, driven into opposing cylinders by a micro-stepping motor. This approach allows the production of nearly uninterrupted steady flow, as well as a variety of pulsatile waveforms, including waveforms with reverse flow. The capabilities of this pump to produce steady flow from 0.1 to 60 ml s-1, as well as sinusoidal flow and physiological flow, such as that found in the common femoral and common carotid arteries are demonstrated. Cycle-to-cycle reproducibility is very good, with an average variation of 0.1 ml s-1 over thousands of cycles.