An adaptive output feedback controller for robot arms is developed in this paper. To estimate the joint velocities, a simple nonlinear observer based on the desired velocity and bounded position tracking error is proposed. The closed-loop system formed by the adaptive controller, observer and the robot system is shown to be semi-global asymptotically stable. Extensive experiments conducted on a two link robot manipulator confirm the effectiveness of the proposed controller–observer structure. To highlight the performance of the proposed scheme, it is compared via experiments with a well-known passivity based control algorithm.