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 (A) 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 (A) of the first pin , and partially rotate, about a second axis (B) perpendicular to the first longitudinal axis (A) 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 (A) 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 (A) of the first pin , and partially rotate, about a second axis (B) perpendicular to the first longitudinal axis (A) 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 . <EOS>