This article is the first of a two-part series intended as an introduction to haptic interfaces. Together they provide a general introduction to haptic interfaces, their construction, and application design. Haptic interfaces comprise hardware and software components aiming at providing computer-controlled, programmable sensations of mechanical nature, i.e., pertaining to the sense of touch. In Part I, we describe methods that have been researched and developed to date to achieve the generation of haptic sensations, the means to construct experimental devices of modest complexity, and the software components needed to drive them. In Part II of this series, we will describe some basic concepts of haptic interaction design together with several interesting applications based on this technology.