An universal joint assembly device, comprising: a socket having a housing and an aperture within the housing, the socket configured to receive a ball and a first pin at least partially in the aperture; a drive shaft extending in a longitudinal direction; the ball coupled to the drive shaft and disposed at least partially in the socket and configured to rotate within the socket, the ball comprising an elongated opening extending through the ball, the elongated opening including an aperture through the ball and having an inside diameter that is less than the perimeter of the elongated opening on the surface of the ball, the perimeter of the elongated opening extending in a longitudinal direction that is aligned with the longitudinal direction of the drive shaft, the first pin coupled to the socket and disposed at least partially in the socket, the first pin comprising a first longitudinal axis and extending through the elongated opening of the ball between opposite sides of the socket; and a biasing mechanism biased to exert a force on the ball in at least one direction, the biasing mechanism comprising a spring; wherein the ball is configured to partially rotate about the first longitudinal axis of the first pin, and partially rotate, about a second axis perpendicular to the first longitudinal axis of the first pin, in a plane aligned with the elongated opening characterized in that the biasing mechanism further comprises a contact component positioned between the ball and the spring, the contact component having a surface that contacts the ball, the biasing mechanism coupled to the socket by a second pin; and and in that the device further comprises a fitting for holding a tool having an inner component integral with the socket and having an outer component, the outer component coupled to the inner component and the socket by the second pin. a socket having a housing and an aperture within the housing, the socket configured to receive a ball and a first pin at least partially in the aperture; a drive shaft extending in a longitudinal direction; the ball coupled to the drive shaft and disposed at least partially in the socket and configured to rotate within the socket, the ball comprising an elongated opening extending through the ball, the elongated opening including an aperture through the ball and having an inside diameter that is less than the perimeter of the elongated opening on the surface of the ball, the perimeter of the elongated opening extending in a longitudinal direction that is aligned with the longitudinal direction of the drive shaft, the first pin coupled to the socket and disposed at least partially in the socket, the first pin comprising a first longitudinal axis and extending through the elongated opening of the ball between opposite sides of the socket; and a biasing mechanism biased to exert a force on the ball in at least one direction, the biasing mechanism comprising a spring; wherein the ball is configured to partially rotate about the first longitudinal axis of the first pin, and partially rotate, about a second axis perpendicular to the first longitudinal axis of the first pin, in a plane aligned with the elongated opening characterized in that the biasing mechanism further comprises a contact component positioned between the ball and the spring, the contact component having a surface that contacts the ball, the biasing mechanism coupled to the socket by a second pin; and and in that the device further comprises a fitting for holding a tool having an inner component integral with the socket and having an outer component, the outer component coupled to the inner component and the socket by the second pin.