Laminar-to-turbulent transition of pipe flows occurs, for sufficiently high Reynolds numbers, in the form of slugs. These are initiated by disturbances in the entrance region of a pipe flow, and grow in length in the axial direction as they move downstream. Sequences of slugs merge at some distance from the pipe inlet to finally form the state of fully developed turbulent pipe flow. This formation process is generally known, but the randomness in time of naturally occurring slug formation does not permit detailed study of slug flows. For this reason, a special test facility was developed and built for detailed investigation of deterministically generated slugs in pipe flows. It is also employed to generate the puff flows at lower Reynolds numbers. The results reveal a high degree of reproducibility with which the triggering device is able to produce puffs. With increasing Reynolds number, 'puff splitting' is observed and the split puffs develop into slugs. Thereafter, the laminar-to-turbulent transition occurs in the same way as found for slug flows. The ring-type obstacle height, h, required to trigger fully developed laminar flows to form first slugs or puffs is determined to show its dependence on the Reynolds number, Re = DU/ν (where D is the pipe diameter, U is the mean velocity in the axial direction and ν is the kinematic viscosity of the fluid). When correctly normalized, h + turns out to be independent of Re τ (where h + = hU τ /ν, Re τ = DU τ /ν and U τ = √ τ w /ρ; τ w is the wall shear stress and ρ is the density of the fluid).